83 lines
2.0 KiB
SQL
83 lines
2.0 KiB
SQL
-- name: GetAccount :one
|
|
SELECT * FROM accounts
|
|
WHERE "id" = $1 LIMIT 1;
|
|
|
|
-- name: GetAccountByEmail :one
|
|
SELECT * FROM accounts
|
|
WHERE "email" = $1 LIMIT 1;
|
|
|
|
-- name: GetAccountForUpdate :one
|
|
SELECT * FROM accounts
|
|
WHERE "id" = $1 LIMIT 1
|
|
FOR NO KEY UPDATE;
|
|
|
|
-- name: CreateAccount :one
|
|
INSERT INTO accounts (
|
|
"passwordhash",
|
|
"privacy_accepted",
|
|
"privacy_accepted_date",
|
|
"firstname",
|
|
"lastname",
|
|
"birthday",
|
|
"email",
|
|
"phone",
|
|
"city",
|
|
"zip",
|
|
"street",
|
|
"country",
|
|
"creator",
|
|
"changer"
|
|
) VALUES (
|
|
sqlc.arg(passwordhash),
|
|
sqlc.arg(privacy_accepted),
|
|
sqlc.arg(privacy_accepted_date),
|
|
sqlc.arg(firstname),
|
|
sqlc.arg(lastname),
|
|
sqlc.arg(birthday),
|
|
sqlc.arg(email),
|
|
sqlc.arg(phone),
|
|
sqlc.arg(city),
|
|
sqlc.arg(zip),
|
|
sqlc.arg(street),
|
|
sqlc.arg(country),
|
|
sqlc.arg(creator),
|
|
sqlc.arg(creator)
|
|
) RETURNING *;
|
|
|
|
-- name: ListAccounts :many
|
|
SELECT * FROM accounts
|
|
ORDER BY "lastname", "firstname"
|
|
LIMIT $1
|
|
OFFSET $2;
|
|
|
|
-- name: UpdateAccount :one
|
|
UPDATE accounts
|
|
SET
|
|
"passwordhash" = COALESCE(sqlc.narg(passwordhash), "passwordhash"),
|
|
"firstname" = COALESCE(sqlc.narg(firstname), "firstname"),
|
|
"lastname" = COALESCE(sqlc.narg(lastname), "lastname"),
|
|
"birthday" = COALESCE(sqlc.narg(birthday), "birthday"),
|
|
"email" = COALESCE(sqlc.narg(email), "email"),
|
|
"phone" = COALESCE(sqlc.narg(phone), "phone"),
|
|
"city" = COALESCE(sqlc.narg(city), "city"),
|
|
"zip" = COALESCE(sqlc.narg(zip), "zip"),
|
|
"street" = COALESCE(sqlc.narg(street), "street"),
|
|
"country" = COALESCE(sqlc.narg(country), "country"),
|
|
"changer" = $2,
|
|
"changed" = now()
|
|
WHERE "id" = $1
|
|
RETURNING *;
|
|
|
|
-- name: UpdateAccountPrivacy :one
|
|
UPDATE accounts
|
|
SET
|
|
"privacy_accepted" = sqlc.arg(privacy_accepted),
|
|
"privacy_accepted_date" = sqlc.arg(privacy_accepted_date),
|
|
"changer" = sqlc.arg(changer),
|
|
"changed" = now()
|
|
WHERE "id" = sqlc.arg(id)
|
|
RETURNING *;
|
|
|
|
-- name: DeleteAccount :exec
|
|
DELETE FROM accounts
|
|
WHERE "id" = $1; |