Files
History_Api/db/query/roles.sql
AzenKain f04441bf2a
Some checks failed
Build and Release / release (push) Failing after 1m25s
UPDATE: Auth module, User module
2026-03-30 00:27:57 +07:00

64 lines
1.3 KiB
SQL

-- name: CreateRole :one
INSERT INTO roles (name)
VALUES ($1)
RETURNING *;
-- name: GetRoleByName :one
SELECT id, name, is_deleted, created_at, updated_at FROM roles
WHERE name = $1 AND is_deleted = false;
-- name: GetRoleByID :one
SELECT id, name, is_deleted, created_at, updated_at FROM roles
WHERE id = $1 AND is_deleted = false;
-- name: GetRolesByIDs :many
SELECT id, name, is_deleted, created_at, updated_at
FROM roles
WHERE id = ANY($1::uuid[]) AND is_deleted = false;
-- name: AddUserRole :exec
INSERT INTO user_roles (user_id, role_id)
SELECT $1, unnest($2::uuid[])
ON CONFLICT DO NOTHING;
-- name: RemoveUserRole :exec
DELETE FROM user_roles ur
USING roles r
WHERE ur.role_id = r.id
AND ur.user_id = $1
AND r.name = $2;
-- name: RemoveAllRolesFromUser :exec
DELETE FROM user_roles
WHERE user_id = $1;
-- name: RemoveAllUsersFromRole :exec
DELETE FROM user_roles
WHERE role_id = $1;
-- name: GetRoles :many
SELECT *
FROM roles
WHERE is_deleted = false;
-- name: UpdateRole :one
UPDATE roles
SET
name = $1,
updated_at = now()
WHERE id = $2 AND is_deleted = false
RETURNING *;
-- name: DeleteRole :exec
UPDATE roles
SET
is_deleted = true,
updated_at = now()
WHERE id = $1;
-- name: RestoreRole :exec
UPDATE roles
SET
is_deleted = false,
updated_at = now()
WHERE id = $1;