44 lines
950 B
SQL
44 lines
950 B
SQL
-- name: CreateUser :exec
|
|
INSERT INTO users (id, username, name, password_hash, role, avatar_url, state, created_at)
|
|
VALUES ($1, $2, $3, $4, $5, '', '', $6);
|
|
|
|
-- name: GetUserByID :one
|
|
SELECT id, username, name, role, avatar_url, state, created_at
|
|
FROM users
|
|
WHERE id = $1;
|
|
|
|
-- name: GetUserByUsername :one
|
|
SELECT id, username, name, role, avatar_url, state, created_at, password_hash
|
|
FROM users
|
|
WHERE username = $1;
|
|
|
|
-- name: ListUsers :many
|
|
SELECT id, username, name, role, avatar_url, state, created_at
|
|
FROM users
|
|
ORDER BY created_at ASC;
|
|
|
|
-- name: CountAdmins :one
|
|
SELECT COUNT(*)::bigint AS count
|
|
FROM users
|
|
WHERE role = $1;
|
|
|
|
-- name: GetUserRole :one
|
|
SELECT role
|
|
FROM users
|
|
WHERE id = $1;
|
|
|
|
-- name: UpdateUserRole :execresult
|
|
UPDATE users
|
|
SET role = $1
|
|
WHERE id = $2;
|
|
|
|
-- name: UpdateUserState :exec
|
|
UPDATE users
|
|
SET state = $1
|
|
WHERE id = $2;
|
|
|
|
-- name: UpdateUserStateAndAvatar :exec
|
|
UPDATE users
|
|
SET state = $1, avatar_url = $2
|
|
WHERE id = $3;
|