feat: 统一sql命名、函数命名
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
-- name: CreateFile :one
|
||||
INSERT INTO files(file_name, file_path, original_name, folder_name, mime_type, file_size)
|
||||
VALUES ($1, $2, $3, $4, $5, $6) RETURNING id,file_path,file_name;
|
||||
INSERT INTO files(file_name, file_path, original_name, folder_name, mime_type, file_size, file_url)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
||||
RETURNING id,file_url,file_name;
|
||||
|
||||
-- name: GetFiles :many
|
||||
-- name: ListFiles :many
|
||||
SELECT *
|
||||
FROM files
|
||||
ORDER BY id LIMIT $1
|
||||
OFFSET $2;
|
||||
ORDER BY id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: CountFiles :one
|
||||
SELECT COUNT(*)
|
||||
|
||||
@@ -22,7 +22,7 @@ WITH paginated_posts AS (
|
||||
)
|
||||
-- 第二步:用这极少量的记录去进行 JOIN
|
||||
SELECT p.*,
|
||||
f.file_path AS cover,
|
||||
f.file_url AS cover,
|
||||
c.name AS category_name,
|
||||
c.id AS category_id,
|
||||
COALESCE(ps.view, 0) AS view,
|
||||
@@ -54,7 +54,7 @@ GROUP BY p.id,
|
||||
p.published_at,
|
||||
p.created_at,
|
||||
p.updated_at,
|
||||
f.file_path,
|
||||
f.file_url,
|
||||
c.name,
|
||||
c.id,
|
||||
ps.view
|
||||
@@ -64,9 +64,9 @@ ORDER BY p.sort DESC, p.published_at DESC, p.id DESC;
|
||||
SELECT COUNT(*)
|
||||
FROM posts;
|
||||
|
||||
-- name: GetPostById :one
|
||||
-- name: GetPostByID :one
|
||||
SELECT p.*,
|
||||
f.file_path AS cover,
|
||||
f.file_url AS cover,
|
||||
c.name AS category_name,
|
||||
c.id AS category_id,
|
||||
COALESCE(
|
||||
@@ -80,7 +80,7 @@ FROM posts p
|
||||
LEFT JOIN post_tag pt ON pt.post_id = p.id
|
||||
WHERE p.id = $1
|
||||
GROUP BY p.id,
|
||||
f.file_path,
|
||||
f.file_url,
|
||||
c.name,
|
||||
c.id
|
||||
LIMIT 1;
|
||||
@@ -106,7 +106,7 @@ WHERE id = $1;
|
||||
|
||||
-- name: GetPublicPostBySlug :one
|
||||
SELECT p.*,
|
||||
f.file_path AS cover,
|
||||
f.file_url AS cover,
|
||||
COALESCE(ps.view, 0) AS view
|
||||
FROM posts p
|
||||
LEFT JOIN files f ON f.id = p.cover_id
|
||||
@@ -132,7 +132,7 @@ WITH paginated_posts AS (
|
||||
ORDER BY sort DESC, published_at DESC, id DESC
|
||||
LIMIT $1 OFFSET $2)
|
||||
SELECT p.*,
|
||||
f.file_path AS cover,
|
||||
f.file_url AS cover,
|
||||
c.name AS category_name,
|
||||
c.id AS category_id,
|
||||
COALESCE(ps.view, 0) AS view,
|
||||
@@ -161,7 +161,7 @@ GROUP BY p.id,
|
||||
p.summary,
|
||||
p.sort,
|
||||
p.published_at,
|
||||
f.file_path,
|
||||
f.file_url,
|
||||
c.name,
|
||||
c.id,
|
||||
ps.view
|
||||
|
||||
@@ -1,28 +1,35 @@
|
||||
-- name: CreateSysApi :one
|
||||
-- name: CreateApi :one
|
||||
INSERT INTO sys_apis (name, group_name, method, path, sort)
|
||||
VALUES ($1, $2, $3, $4, $5)
|
||||
RETURNING id;
|
||||
|
||||
-- name: GetSysApis :many
|
||||
-- name: ListAllApis :many
|
||||
SELECT *
|
||||
FROM sys_apis
|
||||
WHERE (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
|
||||
ORDER BY sort ASC;
|
||||
|
||||
-- name: ListApis :many
|
||||
SELECT *
|
||||
FROM sys_apis
|
||||
WHERE (sqlc.arg('name')::text = '' OR name ILIKE '%' || sqlc.arg('name') || '%')
|
||||
AND (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
|
||||
AND (sqlc.arg('method')::text = '' OR method = sqlc.arg('method'))
|
||||
ORDER BY id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: CountSysApis :one
|
||||
-- name: CountApis :one
|
||||
SELECT COUNT(*)
|
||||
FROM sys_apis
|
||||
WHERE (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
|
||||
WHERE (sqlc.arg('name')::text = '' OR name ILIKE '%' || sqlc.arg('name') || '%')
|
||||
AND (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
|
||||
AND (sqlc.arg('method')::text = '' OR method = sqlc.arg('method'));
|
||||
|
||||
-- name: GetSysApiByID :one
|
||||
-- name: GetApiByID :one
|
||||
SELECT *
|
||||
FROM sys_apis
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: UpdateSysApi :execrows
|
||||
-- name: UpdateApi :execrows
|
||||
UPDATE sys_apis
|
||||
SET name = $2,
|
||||
method = $3,
|
||||
@@ -31,25 +38,21 @@ SET name = $2,
|
||||
group_name = $6
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: DeleteSysApi :execrows
|
||||
-- name: DeleteApi :execrows
|
||||
DELETE
|
||||
FROM sys_apis
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: CreateSysApiPermission :exec
|
||||
-- name: CreateApiPermission :exec
|
||||
INSERT INTO sys_api_permission (api_id, permission_id)
|
||||
VALUES ($1, $2);
|
||||
|
||||
-- name: DeleteSysApiPermission :exec
|
||||
-- name: DeleteApiPermission :exec
|
||||
DELETE
|
||||
FROM sys_api_permission
|
||||
WHERE api_id = $1;
|
||||
|
||||
-- name: GetSysApiGroupNames :many
|
||||
-- name: ListApiGroups :many
|
||||
SELECT DISTINCT group_name
|
||||
FROM sys_apis;
|
||||
|
||||
-- name: GetAllSysApis :many
|
||||
SELECT *
|
||||
FROM sys_apis
|
||||
ORDER BY sort ASC;
|
||||
@@ -1,9 +1,9 @@
|
||||
-- name: CreateSysMenu :one
|
||||
-- name: CreateMenu :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
|
||||
-- name: ListMenus :many
|
||||
SELECT m.*, p.code AS permission_code
|
||||
FROM sys_menus m
|
||||
LEFT JOIN sys_menu_permission mp ON m.id = mp.menu_id
|
||||
@@ -11,11 +11,11 @@ FROM sys_menus m
|
||||
ORDER BY m.id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: CountSysMenus :one
|
||||
-- name: CountMenus :one
|
||||
SELECT COUNT(*)
|
||||
FROM sys_menus;
|
||||
|
||||
-- name: GetAllSysMenus :many
|
||||
-- name: ListAllMenus :many
|
||||
SELECT m.*,
|
||||
p.code AS permission_code
|
||||
FROM sys_menus m
|
||||
@@ -24,12 +24,12 @@ FROM sys_menus m
|
||||
ORDER BY m.sort ASC,
|
||||
m.id ASC;
|
||||
|
||||
-- name: GetSysMenuByID :one
|
||||
-- name: GetMenuByID :one
|
||||
SELECT *
|
||||
FROM sys_menus
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: UpdateSysMenu :execrows
|
||||
-- name: UpdateMenu :execrows
|
||||
UPDATE sys_menus
|
||||
SET name = coalesce(sqlc.narg('name'), name),
|
||||
path = coalesce(sqlc.narg('path'), path),
|
||||
@@ -42,28 +42,28 @@ SET name = coalesce(sqlc.narg('name'), name),
|
||||
parent_id = CASE WHEN @update_parent_id::boolean THEN @parent_id ELSE parent_id END
|
||||
WHERE id = sqlc.arg('id');
|
||||
|
||||
-- name: DeleteSysMenu :execrows
|
||||
-- name: DeleteMenu :execrows
|
||||
DELETE
|
||||
FROM sys_menus
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: CreateSysMenuPermission :exec
|
||||
-- name: CreateMenuPermission :exec
|
||||
INSERT INTO sys_menu_permission (menu_id, permission_id)
|
||||
VALUES ($1, $2);
|
||||
|
||||
-- name: DeleteSysMenuPermission :exec
|
||||
-- name: DeleteMenuPermission :exec
|
||||
DELETE
|
||||
FROM sys_menu_permission
|
||||
WHERE menu_id = $1;
|
||||
|
||||
-- name: DeleteSysPermissionByMenuID :exec
|
||||
-- name: DeletePermissionsByMenuID :exec
|
||||
DELETE
|
||||
FROM sys_permissions
|
||||
WHERE id IN (SELECT permission_id
|
||||
FROM sys_menu_permission
|
||||
WHERE menu_id = $1);
|
||||
|
||||
-- name: UpdateSysMenuPermissionCode :exec
|
||||
-- name: UpdateMenuPermissionCode :exec
|
||||
UPDATE sys_permissions p
|
||||
SET code = coalesce(sqlc.narg('code'), code)
|
||||
FROM sys_menu_permission mp
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
-- name: CreateSysPermission :one
|
||||
-- name: CreatePermission :one
|
||||
INSERT INTO sys_permissions(type,code)
|
||||
VALUES ($1,$2) RETURNING id;
|
||||
|
||||
-- name: UpdateSysPermission :exec
|
||||
-- name: UpdatePermission :exec
|
||||
UPDATE sys_permissions
|
||||
SET code = $2
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: DeleteSysPermission :exec
|
||||
-- name: DeletePermission :exec
|
||||
DELETE
|
||||
FROM sys_permissions
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: GetSysPermissionIDBySysApiID :one
|
||||
-- name: GetPermissionIDBySysApiID :one
|
||||
SELECT permission_id
|
||||
FROM sys_api_permission
|
||||
WHERE api_id = $1;
|
||||
|
||||
-- name: GetSysPermissionIDBySysMenuID :one
|
||||
-- name: GetPermissionIDBySysMenuID :one
|
||||
SELECT permission_id
|
||||
FROM sys_menu_permission
|
||||
WHERE menu_id = $1;
|
||||
@@ -1,23 +1,27 @@
|
||||
-- name: CreateSysRole :exec
|
||||
-- name: CreateRole :exec
|
||||
INSERT INTO sys_roles (name, code, status)
|
||||
VALUES ($1, $2, $3);
|
||||
|
||||
-- name: ListSysRoles :many
|
||||
-- name: ListAllRoles :many
|
||||
SELECT *
|
||||
from sys_roles;
|
||||
|
||||
-- name: ListRoles :many
|
||||
SELECT *
|
||||
FROM sys_roles
|
||||
ORDER BY id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: CountSysRoles :one
|
||||
-- name: CountRoles :one
|
||||
SELECT COUNT(*)
|
||||
FROM sys_roles;
|
||||
|
||||
-- name: GetSysRoleByID :one
|
||||
-- name: GetRoleByID :one
|
||||
SELECT *
|
||||
FROM sys_roles
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: ExistsSysRoleCode :one
|
||||
-- name: ExistsRoleCode :one
|
||||
SELECT EXISTS(SELECT 1
|
||||
FROM sys_roles
|
||||
WHERE code = sqlc.arg(code)
|
||||
@@ -26,67 +30,65 @@ SELECT EXISTS(SELECT 1
|
||||
OR id <> sqlc.narg(id)::integer
|
||||
));
|
||||
|
||||
-- name: UpdateSysRole :execrows
|
||||
-- name: UpdateRole :execrows
|
||||
UPDATE sys_roles
|
||||
SET name = coalesce(sqlc.narg('name'), name),
|
||||
status = coalesce(sqlc.narg('status'), status)
|
||||
WHERE id = sqlc.arg('id');
|
||||
|
||||
-- name: DeleteSysRole :execrows
|
||||
-- name: DeleteRole :execrows
|
||||
DELETE
|
||||
FROM sys_roles
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: CreateSysRolePermission :copyfrom
|
||||
-- name: CreateRolePermission :copyfrom
|
||||
INSERT INTO sys_role_permission (role_id, permission_id)
|
||||
VALUES ($1, $2);
|
||||
|
||||
-- name: GetSysPermissionIdsByMenuIDs :many
|
||||
-- name: ListPermissionIDsByMenuIDs :many
|
||||
SELECT permission_id
|
||||
FROM sys_menu_permission
|
||||
WHERE menu_id = ANY ($1::int[]);
|
||||
|
||||
-- name: GetSysPermissionIdsByApiIDs :many
|
||||
-- name: ListPermissionIDsByApiIDs :many
|
||||
SELECT permission_id
|
||||
FROM sys_api_permission
|
||||
WHERE api_id = ANY ($1::int[]);
|
||||
|
||||
-- name: GetAllSysRoles :many
|
||||
SELECT *
|
||||
from sys_roles;
|
||||
|
||||
-- name: GetSysRoleMenus :many
|
||||
|
||||
-- name: ListRoleMenus :many
|
||||
SELECT m.id, m.name
|
||||
FROM sys_role_permission rp
|
||||
JOIN sys_menu_permission mp ON mp.permission_id = rp.permission_id
|
||||
JOIN sys_menus m ON m.id = mp.menu_id
|
||||
WHERE rp.role_id = $1;
|
||||
|
||||
-- name: GetSysRoleApis :many
|
||||
-- name: ListRoleApis :many
|
||||
SELECT a.id, a."name"
|
||||
FROM sys_role_permission rp
|
||||
JOIN sys_api_permission ap ON ap.permission_id = rp.permission_id
|
||||
JOIN sys_apis a ON a.id = ap.api_id
|
||||
WHERE rp.role_id = $1;
|
||||
|
||||
-- name: DeleteSysRolePermissionByType :exec
|
||||
-- name: DeleteRolePermissionsByType :exec
|
||||
DELETE
|
||||
FROM sys_role_permission rp USING sys_permissions p
|
||||
WHERE rp.permission_id = p.id
|
||||
AND rp.role_id = $1
|
||||
AND p."type" = $2;
|
||||
|
||||
-- name: DeleteSysRolePermissionByRoleID :exec
|
||||
-- name: DeleteRolePermissionsByRoleID :exec
|
||||
DELETE
|
||||
FROM sys_role_permission
|
||||
WHERE role_id = $1;
|
||||
|
||||
-- name: DeleteSysRolePermissionByPermissionID :exec
|
||||
-- name: DeleteRolePermissionByPermissionID :exec
|
||||
DELETE
|
||||
FROM sys_role_permission
|
||||
WHERE permission_id = $1;
|
||||
|
||||
-- name: DeleteSysUserRoleByRoleID :exec
|
||||
-- name: DeleteUserRoleByRoleID :exec
|
||||
DELETE
|
||||
FROM sys_user_role
|
||||
WHERE role_id = $1;
|
||||
@@ -1,48 +1,48 @@
|
||||
-- name: CreateSysUser :exec
|
||||
-- name: CreateUser :exec
|
||||
INSERT INTO sys_users (account, username, password_hash, status, avatar_id)
|
||||
VALUES ($1, $2, $3, $4, $5);
|
||||
|
||||
-- name: GetActiveSysUserByID :one
|
||||
-- name: GetActiveUserByID :one
|
||||
-- 场景:用户登录、获取个人信息、刷新 Token(严格校验 status = 1)
|
||||
SELECT id, account, username, status
|
||||
FROM sys_users
|
||||
WHERE id = $1
|
||||
AND status = 1;
|
||||
|
||||
-- name: GetSysUserByID :one
|
||||
-- name: GetUserByID :one
|
||||
SELECT u.id,
|
||||
u.account,
|
||||
u.username,
|
||||
u.avatar_id,
|
||||
u.status,
|
||||
f.file_path AS avatar_url,
|
||||
f.file_url AS avatar_url,
|
||||
u.created_at,
|
||||
u.updated_at
|
||||
FROM sys_users u
|
||||
LEFT JOIN files f ON u.avatar_id = f.id
|
||||
WHERE u.id = $1;
|
||||
|
||||
-- name: GetSysUserByAccount :one
|
||||
-- name: GetUserByAccount :one
|
||||
SELECT u.id,
|
||||
u.account,
|
||||
u.username,
|
||||
u.password_hash,
|
||||
u.status,
|
||||
u.avatar_id,
|
||||
f.file_path AS avatar_url,
|
||||
f.file_url AS avatar_url,
|
||||
u.created_at,
|
||||
u.updated_at
|
||||
FROM sys_users u
|
||||
LEFT JOIN files f ON u.avatar_id = f.id
|
||||
WHERE u.account = $1;
|
||||
|
||||
-- name: ListSysUsers :many
|
||||
-- name: ListUsers :many
|
||||
SELECT u.id,
|
||||
u.account,
|
||||
u.username,
|
||||
u.status,
|
||||
u.avatar_id,
|
||||
f.file_path AS avatar_url,
|
||||
f.file_url AS avatar_url,
|
||||
u.created_at,
|
||||
u.updated_at
|
||||
FROM sys_users u
|
||||
@@ -51,57 +51,57 @@ WHERE (sqlc.arg('username')::text = '' OR u.username ILIKE '%' || sqlc.arg('user
|
||||
ORDER BY u.id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: CountSysUsers :one
|
||||
-- name: CountUsers :one
|
||||
SELECT COUNT(*)
|
||||
FROM sys_users
|
||||
WHERE (sqlc.arg('username')::text = '' OR username ILIKE '%' || sqlc.arg('username') || '%');
|
||||
|
||||
-- name: UpdateSysUser :execrows
|
||||
-- name: UpdateUser :execrows
|
||||
UPDATE sys_users
|
||||
SET username = coalesce(sqlc.narg('username'), username),
|
||||
status = coalesce(sqlc.narg('status'), status),
|
||||
avatar_id = CASE WHEN @update_avatar_id::boolean THEN @avatar_id ELSE avatar_id END
|
||||
WHERE id = sqlc.arg('id');
|
||||
|
||||
-- name: UpdateSysUserPassword :execrows
|
||||
-- name: UpdateUserPassword :execrows
|
||||
UPDATE sys_users
|
||||
SET password_hash = $2
|
||||
WHERE id = $1;
|
||||
|
||||
-- name: DeleteSysUser :execrows
|
||||
-- name: DeleteUser :execrows
|
||||
DELETE
|
||||
FROM sys_users
|
||||
WHERE id = $1
|
||||
AND id <> 1;
|
||||
|
||||
-- name: ClearSysUserRoles :exec
|
||||
-- name: ClearUserRoles :exec
|
||||
DELETE
|
||||
FROM sys_user_role
|
||||
WHERE user_id = $1;
|
||||
|
||||
-- name: CreateSysUserRole :copyfrom
|
||||
-- name: CreateUserRole :copyfrom
|
||||
INSERT INTO sys_user_role (user_id, role_id)
|
||||
VALUES ($1, $2);
|
||||
|
||||
-- name: GetSysUserRoles :many
|
||||
-- name: ListUserRoles :many
|
||||
SELECT r.*
|
||||
FROM sys_roles r
|
||||
JOIN sys_user_role ur ON r.id = ur.role_id
|
||||
WHERE ur.user_id = $1;
|
||||
|
||||
-- name: GetSysAdminMenus :many
|
||||
-- name: ListAdminMenus :many
|
||||
SELECT *
|
||||
FROM sys_menus
|
||||
WHERE status = 1
|
||||
AND type <> 2
|
||||
ORDER BY sort, id;
|
||||
|
||||
-- name: GetSysAdminPermissions :many
|
||||
-- name: ListAdminPermissionCodes :many
|
||||
SELECT code
|
||||
FROM sys_permissions
|
||||
WHERE type = 0;
|
||||
|
||||
-- name: GetSysUserMenus :many
|
||||
-- name: ListUserMenus :many
|
||||
SELECT DISTINCT m.*
|
||||
FROM sys_users u
|
||||
JOIN sys_user_role ur ON ur.user_id = u.id
|
||||
@@ -116,7 +116,7 @@ WHERE u.id = $1
|
||||
AND m.type <> 2
|
||||
ORDER BY m.sort, m.id;
|
||||
|
||||
-- name: GetSysUserPermissions :many
|
||||
-- name: ListUserPermissionCodes :many
|
||||
SELECT DISTINCT p.code
|
||||
FROM sys_users u
|
||||
JOIN sys_user_role ur ON u.id = ur.user_id
|
||||
@@ -131,7 +131,7 @@ WHERE u.id = $1
|
||||
AND m.status = 1
|
||||
AND p."type" = 0;
|
||||
|
||||
-- name: GetSysUserApis :many
|
||||
-- name: ListUserApis :many
|
||||
SELECT DISTINCT a.id,
|
||||
a.PATH,
|
||||
a.METHOD
|
||||
|
||||
Reference in New Issue
Block a user