admin/sql/seed_xhs_role_permissions.sql

50 lines
1.7 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 为客户角色(Code=Customer)批量追加小红书权限(幂等,可重复执行)
-- RBAC 库执行;role_permission.CreateUserId 为 INT,可写 0
INSERT INTO `role_permission` (`Id`, `RoleId`, `PermissionCode`, `CreateUserId`, `CreateTime`)
SELECT UUID(), r.`Id`, p.`Code`, 0, NOW()
FROM `role` r
CROSS JOIN (
SELECT 'Xhs.Agent.Query' AS `Code` UNION ALL
SELECT 'Xhs.Agent.Control' UNION ALL
SELECT 'Xhs.Analysis.Use' UNION ALL
SELECT 'Xhs.Creation.Use' UNION ALL
SELECT 'Xhs.Publish.Query' UNION ALL
SELECT 'Xhs.Publish.Cancel' UNION ALL
SELECT 'Xhs.Skills.Query' UNION ALL
SELECT 'Xhs.Skills.Save' UNION ALL
SELECT 'Xhs.Skills.Run' UNION ALL
SELECT 'Xhs.HumanSettings.Save' UNION ALL
SELECT 'Xhs.Ai.Use' UNION ALL
SELECT 'Xhs.Ai.Save'
) p
WHERE r.`Code` = 'Customer'
AND NOT EXISTS (
SELECT 1 FROM `role_permission` rp
WHERE rp.`RoleId` = r.`Id` AND rp.`PermissionCode` = p.`Code`
);
-- 超级管理员(可选,便于内测)
INSERT INTO `role_permission` (`Id`, `RoleId`, `PermissionCode`, `CreateUserId`, `CreateTime`)
SELECT UUID(), r.`Id`, p.`Code`, 0, NOW()
FROM `role` r
CROSS JOIN (
SELECT 'Xhs.Agent.Query' AS `Code` UNION ALL
SELECT 'Xhs.Agent.Control' UNION ALL
SELECT 'Xhs.Analysis.Use' UNION ALL
SELECT 'Xhs.Creation.Use' UNION ALL
SELECT 'Xhs.Publish.Query' UNION ALL
SELECT 'Xhs.Publish.Cancel' UNION ALL
SELECT 'Xhs.Skills.Query' UNION ALL
SELECT 'Xhs.Skills.Save' UNION ALL
SELECT 'Xhs.Skills.Run' UNION ALL
SELECT 'Xhs.HumanSettings.Save' UNION ALL
SELECT 'Xhs.Ai.Use' UNION ALL
SELECT 'Xhs.Ai.Save'
) p
WHERE r.`Code` = 'Admin'
AND NOT EXISTS (
SELECT 1 FROM `role_permission` rp
WHERE rp.`RoleId` = r.`Id` AND rp.`PermissionCode` = p.`Code`
);