59 lines
1.4 KiB
SQL
59 lines
1.4 KiB
SQL
-- name: CreateApi :one
|
|
INSERT INTO sys_apis (name, group_name, method, path, sort)
|
|
VALUES ($1, $2, $3, $4, $5)
|
|
RETURNING id;
|
|
|
|
-- name: ListAllApis :many
|
|
SELECT *
|
|
FROM sys_apis
|
|
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: CountApis :one
|
|
SELECT COUNT(*)
|
|
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'));
|
|
|
|
-- name: GetApiByID :one
|
|
SELECT *
|
|
FROM sys_apis
|
|
WHERE id = $1;
|
|
|
|
-- name: UpdateApi :execrows
|
|
UPDATE sys_apis
|
|
SET name = $2,
|
|
method = $3,
|
|
path = $4,
|
|
sort = $5,
|
|
group_name = $6
|
|
WHERE id = $1;
|
|
|
|
-- name: DeleteApi :execrows
|
|
DELETE
|
|
FROM sys_apis
|
|
WHERE id = $1;
|
|
|
|
-- name: CreateApiPermission :exec
|
|
INSERT INTO sys_api_permission (api_id, permission_id)
|
|
VALUES ($1, $2);
|
|
|
|
-- name: DeleteApiPermission :exec
|
|
DELETE
|
|
FROM sys_api_permission
|
|
WHERE api_id = $1;
|
|
|
|
-- name: ListApiGroups :many
|
|
SELECT DISTINCT group_name
|
|
FROM sys_apis;
|
|
|