80 lines
2.1 KiB
SQL
80 lines
2.1 KiB
SQL
-- name: CreateSysUser :one
|
|
INSERT INTO sys_user (
|
|
uuid,
|
|
email,
|
|
username,
|
|
hashed_password,
|
|
salt,
|
|
avatar,
|
|
gender,
|
|
department_id,
|
|
role_id,
|
|
status,
|
|
change_password_at,
|
|
created_at,
|
|
updated_at
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13
|
|
) RETURNING *;
|
|
|
|
-- name: UpdateSysUser :one
|
|
UPDATE sys_user
|
|
SET username = $2,
|
|
hashed_password = $3,
|
|
avatar = $4,
|
|
gender = $5,
|
|
department_id = $6,
|
|
role_id = $7,
|
|
status = $8,
|
|
change_password_at = $9,
|
|
updated_at = $10
|
|
WHERE id = $1
|
|
RETURNING *;
|
|
|
|
-- name: GetSysUser :one
|
|
SELECT * FROM sys_user
|
|
WHERE id = $1 LIMIT 1;
|
|
|
|
-- name: GetSysUserByEmail :one
|
|
SELECT * FROM sys_user
|
|
WHERE email = $1 LIMIT 1;
|
|
|
|
-- name: CountSysUser :one
|
|
SELECT COUNT(*) FROM sys_user
|
|
WHERE status = 0;
|
|
|
|
-- name: ListSysUser :many
|
|
SELECT * FROM sys_user
|
|
WHERE status = 0
|
|
ORDER BY created_at DESC;
|
|
|
|
-- name: CountSysUserCondition :one
|
|
SELECT COUNT(*) FROM sys_user
|
|
WHERE (NOT @is_status::Boolean OR status = @status)
|
|
AND (NOT @is_id::Boolean OR id = @id)
|
|
AND (@username::text = '' OR username ILIKE '%' || @username || '%')
|
|
AND (@email::text = '' OR email ILIKE '%' || @email || '%');
|
|
|
|
-- name: ListSysUserCondition :many
|
|
SELECT id, uuid, email, username, avatar, gender, department_id, role_id, status, change_password_at, created_at, updated_at,
|
|
(SELECT name FROM sys_department WHERE ID = sys_user.department_id) AS department_name,
|
|
(SELECT display_name
|
|
FROM sys_role
|
|
WHERE id = sys_user.role_id) AS role_name
|
|
FROM sys_user
|
|
WHERE (NOT @is_status::Boolean OR sys_user.status = @status)
|
|
AND (NOT @is_id::Boolean OR sys_user.id = @id)
|
|
AND (@username::text = '' OR sys_user.username ILIKE '%' || @username || '%')
|
|
AND (@email::text = '' OR sys_user.email ILIKE '%' || @email || '%')
|
|
ORDER BY created_at DESC
|
|
OFFSET @skip
|
|
LIMIT @size;
|
|
|
|
-- name: ExistsSysUser :one
|
|
SELECT EXISTS (
|
|
SELECT 1 FROM sys_user
|
|
);
|
|
|
|
-- name: ListSysUserByIds :many
|
|
SELECT * FROM sys_user
|
|
WHERE id = ANY($1::int[]); |