fix: sync tenant entry menu casbin rules
This commit is contained in:
@@ -122,6 +122,24 @@ JOIN `hg_admin_menu` menu ON menu.`name` IN ('imTenantApplicationIndex', 'imTena
|
||||
LEFT JOIN `hg_admin_role_menu` existing ON existing.`role_id`=rm.`role_id` AND existing.`menu_id`=menu.`id`
|
||||
WHERE rm.`menu_id`=@settingsId AND existing.`menu_id` IS NULL;
|
||||
|
||||
DELETE FROM `hg_admin_role_casbin`
|
||||
WHERE `v1` IN ('/imTenantApplication/list', '/imTenantApplication/view', '/imTenantEntryFeedback/list', '/imTenantEntryFeedback/view')
|
||||
AND `v2` <> 'GET|POST|PUT|DELETE|PATCH|OPTIONS|HEAD';
|
||||
|
||||
INSERT INTO `hg_admin_role_casbin` (`p_type`, `v0`, `v1`, `v2`, `v3`, `v4`, `v5`)
|
||||
SELECT 'p', role.`key`, menu.`permissions`, 'GET|POST|PUT|DELETE|PATCH|OPTIONS|HEAD', '', '', ''
|
||||
FROM `hg_admin_role_menu` rm
|
||||
JOIN `hg_admin_role` role ON role.`id` = rm.`role_id`
|
||||
JOIN `hg_admin_menu` menu ON menu.`id` = rm.`menu_id`
|
||||
LEFT JOIN `hg_admin_role_casbin` existing ON existing.`p_type`='p'
|
||||
AND existing.`v0`=role.`key`
|
||||
AND existing.`v1`=menu.`permissions`
|
||||
AND existing.`v2`='GET|POST|PUT|DELETE|PATCH|OPTIONS|HEAD'
|
||||
WHERE role.`status`=1
|
||||
AND menu.`status`=1
|
||||
AND menu.`permissions` IN ('/imTenantApplication/list', '/imTenantApplication/view', '/imTenantEntryFeedback/list', '/imTenantEntryFeedback/view')
|
||||
AND existing.`id` IS NULL;
|
||||
|
||||
-- Remove one-page wrapper directories after their page has been moved.
|
||||
UPDATE `hg_admin_menu` SET `status`=2, `hidden`=1, `updated_at`=@now
|
||||
WHERE `name` IN ('imUser', 'imGroup', 'imTenant', 'imRealname', 'imWorkOrder', 'imAuditLog', 'imOutbox');
|
||||
|
||||
Reference in New Issue
Block a user