refactor(rbac): migrate API permission checks to resource:action format

Replace all legacy dotted permission codes (vms.view, proxmox.manage, ...)
in PermissionChecker/has_permission across app/api with the new
resource:action format (vm:view, server:manage, ...), per LEGACY_PERMISSION_MAP.
All 33 codes used by the API are now registered in the permission registry.

Also switch the /api/auth/me admin branch to get_all_permissions_v2 so the
endpoint emits permissions in the new format only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-20 02:07:48 +05:00
parent 57513c4dc9
commit de967c35e0
19 changed files with 220 additions and 220 deletions

View File

@@ -255,9 +255,9 @@ def get_current_user_info(current_user: User = Depends(get_current_user)):
if current_user.role:
permissions = current_user.role.permissions or {}
elif current_user.is_admin:
# Admin has all permissions
# Admin has all permissions (new resource:action format)
from ..services.security_service import SecurityService
all_perms = SecurityService.get_all_permissions()
all_perms = SecurityService.get_all_permissions_v2()
for category, perms in all_perms.items():
for perm in perms:
permissions[perm] = True