20260826_add_device_api_permissions.sql 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. -- 我的设备列表与导出接口权限,可重复执行。
  2. UPDATE `sa_system_menu`
  3. SET `slug` = 'core:device:index',
  4. `method` = 'GET',
  5. `remark` = '查询当前代理管理的设备列表',
  6. `update_time` = NOW()
  7. WHERE `code` = 'MyDevice'
  8. AND `delete_time` IS NULL;
  9. INSERT INTO `sa_system_menu` (
  10. `parent_id`, `name`, `code`, `slug`, `type`, `path`, `component`, `method`, `icon`, `sort`,
  11. `link_url`, `is_iframe`, `is_keep_alive`, `is_hidden`, `is_fixed_tab`, `is_full_page`,
  12. `generate_id`, `generate_key`, `status`, `remark`, `created_by`, `updated_by`, `create_time`, `update_time`, `delete_time`
  13. )
  14. SELECT
  15. parent_menu.`id`, '导出我的设备', 'DeviceExport', 'core:device:export', 3,
  16. NULL, NULL, 'POST', NULL, 90, NULL, 2, 2, 2, 2, 2,
  17. 0, NULL, 1, '按当前筛选条件导出设备', 1, 1, NOW(), NOW(), NULL
  18. FROM `sa_system_menu` parent_menu
  19. WHERE parent_menu.`code` = 'MyDevice'
  20. AND parent_menu.`delete_time` IS NULL
  21. AND NOT EXISTS (
  22. SELECT 1 FROM `sa_system_menu`
  23. WHERE `slug` = 'core:device:export' AND `delete_time` IS NULL
  24. );
  25. INSERT INTO `sa_system_role_menu` (`role_id`, `menu_id`)
  26. SELECT source_role.`role_id`, export_menu.`id`
  27. FROM `sa_system_role_menu` source_role
  28. INNER JOIN `sa_system_menu` source_menu
  29. ON source_menu.`id` = source_role.`menu_id`
  30. AND source_menu.`code` = 'MyDevice'
  31. AND source_menu.`delete_time` IS NULL
  32. INNER JOIN `sa_system_menu` export_menu
  33. ON export_menu.`slug` = 'core:device:export'
  34. AND export_menu.`delete_time` IS NULL
  35. LEFT JOIN `sa_system_role_menu` existing_role
  36. ON existing_role.`role_id` = source_role.`role_id`
  37. AND existing_role.`menu_id` = export_menu.`id`
  38. WHERE existing_role.`id` IS NULL;