Files
biz-api-cloud-zax/db/20260729_terminal_log_menu_permissions.sql
T
2026-07-30 13:15:45 +08:00

78 lines
3.2 KiB
SQL

-- 终端日志文件管理端权限补充。
-- 当前 sys_menu.permission 长度为 32,下载权限使用 down,避免 33 位的 download 标识被数据库截断。
-- 本脚本只维护权限元数据,不写 sys_role_menu;新按钮由管理员按角色显式授权,避免扩大现有角色权限。
SET @terminal_log_menu_seed := (SELECT COALESCE(MAX(menu_id), 0) FROM sys_menu);
INSERT INTO sys_menu
(menu_id, name, permission, path, component, parent_id, icon, visible, sort_order, keep_alive, embedded,
menu_type, create_by, create_time, update_by, update_time, del_flag, tenant_id)
SELECT (@terminal_log_menu_seed := @terminal_log_menu_seed + 1), '日志预览',
'hard_hardTerminalLogFile_preview', NULL, NULL, view_menu.parent_id, NULL, '0', 1, '0', '0', '1',
'admin', NOW(), 'admin', NOW(), '0', view_menu.tenant_id
FROM sys_menu view_menu
WHERE view_menu.permission = 'hard_hardTerminalLogFile_view'
AND view_menu.del_flag = '0'
AND NOT EXISTS (
SELECT 1
FROM sys_menu existing
WHERE existing.tenant_id <=> view_menu.tenant_id
AND existing.permission = 'hard_hardTerminalLogFile_preview'
);
INSERT INTO sys_menu
(menu_id, name, permission, path, component, parent_id, icon, visible, sort_order, keep_alive, embedded,
menu_type, create_by, create_time, update_by, update_time, del_flag, tenant_id)
SELECT (@terminal_log_menu_seed := @terminal_log_menu_seed + 1), '日志下载',
'hard_hardTerminalLogFile_down', NULL, NULL, view_menu.parent_id, NULL, '0', 2, '0', '0', '1',
'admin', NOW(), 'admin', NOW(), '0', view_menu.tenant_id
FROM sys_menu view_menu
WHERE view_menu.permission = 'hard_hardTerminalLogFile_view'
AND view_menu.del_flag = '0'
AND NOT EXISTS (
SELECT 1
FROM sys_menu existing
WHERE existing.tenant_id <=> view_menu.tenant_id
AND existing.permission = 'hard_hardTerminalLogFile_down'
);
INSERT INTO sys_menu
(menu_id, name, permission, path, component, parent_id, icon, visible, sort_order, keep_alive, embedded,
menu_type, create_by, create_time, update_by, update_time, del_flag, tenant_id)
SELECT (@terminal_log_menu_seed := @terminal_log_menu_seed + 1), '立即拉取日志',
'hard_hardTerminalLogFile_pull', NULL, NULL, view_menu.parent_id, NULL, '0', 3, '0', '0', '1',
'admin', NOW(), 'admin', NOW(), '0', view_menu.tenant_id
FROM sys_menu view_menu
WHERE view_menu.permission = 'hard_hardTerminalLogFile_view'
AND view_menu.del_flag = '0'
AND NOT EXISTS (
SELECT 1
FROM sys_menu existing
WHERE existing.tenant_id <=> view_menu.tenant_id
AND existing.permission = 'hard_hardTerminalLogFile_pull'
);
UPDATE sys_menu
SET del_flag = '0',
visible = '0',
update_by = 'admin',
update_time = NOW()
WHERE permission IN (
'hard_hardTerminalLogFile_preview',
'hard_hardTerminalLogFile_down',
'hard_hardTerminalLogFile_pull'
);
-- 生成器默认的写操作和导出按钮不再对管理端开放,保留记录便于审计和重复执行。
UPDATE sys_menu
SET del_flag = '1',
visible = '0',
update_by = 'admin',
update_time = NOW()
WHERE permission IN (
'hard_hardTerminalLogFile_add',
'hard_hardTerminalLogFile_edit',
'hard_hardTerminalLogFile_del',
'hard_hardTerminalLogFile_export'
);