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:
@@ -0,0 +1,17 @@
|
||||
-- Migration: add_authentik_fields
|
||||
|
||||
ALTER TABLE "User"
|
||||
ADD COLUMN IF NOT EXISTS "authentikUserId" TEXT;
|
||||
|
||||
ALTER TABLE "User"
|
||||
ADD COLUMN IF NOT EXISTS "authentikSubject" TEXT;
|
||||
|
||||
ALTER TABLE "User"
|
||||
ADD COLUMN IF NOT EXISTS "lastSyncedAt" TIMESTAMP;
|
||||
|
||||
ALTER TABLE "User"
|
||||
ADD COLUMN IF NOT EXISTS "syncStatus" TEXT;
|
||||
|
||||
-- Optional: add unique constraints if desired
|
||||
-- DO NOT add unique constraints without verifying existing data
|
||||
-- ALTER TABLE "User" ADD CONSTRAINT "User_authentikUserId_key" UNIQUE ("authentikUserId");
|
||||
Reference in New Issue
Block a user