48 lines
No EOL
826 B
SQL
48 lines
No EOL
826 B
SQL
-- name: CreateIdentity :one
|
|
INSERT INTO "identity" (
|
|
"login",
|
|
"passphrase",
|
|
"is_admin",
|
|
"is_disabled"
|
|
) VALUES (
|
|
$1,
|
|
$2,
|
|
$3,
|
|
$4
|
|
) RETURNING *;
|
|
|
|
-- name: GetIdentityByID :one
|
|
SELECT * FROM "identity"
|
|
WHERE "id" = $1
|
|
LIMIT 1;
|
|
|
|
-- name: GetIdentityByLogin :one
|
|
SELECT * FROM "identity"
|
|
WHERE "login" = $1
|
|
LIMIT 1;
|
|
|
|
-- name: GetIdentityByPrimaryEmail :one
|
|
SELECT * FROM "identity"
|
|
INNER JOIN "email"
|
|
ON "email"."identity_id" = "identity"."id"
|
|
WHERE
|
|
"email"."address" = $1 AND
|
|
"email"."is_primary"
|
|
LIMIT 1;
|
|
|
|
-- name: UpdateIdentityPassphrase :exec
|
|
UPDATE "identity" SET (
|
|
"passphrase"
|
|
) = (
|
|
$2
|
|
) WHERE "id" = $1;
|
|
|
|
-- name: UpdateIdentityLogin :exec
|
|
UPDATE "identity" SET (
|
|
"login"
|
|
) = (
|
|
$2
|
|
) WHERE "id" = $1;
|
|
|
|
-- Name: DestroyIdentity :exec
|
|
DELETE FROM "identity" WHERE "id" = $1; |