From 4fbc896d757fb9c432f9cb600dc823236aaf79dc Mon Sep 17 00:00:00 2001 From: richjohnrambo Date: Wed, 23 Sep 2026 00:07:20 +0800 Subject: [PATCH] fix: sync tenant entry menu casbin rules --- .../data/generate/im_menu_hierarchy.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/server/storage/data/generate/im_menu_hierarchy.sql b/server/storage/data/generate/im_menu_hierarchy.sql index 09b4802..63e922d 100644 --- a/server/storage/data/generate/im_menu_hierarchy.sql +++ b/server/storage/data/generate/im_menu_hierarchy.sql @@ -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');