41 lines
1.6 KiB
SQL
41 lines
1.6 KiB
SQL
-- name: GetUserIdentityByProviderSubject :one
|
|
SELECT id, user_id, provider, provider_subject, email, email_verified,
|
|
display_name, avatar_url, created_at, updated_at, last_login_at
|
|
FROM user_identities
|
|
WHERE provider = $1 AND provider_subject = $2;
|
|
|
|
-- name: ListUserIdentitiesByUser :many
|
|
SELECT id, user_id, provider, provider_subject, email, email_verified,
|
|
display_name, avatar_url, created_at, updated_at, last_login_at
|
|
FROM user_identities
|
|
WHERE user_id = $1
|
|
ORDER BY provider;
|
|
|
|
-- name: InsertUserIdentity :one
|
|
INSERT INTO user_identities (
|
|
user_id, provider, provider_subject, email, email_verified,
|
|
display_name, avatar_url, last_login_at
|
|
)
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7, now())
|
|
RETURNING id, user_id, provider, provider_subject, email, email_verified,
|
|
display_name, avatar_url, created_at, updated_at, last_login_at;
|
|
|
|
-- name: UpdateUserIdentityLogin :one
|
|
UPDATE user_identities
|
|
SET email = $3,
|
|
email_verified = $4,
|
|
display_name = COALESCE($5, display_name),
|
|
avatar_url = COALESCE($6, avatar_url),
|
|
last_login_at = now(),
|
|
updated_at = now()
|
|
WHERE provider = $1 AND provider_subject = $2
|
|
RETURNING id, user_id, provider, provider_subject, email, email_verified,
|
|
display_name, avatar_url, created_at, updated_at, last_login_at;
|
|
|
|
-- name: UpdateUserIdentityEmail :one
|
|
UPDATE user_identities
|
|
SET email = $3,
|
|
updated_at = now()
|
|
WHERE provider = $1 AND provider_subject = $2
|
|
RETURNING id, user_id, provider, provider_subject, email, email_verified,
|
|
display_name, avatar_url, created_at, updated_at, last_login_at;
|