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
+3 -4
View File
@@ -10,7 +10,7 @@ async function bootstrap() {
const config = app.get(ConfigService);
app.setGlobalPrefix('api');
app.setGlobalPrefix('');
app.useGlobalPipes(
new ValidationPipe({
@@ -22,8 +22,7 @@ async function bootstrap() {
app.enableCors();
const swaggerEnabled =
config.get<string>('SWAGGER_ENABLED') === 'true';
const swaggerEnabled = config.get<string>('SWAGGER_ENABLED') === 'true';
if (swaggerEnabled) {
const swaggerConfig = new DocumentBuilder()
@@ -35,7 +34,7 @@ async function bootstrap() {
const document = SwaggerModule.createDocument(app, swaggerConfig);
SwaggerModule.setup('docs', app, document);
SwaggerModule.setup('ApiList', app, document);
}
const port = config.get<number>('PORT') || 3000;