chore: initial commit
This commit is contained in:
71
internal/db/query/sys_menu.sql
Normal file
71
internal/db/query/sys_menu.sql
Normal file
@@ -0,0 +1,71 @@
|
||||
-- name: CreateSysMenu :one
|
||||
INSERT INTO sys_menus (name, path, component, type, hidden, sort, status, parent_id, icon)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
|
||||
RETURNING id;
|
||||
|
||||
-- name: ListSysMenus :many
|
||||
SELECT m.*, p.code AS permission_code
|
||||
FROM sys_menus m
|
||||
LEFT JOIN sys_menu_permission mp ON m.id = mp.menu_id
|
||||
LEFT JOIN sys_permissions p ON mp.permission_id = p.id
|
||||
ORDER BY m.id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: CountSysMenus :one
|
||||
SELECT COUNT(*)
|
||||
FROM sys_menus;
|
||||
|
||||
-- name: GetAllSysMenus :many
|
||||
SELECT m.*,
|
||||
p.code AS permission_code
|
||||
FROM sys_menus m
|
||||
LEFT JOIN sys_menu_permission mp ON m.id = mp.menu_id
|
||||
LEFT JOIN sys_permissions p ON p.id = mp.permission_id
|
||||
ORDER BY m.sort ASC,
|
||||
m.id ASC;
|
||||
|
||||
-- name: GetSysMenuByID :one
|
||||
SELECT *
|
||||
FROM sys_menus
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: UpdateSysMenu :execrows
|
||||
UPDATE sys_menus
|
||||
SET name = coalesce(sqlc.narg('name'), name),
|
||||
path = coalesce(sqlc.narg('path'), path),
|
||||
component = coalesce(sqlc.narg('component'), component),
|
||||
type = coalesce(sqlc.narg('type'), type),
|
||||
hidden = coalesce(sqlc.narg('hidden'), hidden),
|
||||
sort = coalesce(sqlc.narg('sort'), sort),
|
||||
status = coalesce(sqlc.narg('status'), status),
|
||||
icon = coalesce(sqlc.narg('icon'), status),
|
||||
parent_id = CASE WHEN @update_parent_id::boolean THEN @parent_id ELSE parent_id END
|
||||
WHERE id = sqlc.arg('id');
|
||||
|
||||
-- name: DeleteSysMenu :execrows
|
||||
DELETE
|
||||
FROM sys_menus
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: CreateSysMenuPermission :exec
|
||||
INSERT INTO sys_menu_permission (menu_id, permission_id)
|
||||
VALUES ($1, $2);
|
||||
|
||||
-- name: DeleteSysMenuPermission :exec
|
||||
DELETE
|
||||
FROM sys_menu_permission
|
||||
WHERE menu_id = $1;
|
||||
|
||||
-- name: DeleteSysPermissionByMenuID :exec
|
||||
DELETE
|
||||
FROM sys_permissions
|
||||
WHERE id IN (SELECT permission_id
|
||||
FROM sys_menu_permission
|
||||
WHERE menu_id = $1);
|
||||
|
||||
-- name: UpdateSysMenuPermissionCode :exec
|
||||
UPDATE sys_permissions p
|
||||
SET code = coalesce(sqlc.narg('code'), code)
|
||||
FROM sys_menu_permission mp
|
||||
WHERE p.id = mp.permission_id
|
||||
AND mp.menu_id = $1;
|
||||
Reference in New Issue
Block a user