TASKS-1823 WebManager module

This commit is contained in:
Igor Martyniuk
2026-08-28 08:35:58 +00:00
parent fdb2cf3837
commit c93d8c025b
654 changed files with 26232 additions and 6075 deletions
+46
View File
@@ -0,0 +1,46 @@
# Permission Module
The Permission module provides frontend permission checks and gates. It also corresponds to the backend permission endpoint and permission discovery service used by AccessControl.
## Source Map
| Area | Path |
| -------------------------- | -------------------------------------------------------- |
| Frontend module | `apps/admin/src/core/Permission/` |
| Frontend gates | `apps/admin/src/core/Permission/view/gates/` |
| Frontend hook | `apps/admin/src/core/Permission/hooks/usePermissions.ts` |
| Frontend types | `apps/admin/src/core/Permission/entities/permission.ts` |
| Backend module | `apps/backend/app/base_modules/Permission/` |
| Backend permission service | `apps/backend/app/services/permission_service.ts` |
## Documentation
| Page | Purpose |
| ------------------------- | ------------------------------------------------------------------ |
| [Frontend](./frontend.md) | Permission types, hook, gates, and usage rules. |
| [Backend](./backend.md) | Permission endpoint, permission discovery, and permission configs. |
## Main Capabilities
- Check whether current user has required permission slugs.
- Support `all` and `any` matching modes.
- Render or hide UI actions through `PermissionGate`.
- Protect full pages through `PermissionPageGate`.
- Treat super admin as an all-permissions user.
## High-Level Flow
```txt
AuthProvider current user
-> AuthUser.permissions
-> usePermissions()
-> hasPermission()
-> PermissionGate or PermissionPageGate
```
## Ownership Rules
- Permission frontend owns permission checks and gate components.
- Auth owns loading current user permissions.
- AccessControl owns managing roles and assigning permissions.
- Backend modules own their own permission definitions in `config/permissions.ts`.