Init
This commit is contained in:
61
db/query/roles.sql
Normal file
61
db/query/roles.sql
Normal file
@@ -0,0 +1,61 @@
|
||||
-- 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: AddUserRole :exec
|
||||
INSERT INTO user_roles (user_id, role_id)
|
||||
SELECT $1, r.id
|
||||
FROM roles r
|
||||
WHERE r.name = $2
|
||||
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;
|
||||
Reference in New Issue
Block a user