76 lines
1.7 KiB
SQL
76 lines
1.7 KiB
SQL
-- name: CreateSysRole :one
|
|
INSERT INTO sys_role (
|
|
name,
|
|
display_name,
|
|
vip,
|
|
parent_id,
|
|
parent_path,
|
|
status,
|
|
created_at,
|
|
updated_at
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, $8
|
|
) RETURNING *;
|
|
|
|
-- name: UpdateSysRole :one
|
|
UPDATE sys_role
|
|
SET display_name = $2,
|
|
status = $3,
|
|
parent_id = $4,
|
|
parent_path = $5,
|
|
sort = $6,
|
|
updated_at = $7
|
|
WHERE id = $1
|
|
RETURNING *;
|
|
|
|
-- name: GetSysRole :one
|
|
SELECT * FROM sys_role
|
|
WHERE id = $1 LIMIT 1;
|
|
|
|
-- name: CountSysRole :one
|
|
SELECT count(*) FROM sys_role
|
|
WHERE status = 0;
|
|
|
|
-- name: ListSysRole :many
|
|
SELECT * FROM sys_role
|
|
WHERE status = 0;
|
|
|
|
-- name: AllSysRole :many
|
|
SELECT * FROM sys_role
|
|
WHERE status = 0
|
|
ORDER BY sort DESC;
|
|
|
|
-- name: GetSysRoleByUserID :one
|
|
SELECT * FROM sys_role
|
|
WHERE id = (SELECT role_id
|
|
FROM sys_user
|
|
WHERE sys_user.id = $1);
|
|
|
|
-- name: ExistsVipRole :one
|
|
SELECT EXISTS (
|
|
SELECT 1 FROM sys_role
|
|
WHERE vip = true
|
|
);
|
|
|
|
-- name: GetFirstVipRole :one
|
|
SELECT * FROM sys_role
|
|
WHERE vip = true
|
|
ORDER BY id ASC
|
|
LIMIT 1;
|
|
|
|
-- name: CountSysRoleCondition :one
|
|
SELECT COUNT(*) FROM sys_role
|
|
WHERE (NOT @is_status::Boolean OR status = @status)
|
|
AND (NOT @is_id::Boolean OR id = @id)
|
|
AND (NOT @is_parent_id::Boolean OR parent_id = @parent_id)
|
|
AND (@display_name::text = '' OR display_name ILIKE '%' || @display_name || '%');
|
|
|
|
-- name: ListSysRoleCondition :many
|
|
SELECT * FROM sys_role
|
|
WHERE (NOT @is_status::Boolean OR status = @status)
|
|
AND (NOT @is_id::Boolean OR id = @id)
|
|
AND (NOT @is_parent_id::Boolean OR parent_id = @parent_id)
|
|
AND (@display_name::text = '' OR display_name ILIKE '%' || @display_name || '%')
|
|
ORDER BY created_at DESC
|
|
OFFSET @skip
|
|
LIMIT @size; |