feat(identity): redesign identity module and introduce RBAC foundation

- Redesign the Identity module with a richer domain model.
- Extend the User entity to support username, Authentik integration, activity tracking, and storage information.
- Add Role and Permission domain models with many-to-many relationships.
- Implement RBAC foundation using UserRole, RolePermission, and UserPermission mappings.
- Add user storage quota and usage fields with default values.
- Introduce Authentik identifiers and synchronization metadata.
- Refactor user domain logic for role and permission management.
- Update Prisma schema to support the new identity architecture.
- Improve JWT authentication and permission guard integration.
- Update repositories, handlers, controllers, mappers, DTOs, and Swagger configuration.
- Refresh environment configuration and project dependencies.
This commit is contained in:
Rayyan
2026-08-02 00:25:36 +07:00
parent fdbfb34842
commit 7ce0de4e91
132 changed files with 7754 additions and 2037 deletions
@@ -0,0 +1,16 @@
export const PermissionType = {
USER_CREATE: 'USER_CREATE',
USER_READ: 'USER_READ',
USER_UPDATE: 'USER_UPDATE',
USER_DELETE: 'USER_DELETE',
ROLE_CREATE: 'ROLE_CREATE',
ROLE_READ: 'ROLE_READ',
ROLE_UPDATE: 'ROLE_UPDATE',
ROLE_DELETE: 'ROLE_DELETE',
PERMISSION_CREATE: 'PERMISSION_CREATE',
PERMISSION_READ: 'PERMISSION_READ',
PERMISSION_UPDATE: 'PERMISSION_UPDATE',
PERMISSION_DELETE: 'PERMISSION_DELETE',
} as const;