-- 005_menu_paths.sql -- Bind protected API endpoints to their required permission codes. -- The AdminAuth middleware resolves the permission by matching -- " " against admin_menu.type=2 rows, then verifies the admin -- owns it. Dynamic path params use {id} placeholders. UPDATE admin_menu SET path='GET /admin/v1/admins' WHERE id=21; -- system:admin:list UPDATE admin_menu SET path='POST /admin/v1/admins' WHERE id=22; -- system:admin:create UPDATE admin_menu SET path='PUT /admin/v1/admins/{id}' WHERE id=23; -- system:admin:update UPDATE admin_menu SET path='DELETE /admin/v1/admins/{id}' WHERE id=24; -- system:admin:delete UPDATE admin_menu SET path='PUT /admin/v1/admins/{id}/password' WHERE id=25; -- system:admin:resetPwd UPDATE admin_menu SET path='GET /admin/v1/roles' WHERE id=31; -- system:role:list UPDATE admin_menu SET path='POST /admin/v1/roles' WHERE id=32; -- system:role:create UPDATE admin_menu SET path='PUT /admin/v1/roles/{id}' WHERE id=33; -- system:role:update UPDATE admin_menu SET path='DELETE /admin/v1/roles/{id}' WHERE id=34; -- system:role:delete UPDATE admin_menu SET path='PUT /admin/v1/roles/{id}/menus' WHERE id=35; -- system:role:assignMenu UPDATE admin_menu SET path='GET /admin/v1/menus/tree' WHERE id=41; -- system:menu:list UPDATE admin_menu SET path='POST /admin/v1/menus' WHERE id=42; -- system:menu:create UPDATE admin_menu SET path='PUT /admin/v1/menus/{id}' WHERE id=43; -- system:menu:update UPDATE admin_menu SET path='DELETE /admin/v1/menus/{id}' WHERE id=44; -- system:menu:delete UPDATE admin_menu SET path='GET /admin/v1/log/files' WHERE id=61; -- monitor:log:view UPDATE admin_menu SET path='GET /admin/v1/log/tail' WHERE id=62; -- monitor:log:tail