Files
RayLab-Core/package.json
T
Rayyan 7ce0de4e91 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.
2026-08-02 00:25:36 +07:00

76 lines
2.2 KiB
JSON

{
"name": "raylab-core",
"version": "0.1.0",
"private": true,
"description": "RayLab Core - Identity & Platform Services",
"author": "RayLab",
"license": "MIT",
"engines": {
"node": ">=20.0.0"
},
"scripts": {
"start": "node dist/main.js",
"start:dev": "ts-node-dev --respawn --pretty --transpile-only src/main.ts",
"start:debug": "nest start --debug --watch",
"build": "tsc -p tsconfig.json",
"lint": "eslint \"src/**/*.ts\"",
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
"test": "jest",
"test:watch": "jest --watch",
"prisma:generate": "prisma generate",
"prisma:migrate": "prisma migrate dev",
"prisma:deploy": "prisma migrate deploy",
"prisma:reset": "prisma migrate reset",
"prisma:studio": "prisma studio",
"prisma:seed": "ts-node prisma/seed.ts"
},
"dependencies": {
"@nestjs/common": "^10.4.20",
"@nestjs/config": "^3.3.0",
"@nestjs/core": "^10.4.20",
"@nestjs/jwt": "^10.2.0",
"@nestjs/mapped-types": "^2.1.0",
"@nestjs/passport": "^10.0.3",
"@nestjs/platform-express": "^10.4.20",
"@nestjs/swagger": "^7.4.2",
"@prisma/client": "^5.22.0",
"bcrypt": "^5.1.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.2",
"dotenv": "^16.6.1",
"jose": "^6.2.6",
"openid-client": "^6.5.0",
"jsonwebtoken": "^9.0.2",
"passport": "^0.7.0",
"passport-jwt": "^4.0.1",
"pino": "^9.7.0",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.2",
"swagger-ui-express": "^5.0.1",
"uuid": "^11.1.0"
},
"devDependencies": {
"@eslint/js": "^9.21.0",
"@nestjs/testing": "^10.4.22",
"@playwright/test": "^1.62.1",
"@types/bcrypt": "^5.0.2",
"@types/jest": "^29.5.14",
"@types/node": "^22.13.10",
"@types/passport-jwt": "^4.0.1",
"@types/supertest": "^6.0.3",
"@types/swagger-ui-express": "^4.1.8",
"@typescript-eslint/eslint-plugin": "^8.25.0",
"@typescript-eslint/parser": "^8.25.0",
"eslint": "^9.21.0",
"globals": "^16.0.0",
"jest": "^29.7.0",
"prettier": "^3.5.3",
"prisma": "^5.22.0",
"supertest": "^7.0.0",
"ts-jest": "^29.2.6",
"ts-node": "^10.9.2",
"ts-node-dev": "^2.0.0",
"typescript": "^5.8.2"
}
}