@neohm/nestend 3.3.2 → 3.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +23 -3
  2. package/dist/admin/controllers/admin.system.user.controller.d.ts +24 -0
  3. package/dist/admin/controllers/admin.system.user.controller.d.ts.map +1 -0
  4. package/dist/admin/controllers/admin.system.user.controller.js +107 -0
  5. package/dist/admin/controllers/admin.system.user.controller.js.map +1 -0
  6. package/dist/admin/dtos/add.system.user.dto.d.ts +5 -0
  7. package/dist/admin/dtos/add.system.user.dto.d.ts.map +1 -0
  8. package/dist/admin/dtos/add.system.user.dto.js +28 -0
  9. package/dist/admin/dtos/add.system.user.dto.js.map +1 -0
  10. package/dist/admin/dtos/system.user.list.dto.d.ts +4 -0
  11. package/dist/admin/dtos/system.user.list.dto.d.ts.map +1 -0
  12. package/dist/admin/dtos/system.user.list.dto.js +8 -0
  13. package/dist/admin/dtos/system.user.list.dto.js.map +1 -0
  14. package/dist/admin/es6.classes.d.ts +7 -3
  15. package/dist/admin/es6.classes.d.ts.map +1 -1
  16. package/dist/admin/es6.classes.js +12 -1
  17. package/dist/admin/es6.classes.js.map +1 -1
  18. package/dist/admin/libraries/system.user.data.processor.d.ts +12 -0
  19. package/dist/admin/libraries/system.user.data.processor.d.ts.map +1 -0
  20. package/dist/admin/libraries/system.user.data.processor.js +69 -0
  21. package/dist/admin/libraries/system.user.data.processor.js.map +1 -0
  22. package/dist/admin/libraries/system.user.list.processor.d.ts +15 -0
  23. package/dist/admin/libraries/system.user.list.processor.d.ts.map +1 -0
  24. package/dist/admin/libraries/system.user.list.processor.js +50 -0
  25. package/dist/admin/libraries/system.user.list.processor.js.map +1 -0
  26. package/dist/admin/services/system.user.service.d.ts +6 -0
  27. package/dist/admin/services/system.user.service.d.ts.map +1 -0
  28. package/dist/admin/services/system.user.service.js +34 -0
  29. package/dist/admin/services/system.user.service.js.map +1 -0
  30. package/dist/auth/auth.module.d.ts.map +1 -1
  31. package/dist/auth/auth.module.js +12 -1
  32. package/dist/auth/auth.module.js.map +1 -1
  33. package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
  34. package/dist/auth/controllers/auth.controller.js +2 -0
  35. package/dist/auth/controllers/auth.controller.js.map +1 -1
  36. package/dist/auth/controllers/impersonation.controller.d.ts +13 -0
  37. package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -0
  38. package/dist/auth/controllers/impersonation.controller.js +66 -0
  39. package/dist/auth/controllers/impersonation.controller.js.map +1 -0
  40. package/dist/auth/dtos/impersonation.login.dto.d.ts +5 -0
  41. package/dist/auth/dtos/impersonation.login.dto.d.ts.map +1 -0
  42. package/dist/auth/dtos/impersonation.login.dto.js +25 -0
  43. package/dist/auth/dtos/impersonation.login.dto.js.map +1 -0
  44. package/dist/auth/entities/system.auth.session.entity.d.ts +1 -0
  45. package/dist/auth/entities/system.auth.session.entity.d.ts.map +1 -1
  46. package/dist/auth/entities/system.auth.session.entity.js +4 -0
  47. package/dist/auth/entities/system.auth.session.entity.js.map +1 -1
  48. package/dist/auth/entities/system.refresh.token.entity.d.ts +1 -0
  49. package/dist/auth/entities/system.refresh.token.entity.d.ts.map +1 -1
  50. package/dist/auth/entities/system.refresh.token.entity.js +4 -0
  51. package/dist/auth/entities/system.refresh.token.entity.js.map +1 -1
  52. package/dist/auth/entities/user.entity.d.ts +1 -0
  53. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  54. package/dist/auth/entities/user.entity.js +4 -0
  55. package/dist/auth/entities/user.entity.js.map +1 -1
  56. package/dist/auth/es6.classes.d.ts +4 -2
  57. package/dist/auth/es6.classes.d.ts.map +1 -1
  58. package/dist/auth/es6.classes.js +6 -1
  59. package/dist/auth/es6.classes.js.map +1 -1
  60. package/dist/auth/helpers/auth.d.ts +3 -1
  61. package/dist/auth/helpers/auth.d.ts.map +1 -1
  62. package/dist/auth/helpers/auth.js +10 -2
  63. package/dist/auth/helpers/auth.js.map +1 -1
  64. package/dist/auth/middlewares/jwt.middleware.d.ts.map +1 -1
  65. package/dist/auth/middlewares/jwt.middleware.js +1 -1
  66. package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
  67. package/dist/auth/services/auth.service.d.ts +2 -0
  68. package/dist/auth/services/auth.service.d.ts.map +1 -1
  69. package/dist/auth/services/auth.service.js +26 -4
  70. package/dist/auth/services/auth.service.js.map +1 -1
  71. package/dist/auth/services/impersonation.service.d.ts +20 -0
  72. package/dist/auth/services/impersonation.service.d.ts.map +1 -0
  73. package/dist/auth/services/impersonation.service.js +89 -0
  74. package/dist/auth/services/impersonation.service.js.map +1 -0
  75. package/dist/auth/types/auth.types.d.ts +7 -0
  76. package/dist/auth/types/auth.types.d.ts.map +1 -1
  77. package/dist/common/consumers/job.consumer.d.ts +10 -1
  78. package/dist/common/consumers/job.consumer.d.ts.map +1 -1
  79. package/dist/common/consumers/job.consumer.js +90 -5
  80. package/dist/common/consumers/job.consumer.js.map +1 -1
  81. package/dist/common/enums/audit.action.enum.d.ts +1 -0
  82. package/dist/common/enums/audit.action.enum.d.ts.map +1 -1
  83. package/dist/common/enums/audit.action.enum.js +1 -0
  84. package/dist/common/enums/audit.action.enum.js.map +1 -1
  85. package/dist/common/enums/queue.enum.d.ts +5 -1
  86. package/dist/common/enums/queue.enum.d.ts.map +1 -1
  87. package/dist/common/enums/queue.enum.js +4 -0
  88. package/dist/common/enums/queue.enum.js.map +1 -1
  89. package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
  90. package/dist/migrations/1749600000003.CreateSysUsersTable.js +1 -0
  91. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  92. package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.d.ts.map +1 -1
  93. package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js +7 -0
  94. package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js.map +1 -1
  95. package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.d.ts.map +1 -1
  96. package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js +7 -0
  97. package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js.map +1 -1
  98. package/package.json +1 -1
package/README.md CHANGED
@@ -91,7 +91,8 @@ the notification and document modules.
91
91
 
92
92
  Internal by design: the controllers, DTOs and processors behind the built-in endpoints
93
93
  (the whole `admin` module beyond `AdminModule` itself, `AuthController`,
94
- `AdminAuthController`), the passport strategies, `JobConsumer` and the framework
94
+ `AdminAuthController`, `ImpersonationController` and `ImpersonationService`), the
95
+ passport strategies, `JobConsumer` and the framework
95
96
  jobs/subscribers/schedule resolvers, the `FILTER_OPERATORS` registry, the internal
96
97
  `*Default` enums, and the migration classes. Import the module and call the endpoints —
97
98
  these are free to change without a breaking release.
@@ -104,12 +105,12 @@ these are free to change without a breaking release.
104
105
  | Migrations | `MigrationUtility`, `SeederUtility` (the 26 table migrations ship in `dist/migrations` — glob them, they are not barrel exports) | fluent `this.string()`, `this.numeric()`, `addRecord()` seeding |
105
106
  | Queue | `QueueModule`, `QueueService`, `CommonJob` | BullMQ `@Processor`/`WorkerHost` consumer; auto-discovered jobs, duplicate prevention, recurring schedulers, 1-day TTL, retries, failures persisted to `sys_failed_jobs` |
106
107
  | Scheduled events | `SystemScheduledTaskEntity`, `ScheduledEventEntity`, `ScheduleKind`, `ScheduleSpec`, `IsCronExpression` | schedule definitions in `sys_scheduled_tasks` → events in `sys_scheduled_events`; interval / cron / once specs with timezones, drift-free slots, horizon materialisation, catch-up + overlap policies, fire-once dispatch with backoff, cadence via `SCHEDULED_EVENT_MIN` |
107
- | Auth | `AuthModule`, `AuthService.validateRole()`, `Auth`, `JwtMiddleware` | imperative auth (open by default); JwtMiddleware resolves the user into `Auth`'s AsyncLocalStorage context per request; access + rotating refresh tokens; session-based logout invalidation (`sys_auth_sessions`); Google SSO via ID token at `POST /auth/google` |
108
+ | Auth | `AuthModule`, `AuthService.validateRole()`, `Auth`, `JwtMiddleware` | imperative auth (open by default); JwtMiddleware resolves the user into `Auth`'s AsyncLocalStorage context per request; access + rotating refresh tokens; session-based logout invalidation (`sys_auth_sessions`); Google SSO via ID token at `POST /auth/google`; impersonation — a tenantless `has_global_access` user signs into one organization at `POST /auth/impersonation/login` |
108
109
  | Admin auth | `AdminAuthService.validateRole()`, `AdminAuth`, `AdminJwtMiddleware` (endpoints at `/admin/auth`) | fully separate stack for back-office admins — own users table (`sys_admin_users`), own roles (`sys_admin_roles`/`sys_auser_roles`), own sessions/refresh tokens (shared tables, `is_admin` flag) |
109
110
  | API keys | `ApiKeyService`, `ApiKeyGuard` / `ApiKeyMiddleware`, `@ApiKeyScopes()`, `ApiKeyContext` | hashed keys in `sys_api_keys` (admin-owned), one tenant per key, expiry/revocation, `x-api-key` header; `validateAccess(scope)` returns the tenant the key acts for |
110
111
  | Scopes | `ScopeService`, `AuthService.validateAccess()`, `ScopeEntity`, `TenantScopeEntity`, `ApiScopeEntity` | one feature named once in `sys_scopes`, then granted per organization (`sys_tenant_scopes`) or per API key (`sys_api_scopes`) — never an array on the principal |
111
112
  | Multi-tenancy | `TenantModule`, `TenantEntity`, `CommonTenantEntity`, `TenantContextService`, `TenantContextMiddleware` | AsyncLocalStorage tenant context; resolve by header, slug, or domain; tenants are onboarded by admins (`TenantEntity.creator` → `AdminUserEntity`) |
112
- | Admin | `AdminModule` (its controllers, DTOs and processors are internal — import the module and hit the endpoints), `GlobalAdminRoles` | back-office APIs: tenant onboarding, client/admin user registration (single + bulk, no role granting), tenant + scheduled-task listing; 4-tier `GlobalAdminRoles` gate over `sys_admin_roles`; Swagger at `/docs` (hidden in production) |
113
+ | Admin | `AdminModule` (its controllers, DTOs and processors are internal — import the module and hit the endpoints), `GlobalAdminRoles` | back-office APIs: tenant onboarding, client/admin/system user registration (single + bulk), the `has_global_access` grant that enables impersonation, tenant + scheduled-task listing; 4-tier `GlobalAdminRoles` gate over `sys_admin_roles`; Swagger at `/docs` (hidden in production) |
113
114
  | Notifications | `NotificationModule`, `NotificationService`, `FcmPushNotificationService` | in-app rows + FCM push (optional `firebase-admin`); device token registry |
114
115
  | Email (SES) | `EmailNotificationService`, `ProcessEmailNotification`, `EmailTemplateEntity`, `EmailNotificationLogEntity` | templates in `sys_email_templates` rendered by a remote service, dispatched via SES per recipient (to/cc/bcc); logged to `sys_email_notification_logs` outside production; dispatch skipped when `AWS_SES_FROM_ADDRESS` unset |
115
116
  | Audit | `AuditService` | `saveAuditLog(old, new)` with changed-value diffing into `sys_audit_logs` |
@@ -207,6 +208,25 @@ and embeds its identifier in the access token as `sid`; `logout()` revokes the
207
208
  refresh token and invalidates that session, so a still-unexpired access token
208
209
  stops working immediately.
209
210
 
211
+ **Impersonation** — support staff work inside a customer's organization without
212
+ borrowing anyone's identity. The principal is a `sys_users` row with
213
+ `user_type = system.user`, no `tenant_id` and `has_global_access = true`; it
214
+ cannot use `POST /auth/login` at all, and signs in through `POST
215
+ /auth/impersonation/login` with `{ email, password, tenant_id }`. The assumed
216
+ organization is stored on the session row (and its refresh-token row, so a
217
+ rotation keeps it) and stamped onto the context user's `tenant_id` by
218
+ `JwtMiddleware`, so `validateAccess()` and every processor reading
219
+ `user.tenant_id` work unchanged. Because the token belongs to the real actor,
220
+ `created_by` records who actually did the work. Role assertions yield to the
221
+ grant — the account holds no roles inside the tenant — but scope checks never
222
+ do, so impersonation cannot reach a feature the organization was not sold.
223
+ `GET /auth/impersonation/tenants` lists the organizations available (also from an
224
+ impersonated session, for an in-app switcher), each login writes an
225
+ `AuditAction.IMPERSONATE` entry, and withdrawing the flag through
226
+ `POST /admin/system-users` revokes the sessions it opened. Distinguish an assumed
227
+ tenant from real membership with `Auth.isImpersonating()` /
228
+ `Auth.impersonatedTenant()`.
229
+
210
230
  **Google SSO** — the client posts a Google ID token as `{ id_token }` to
211
231
  `POST /auth/google`. `GoogleAuthService` verifies it against Google's tokeninfo
212
232
  endpoint (audience must match `GOOGLE_CLIENT_ID`, issuer `accounts.google.com`,
@@ -0,0 +1,24 @@
1
+ import { UserEntity } from '../../auth/entities/user.entity';
2
+ import { CommonParamsDto } from '../../common/dtos/common.params.dto';
3
+ import { SqlService } from '../../common/services/sql.service';
4
+ import { AddSystemUserDto } from '../dtos/add.system.user.dto';
5
+ import { SystemUserListDto } from '../dtos/system.user.list.dto';
6
+ import { AdminAccessService } from '../services/admin.access.service';
7
+ import { SystemUserService } from '../services/system.user.service';
8
+ export declare class AdminSystemUserController {
9
+ protected readonly adminAccessService: AdminAccessService;
10
+ protected readonly systemUserService: SystemUserService;
11
+ protected readonly sqlService: SqlService;
12
+ constructor(adminAccessService: AdminAccessService, systemUserService: SystemUserService, sqlService: SqlService);
13
+ systemUserDetail({ id }: CommonParamsDto): Promise<UserEntity>;
14
+ addSystemUser(dto: AddSystemUserDto): Promise<UserEntity>;
15
+ listSystemUsers(dto: SystemUserListDto): Promise<{
16
+ records: import("../..").SqlRow[];
17
+ total: number;
18
+ page: number;
19
+ limit: number;
20
+ total_pages: number;
21
+ }>;
22
+ removeSystemUser(id: string): Promise<import("../..").DeleteResult>;
23
+ }
24
+ //# sourceMappingURL=admin.system.user.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.system.user.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.system.user.controller.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,qBACa,yBAAyB;IAElC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IACvD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBAFtB,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU;IAQrC,gBAAgB,CAAU,EAAE,EAAE,EAAE,EAAE,eAAe;IAiBjD,aAAa,CAAS,GAAG,EAAE,gBAAgB;IAW3C,eAAe,CAAS,GAAG,EAAE,iBAAiB;;;;;;;IAW9C,gBAAgB,CAA6B,EAAE,EAAE,MAAM;CAI9D"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AdminSystemUserController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const user_entity_1 = require("../../auth/entities/user.entity");
19
+ const user_type_enum_1 = require("../../auth/enums/user.type.enum");
20
+ const common_params_dto_1 = require("../../common/dtos/common.params.dto");
21
+ const sql_service_1 = require("../../common/services/sql.service");
22
+ const add_system_user_dto_1 = require("../dtos/add.system.user.dto");
23
+ const system_user_list_dto_1 = require("../dtos/system.user.list.dto");
24
+ const system_user_data_processor_1 = require("../libraries/system.user.data.processor");
25
+ const system_user_list_processor_1 = require("../libraries/system.user.list.processor");
26
+ const admin_access_service_1 = require("../services/admin.access.service");
27
+ const system_user_service_1 = require("../services/system.user.service");
28
+ let AdminSystemUserController = class AdminSystemUserController {
29
+ constructor(adminAccessService, systemUserService, sqlService) {
30
+ this.adminAccessService = adminAccessService;
31
+ this.systemUserService = systemUserService;
32
+ this.sqlService = sqlService;
33
+ }
34
+ async systemUserDetail({ id }) {
35
+ await this.adminAccessService.validateContentReader();
36
+ const user = await user_entity_1.UserEntity.findOne({
37
+ where: { id, user_type: user_type_enum_1.UserType.SYSTEM_USER },
38
+ });
39
+ if (!user)
40
+ throw new common_1.NotFoundException('No system user exists for this id');
41
+ return user;
42
+ }
43
+ async addSystemUser(dto) {
44
+ await this.adminAccessService.validateSuperAdmin();
45
+ return new system_user_data_processor_1.SystemUserDataProcessor().process(dto);
46
+ }
47
+ async listSystemUsers(dto) {
48
+ await this.adminAccessService.validateContentReader();
49
+ return new system_user_list_processor_1.SystemUserListProcessor(this.sqlService).process(dto);
50
+ }
51
+ async removeSystemUser(id) {
52
+ const { user } = await this.adminAccessService.validateSuperAdmin();
53
+ return this.systemUserService.delete(id, user);
54
+ }
55
+ };
56
+ exports.AdminSystemUserController = AdminSystemUserController;
57
+ __decorate([
58
+ (0, common_1.Get)(':id'),
59
+ (0, swagger_1.ApiOperation)({
60
+ summary: 'One tenantless system user, in full.',
61
+ description: 'Requires at least the global content reader role.',
62
+ }),
63
+ __param(0, (0, common_1.Param)()),
64
+ __metadata("design:type", Function),
65
+ __metadata("design:paramtypes", [common_params_dto_1.CommonParamsDto]),
66
+ __metadata("design:returntype", Promise)
67
+ ], AdminSystemUserController.prototype, "systemUserDetail", null);
68
+ __decorate([
69
+ (0, common_1.Post)(),
70
+ (0, swagger_1.ApiOperation)({
71
+ summary: 'Register a tenantless system user, or update one.',
72
+ description: 'Send an `id` to edit that user; omit it to register a new one. `password` is required only when creating. `has_global_access` is what lets the account sign in to an organization through `POST /auth/impersonation/login`; withdrawing it revokes the sessions it opened. Requires the global super admin role.',
73
+ }),
74
+ __param(0, (0, common_1.Body)()),
75
+ __metadata("design:type", Function),
76
+ __metadata("design:paramtypes", [add_system_user_dto_1.AddSystemUserDto]),
77
+ __metadata("design:returntype", Promise)
78
+ ], AdminSystemUserController.prototype, "addSystemUser", null);
79
+ __decorate([
80
+ (0, common_1.Post)('list'),
81
+ (0, swagger_1.ApiOperation)({
82
+ summary: 'List, search and filter tenantless system users.',
83
+ description: 'Scoped to system users, so a request cannot reach client users through it. Requires at least the global content reader role.',
84
+ }),
85
+ __param(0, (0, common_1.Body)()),
86
+ __metadata("design:type", Function),
87
+ __metadata("design:paramtypes", [system_user_list_dto_1.SystemUserListDto]),
88
+ __metadata("design:returntype", Promise)
89
+ ], AdminSystemUserController.prototype, "listSystemUsers", null);
90
+ __decorate([
91
+ (0, common_1.Post)(':id/delete'),
92
+ (0, swagger_1.ApiOperation)({
93
+ summary: 'Delete a system user.',
94
+ description: "Soft delete, with the user's sessions and refresh tokens revoked in the same transaction. Requires the global super admin role.",
95
+ }),
96
+ __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", [String]),
99
+ __metadata("design:returntype", Promise)
100
+ ], AdminSystemUserController.prototype, "removeSystemUser", null);
101
+ exports.AdminSystemUserController = AdminSystemUserController = __decorate([
102
+ (0, common_1.Controller)('api/admin/system-users'),
103
+ __metadata("design:paramtypes", [admin_access_service_1.AdminAccessService,
104
+ system_user_service_1.SystemUserService,
105
+ sql_service_1.SqlService])
106
+ ], AdminSystemUserController);
107
+ //# sourceMappingURL=admin.system.user.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.system.user.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.system.user.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,6CAA+C;AAC/C,iEAA6D;AAC7D,oEAA2D;AAC3D,2EAAsE;AACtE,mEAA+D;AAC/D,qEAA+D;AAC/D,uEAAiE;AACjE,wFAAkF;AAClF,wFAAkF;AAClF,2EAAsE;AACtE,yEAAoE;AAG7D,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,YACqB,kBAAsC,EACtC,iBAAoC,EACpC,UAAsB;QAFtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,eAAU,GAAV,UAAU,CAAY;IACxC,CAAC;IAOE,AAAN,KAAK,CAAC,gBAAgB,CAAU,EAAE,EAAE,EAAmB;QACrD,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QAEtD,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC;YACpC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,yBAAQ,CAAC,WAAW,EAAE;SAC/C,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,0BAAiB,CAAC,mCAAmC,CAAC,CAAC;QAE5E,OAAO,IAAI,CAAC;IACd,CAAC;IAQK,AAAN,KAAK,CAAC,aAAa,CAAS,GAAqB;QAC/C,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;QACnD,OAAO,IAAI,oDAAuB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAQK,AAAN,KAAK,CAAC,eAAe,CAAS,GAAsB;QAClD,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,IAAI,oDAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IAQK,AAAN,KAAK,CAAC,gBAAgB,CAA6B,EAAU;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAvDY,8DAAyB;AAY9B;IALL,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,sCAAsC;QAC/C,WAAW,EAAE,mDAAmD;KACjE,CAAC;IACsB,WAAA,IAAA,cAAK,GAAE,CAAA;;qCAAS,mCAAe;;iEAStD;AAQK;IANL,IAAA,aAAI,GAAE;IACN,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mDAAmD;QAC5D,WAAW,EACT,kTAAkT;KACrT,CAAC;IACmB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,sCAAgB;;8DAGhD;AAQK;IANL,IAAA,aAAI,EAAC,MAAM,CAAC;IACZ,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,kDAAkD;QAC3D,WAAW,EACT,8HAA8H;KACjI,CAAC;IACqB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,wCAAiB;;gEAGnD;AAQK;IANL,IAAA,aAAI,EAAC,YAAY,CAAC;IAClB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,uBAAuB;QAChC,WAAW,EACT,iIAAiI;KACpI,CAAC;IACsB,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;;;;iEAGjD;oCAtDU,yBAAyB;IADrC,IAAA,mBAAU,EAAC,wBAAwB,CAAC;qCAGM,yCAAkB;QACnB,uCAAiB;QACxB,wBAAU;GAJhC,yBAAyB,CAuDrC"}
@@ -0,0 +1,5 @@
1
+ import { BaseUserDto } from './base.user.dto';
2
+ export declare class AddSystemUserDto extends BaseUserDto {
3
+ has_global_access?: boolean;
4
+ }
5
+ //# sourceMappingURL=add.system.user.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.system.user.dto.d.ts","sourceRoot":"","sources":["../../../src/admin/dtos/add.system.user.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,gBAAiB,SAAQ,WAAW;IAO/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AddSystemUserDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ const base_user_dto_1 = require("./base.user.dto");
16
+ class AddSystemUserDto extends base_user_dto_1.BaseUserDto {
17
+ }
18
+ exports.AddSystemUserDto = AddSystemUserDto;
19
+ __decorate([
20
+ (0, swagger_1.ApiPropertyOptional)({
21
+ default: false,
22
+ description: 'Lets this user sign in to any organization.',
23
+ }),
24
+ (0, class_validator_1.IsOptional)(),
25
+ (0, class_validator_1.IsBoolean)(),
26
+ __metadata("design:type", Boolean)
27
+ ], AddSystemUserDto.prototype, "has_global_access", void 0);
28
+ //# sourceMappingURL=add.system.user.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.system.user.dto.js","sourceRoot":"","sources":["../../../src/admin/dtos/add.system.user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwD;AACxD,6CAAsD;AACtD,mDAA8C;AAG9C,MAAa,gBAAiB,SAAQ,2BAAW;CAQhD;AARD,4CAQC;AADC;IANC,IAAA,6BAAmB,EAAC;QACnB,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,6CAA6C;KAC3D,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;2DACgB"}
@@ -0,0 +1,4 @@
1
+ import { CommonListFilterDto } from '../../common/dtos/common.list.filter.dto';
2
+ export declare class SystemUserListDto extends CommonListFilterDto {
3
+ }
4
+ //# sourceMappingURL=system.user.list.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.user.list.dto.d.ts","sourceRoot":"","sources":["../../../src/admin/dtos/system.user.list.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAO/E,qBAAa,iBAAkB,SAAQ,mBAAmB;CAAG"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SystemUserListDto = void 0;
4
+ const common_list_filter_dto_1 = require("../../common/dtos/common.list.filter.dto");
5
+ class SystemUserListDto extends common_list_filter_dto_1.CommonListFilterDto {
6
+ }
7
+ exports.SystemUserListDto = SystemUserListDto;
8
+ //# sourceMappingURL=system.user.list.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.user.list.dto.js","sourceRoot":"","sources":["../../../src/admin/dtos/system.user.list.dto.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAO/E,MAAa,iBAAkB,SAAQ,4CAAmB;CAAG;AAA7D,8CAA6D"}
@@ -3,10 +3,12 @@ import { AdminRoleController } from './controllers/admin.role.controller';
3
3
  import { AdminScheduledTaskController } from './controllers/admin.scheduled.task.controller';
4
4
  import { AdminScopeController } from './controllers/admin.scope.controller';
5
5
  import { AdminTenantController } from './controllers/admin.tenant.controller';
6
+ import { AdminSystemUserController } from './controllers/admin.system.user.controller';
6
7
  import { AdminTenantUserController } from './controllers/admin.tenant.user.controller';
7
8
  import { AdminUserController } from './controllers/admin.user.controller';
8
9
  import { SystemRoleController } from './controllers/system.role.controller';
9
10
  import { AdminAccessService } from './services/admin.access.service';
11
+ import { SystemUserService } from './services/system.user.service';
10
12
  import { AdminUserDataProcessor } from './libraries/admin.user.data.processor';
11
13
  import { AdminUserDeleteProcessor } from './libraries/admin.user.delete.processor';
12
14
  import { AdminUserListProcessor } from './libraries/admin.user.list.processor';
@@ -23,6 +25,8 @@ import { ScheduledTaskListProcessor } from './libraries/scheduled.task.list.proc
23
25
  import { ScopeDataProcessor } from './libraries/scope.data.processor';
24
26
  import { ScopeListProcessor } from './libraries/scope.list.processor';
25
27
  import { SystemRoleDataProcessor } from './libraries/system.role.data.processor';
28
+ import { SystemUserDataProcessor } from './libraries/system.user.data.processor';
29
+ import { SystemUserListProcessor } from './libraries/system.user.list.processor';
26
30
  import { TenantDataProcessor } from './libraries/tenant.data.processor';
27
31
  import { TenantDeleteProcessor } from './libraries/tenant.delete.processor';
28
32
  import { TenantListProcessor } from './libraries/tenant.list.processor';
@@ -34,9 +38,9 @@ import { AddTenantDto } from './dtos/add.tenant.dto';
34
38
  import { ApiKeyListDto } from './dtos/api.key.list.dto';
35
39
  import { BaseUserDto } from './dtos/base.user.dto';
36
40
  export declare const es6Classes: {
37
- controllers: (typeof AdminApiKeyController | typeof AdminRoleController | typeof AdminScheduledTaskController | typeof AdminScopeController | typeof AdminTenantController | typeof AdminTenantUserController | typeof AdminUserController | typeof SystemRoleController)[];
38
- services: readonly [typeof AdminAccessService];
39
- libraries: (typeof ApiKeyDataProcessor | typeof ApiKeyListProcessor | typeof RoleListProcessor | typeof AdminRoleListProcessor | typeof ScheduledTaskDataProcessor | typeof ScheduledTaskDeleteProcessor | typeof ScheduledTaskListProcessor | typeof ScopeDataProcessor | typeof ScopeListProcessor | typeof TenantDataProcessor | typeof TenantDeleteProcessor | typeof TenantListProcessor | typeof BulkUserDataProcessor | typeof ClientUserDataProcessor | typeof ClientUserDeleteProcessor | typeof ClientUserListProcessor | typeof AdminUserDataProcessor | typeof AdminUserDeleteProcessor | typeof AdminUserListProcessor | typeof SystemRoleDataProcessor)[];
41
+ controllers: (typeof AdminApiKeyController | typeof AdminRoleController | typeof AdminScheduledTaskController | typeof AdminScopeController | typeof AdminTenantController | typeof AdminSystemUserController | typeof AdminTenantUserController | typeof AdminUserController | typeof SystemRoleController)[];
42
+ services: readonly [typeof AdminAccessService, typeof SystemUserService];
43
+ libraries: (typeof ApiKeyDataProcessor | typeof ApiKeyListProcessor | typeof RoleListProcessor | typeof AdminRoleListProcessor | typeof ScheduledTaskDataProcessor | typeof ScheduledTaskDeleteProcessor | typeof ScheduledTaskListProcessor | typeof ScopeDataProcessor | typeof ScopeListProcessor | typeof TenantDataProcessor | typeof TenantDeleteProcessor | typeof TenantListProcessor | typeof SystemUserDataProcessor | typeof SystemUserListProcessor | typeof BulkUserDataProcessor | typeof ClientUserDataProcessor | typeof ClientUserDeleteProcessor | typeof ClientUserListProcessor | typeof AdminUserDataProcessor | typeof AdminUserDeleteProcessor | typeof AdminUserListProcessor | typeof SystemRoleDataProcessor)[];
40
44
  dtos: (typeof AddApiKeyDto | typeof ApiKeyListDto | typeof ScheduleDto | typeof AddScopeDto | typeof AddTenantDto | typeof BaseUserDto | typeof AddAdminUserDto)[];
41
45
  jobs: any[];
42
46
  subscribers: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/admin/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMnD,eAAO,MAAM,UAAU;;;;;;;CAsDtB,CAAC"}
1
+ {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/admin/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD,eAAO,MAAM,UAAU;;;;;;;CA2DtB,CAAC"}
@@ -6,10 +6,12 @@ const admin_role_controller_1 = require("./controllers/admin.role.controller");
6
6
  const admin_scheduled_task_controller_1 = require("./controllers/admin.scheduled.task.controller");
7
7
  const admin_scope_controller_1 = require("./controllers/admin.scope.controller");
8
8
  const admin_tenant_controller_1 = require("./controllers/admin.tenant.controller");
9
+ const admin_system_user_controller_1 = require("./controllers/admin.system.user.controller");
9
10
  const admin_tenant_user_controller_1 = require("./controllers/admin.tenant.user.controller");
10
11
  const admin_user_controller_1 = require("./controllers/admin.user.controller");
11
12
  const system_role_controller_1 = require("./controllers/system.role.controller");
12
13
  const admin_access_service_1 = require("./services/admin.access.service");
14
+ const system_user_service_1 = require("./services/system.user.service");
13
15
  const admin_user_data_processor_1 = require("./libraries/admin.user.data.processor");
14
16
  const admin_user_delete_processor_1 = require("./libraries/admin.user.delete.processor");
15
17
  const admin_user_list_processor_1 = require("./libraries/admin.user.list.processor");
@@ -26,6 +28,8 @@ const scheduled_task_list_processor_1 = require("./libraries/scheduled.task.list
26
28
  const scope_data_processor_1 = require("./libraries/scope.data.processor");
27
29
  const scope_list_processor_1 = require("./libraries/scope.list.processor");
28
30
  const system_role_data_processor_1 = require("./libraries/system.role.data.processor");
31
+ const system_user_data_processor_1 = require("./libraries/system.user.data.processor");
32
+ const system_user_list_processor_1 = require("./libraries/system.user.list.processor");
29
33
  const tenant_data_processor_1 = require("./libraries/tenant.data.processor");
30
34
  const tenant_delete_processor_1 = require("./libraries/tenant.delete.processor");
31
35
  const tenant_list_processor_1 = require("./libraries/tenant.list.processor");
@@ -36,6 +40,7 @@ const add_client_user_dto_1 = require("./dtos/add.client.user.dto");
36
40
  const add_scheduled_task_dto_1 = require("./dtos/add.scheduled.task.dto");
37
41
  const add_scope_dto_1 = require("./dtos/add.scope.dto");
38
42
  const add_system_role_dto_1 = require("./dtos/add.system.role.dto");
43
+ const add_system_user_dto_1 = require("./dtos/add.system.user.dto");
39
44
  const add_tenant_dto_1 = require("./dtos/add.tenant.dto");
40
45
  const admin_user_list_dto_1 = require("./dtos/admin.user.list.dto");
41
46
  const api_key_list_dto_1 = require("./dtos/api.key.list.dto");
@@ -44,6 +49,7 @@ const base_user_dto_1 = require("./dtos/base.user.dto");
44
49
  const role_list_dto_1 = require("./dtos/role.list.dto");
45
50
  const scheduled_task_list_dto_1 = require("./dtos/scheduled.task.list.dto");
46
51
  const scope_list_dto_1 = require("./dtos/scope.list.dto");
52
+ const system_user_list_dto_1 = require("./dtos/system.user.list.dto");
47
53
  const tenant_list_dto_1 = require("./dtos/tenant.list.dto");
48
54
  exports.es6Classes = {
49
55
  controllers: [
@@ -54,9 +60,10 @@ exports.es6Classes = {
54
60
  admin_tenant_controller_1.AdminTenantController,
55
61
  admin_user_controller_1.AdminUserController,
56
62
  admin_tenant_user_controller_1.AdminTenantUserController,
63
+ admin_system_user_controller_1.AdminSystemUserController,
57
64
  system_role_controller_1.SystemRoleController,
58
65
  ],
59
- services: [admin_access_service_1.AdminAccessService],
66
+ services: [admin_access_service_1.AdminAccessService, system_user_service_1.SystemUserService],
60
67
  libraries: [
61
68
  admin_user_data_processor_1.AdminUserDataProcessor,
62
69
  admin_user_delete_processor_1.AdminUserDeleteProcessor,
@@ -75,6 +82,8 @@ exports.es6Classes = {
75
82
  scope_data_processor_1.ScopeDataProcessor,
76
83
  scope_list_processor_1.ScopeListProcessor,
77
84
  system_role_data_processor_1.SystemRoleDataProcessor,
85
+ system_user_data_processor_1.SystemUserDataProcessor,
86
+ system_user_list_processor_1.SystemUserListProcessor,
78
87
  tenant_data_processor_1.TenantDataProcessor,
79
88
  tenant_delete_processor_1.TenantDeleteProcessor,
80
89
  tenant_list_processor_1.TenantListProcessor,
@@ -87,6 +96,7 @@ exports.es6Classes = {
87
96
  add_scheduled_task_dto_1.ScheduleDto,
88
97
  add_scope_dto_1.AddScopeDto,
89
98
  add_system_role_dto_1.AddSystemRoleDto,
99
+ add_system_user_dto_1.AddSystemUserDto,
90
100
  add_tenant_dto_1.AddTenantDto,
91
101
  admin_user_list_dto_1.AdminUserListDto,
92
102
  api_key_list_dto_1.ApiKeyListDto,
@@ -95,6 +105,7 @@ exports.es6Classes = {
95
105
  role_list_dto_1.RoleListDto,
96
106
  scheduled_task_list_dto_1.ScheduledTaskListDto,
97
107
  scope_list_dto_1.ScopeListDto,
108
+ system_user_list_dto_1.SystemUserListDto,
98
109
  tenant_list_dto_1.TenantListDto,
99
110
  ],
100
111
  jobs: [],
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/admin/es6.classes.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAC/E,+EAA0E;AAC1E,mGAA6F;AAC7F,iFAA4E;AAC5E,mFAA8E;AAC9E,6FAAuF;AACvF,+EAA0E;AAC1E,iFAA4E;AAC5E,0EAAqE;AACrE,qFAA+E;AAC/E,yFAAmF;AACnF,qFAA+E;AAC/E,+EAAyE;AACzE,+EAAyE;AACzE,mFAA6E;AAC7E,uFAAiF;AACjF,2FAAqF;AACrF,uFAAiF;AACjF,yEAGyC;AACzC,6FAAuF;AACvF,iGAA2F;AAC3F,6FAAuF;AACvF,2EAAsE;AACtE,2EAAsE;AACtE,uFAAiF;AACjF,6EAAwE;AACxE,iFAA4E;AAC5E,6EAAwE;AACxE,kEAA4D;AAC5D,4DAAsD;AACtD,kEAA4D;AAC5D,oEAA8D;AAC9D,0EAA4D;AAC5D,wDAAmD;AACnD,oEAA8D;AAC9D,0DAAqD;AACrD,oEAA8D;AAC9D,8DAAwD;AACxD,sEAAgE;AAChE,wDAAmD;AACnD,wDAAmD;AACnD,4EAAsE;AACtE,0DAAqD;AACrD,4DAAuD;AAE1C,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE;QACX,gDAAqB;QACrB,2CAAmB;QACnB,8DAA4B;QAC5B,6CAAoB;QACpB,+CAAqB;QACrB,2CAAmB;QACnB,wDAAyB;QACzB,6CAAoB;KACrB;IACD,QAAQ,EAAE,CAAC,yCAAkB,CAAU;IACvC,SAAS,EAAE;QACT,kDAAsB;QACtB,sDAAwB;QACxB,kDAAsB;QACtB,4CAAsB;QACtB,4CAAmB;QACnB,4CAAmB;QACnB,gDAAqB;QACrB,oDAAuB;QACvB,wDAAyB;QACzB,oDAAuB;QACvB,uCAAiB;QACjB,0DAA0B;QAC1B,8DAA4B;QAC5B,0DAA0B;QAC1B,yCAAkB;QAClB,yCAAkB;QAClB,oDAAuB;QACvB,2CAAmB;QACnB,+CAAqB;QACrB,2CAAmB;KACpB;IACD,IAAI,EAAE;QACJ,oCAAe;QACf,8BAAY;QACZ,oCAAe;QACf,sCAAgB;QAChB,oCAAW;QACX,2BAAW;QACX,sCAAgB;QAChB,6BAAY;QACZ,sCAAgB;QAChB,gCAAa;QACb,2BAAW;QACX,wCAAiB;QACjB,2BAAW;QACX,8CAAoB;QACpB,6BAAY;QACZ,+BAAa;KACd;IACD,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;CAChB,CAAC"}
1
+ {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/admin/es6.classes.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAC/E,+EAA0E;AAC1E,mGAA6F;AAC7F,iFAA4E;AAC5E,mFAA8E;AAC9E,6FAAuF;AACvF,6FAAuF;AACvF,+EAA0E;AAC1E,iFAA4E;AAC5E,0EAAqE;AACrE,wEAAmE;AACnE,qFAA+E;AAC/E,yFAAmF;AACnF,qFAA+E;AAC/E,+EAAyE;AACzE,+EAAyE;AACzE,mFAA6E;AAC7E,uFAAiF;AACjF,2FAAqF;AACrF,uFAAiF;AACjF,yEAGyC;AACzC,6FAAuF;AACvF,iGAA2F;AAC3F,6FAAuF;AACvF,2EAAsE;AACtE,2EAAsE;AACtE,uFAAiF;AACjF,uFAAiF;AACjF,uFAAiF;AACjF,6EAAwE;AACxE,iFAA4E;AAC5E,6EAAwE;AACxE,kEAA4D;AAC5D,4DAAsD;AACtD,kEAA4D;AAC5D,oEAA8D;AAC9D,0EAA4D;AAC5D,wDAAmD;AACnD,oEAA8D;AAC9D,oEAA8D;AAC9D,0DAAqD;AACrD,oEAA8D;AAC9D,8DAAwD;AACxD,sEAAgE;AAChE,wDAAmD;AACnD,wDAAmD;AACnD,4EAAsE;AACtE,0DAAqD;AACrD,sEAAgE;AAChE,4DAAuD;AAE1C,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE;QACX,gDAAqB;QACrB,2CAAmB;QACnB,8DAA4B;QAC5B,6CAAoB;QACpB,+CAAqB;QACrB,2CAAmB;QACnB,wDAAyB;QACzB,wDAAyB;QACzB,6CAAoB;KACrB;IACD,QAAQ,EAAE,CAAC,yCAAkB,EAAE,uCAAiB,CAAU;IAC1D,SAAS,EAAE;QACT,kDAAsB;QACtB,sDAAwB;QACxB,kDAAsB;QACtB,4CAAsB;QACtB,4CAAmB;QACnB,4CAAmB;QACnB,gDAAqB;QACrB,oDAAuB;QACvB,wDAAyB;QACzB,oDAAuB;QACvB,uCAAiB;QACjB,0DAA0B;QAC1B,8DAA4B;QAC5B,0DAA0B;QAC1B,yCAAkB;QAClB,yCAAkB;QAClB,oDAAuB;QACvB,oDAAuB;QACvB,oDAAuB;QACvB,2CAAmB;QACnB,+CAAqB;QACrB,2CAAmB;KACpB;IACD,IAAI,EAAE;QACJ,oCAAe;QACf,8BAAY;QACZ,oCAAe;QACf,sCAAgB;QAChB,oCAAW;QACX,2BAAW;QACX,sCAAgB;QAChB,sCAAgB;QAChB,6BAAY;QACZ,sCAAgB;QAChB,gCAAa;QACb,2BAAW;QACX,wCAAiB;QACjB,2BAAW;QACX,8CAAoB;QACpB,6BAAY;QACZ,wCAAiB;QACjB,+BAAa;KACd;IACD,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;CAChB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { UserDataProcessor } from './user.data.processor';
2
+ import { UserEntity } from '../../auth/entities/user.entity';
3
+ import { AddSystemUserDto } from '../dtos/add.system.user.dto';
4
+ export declare class SystemUserDataProcessor extends UserDataProcessor {
5
+ protected payload: AddSystemUserDto;
6
+ process(payload: AddSystemUserDto): Promise<UserEntity>;
7
+ private validate;
8
+ private save;
9
+ private create;
10
+ private update;
11
+ }
12
+ //# sourceMappingURL=system.user.data.processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/system.user.data.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAI7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAQ/D,qBAAa,uBAAwB,SAAQ,iBAAiB;IAC5D,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAE9B,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;YAM/C,QAAQ;YAkBR,IAAI;YAKJ,MAAM;YAoBN,MAAM;CA2BrB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SystemUserDataProcessor = void 0;
4
+ const user_data_processor_1 = require("./user.data.processor");
5
+ const user_entity_1 = require("../../auth/entities/user.entity");
6
+ const user_type_enum_1 = require("../../auth/enums/user.type.enum");
7
+ const auth_utilities_1 = require("../../auth/utilities/auth.utilities");
8
+ const access_revocation_1 = require("../../auth/utilities/access.revocation");
9
+ const access_exception_1 = require("../../global/exceptions/access.exception");
10
+ class SystemUserDataProcessor extends user_data_processor_1.UserDataProcessor {
11
+ async process(payload) {
12
+ this.payload = payload;
13
+ await this.validate();
14
+ return this.save();
15
+ }
16
+ async validate() {
17
+ const editId = this.payload.id;
18
+ if (editId &&
19
+ !(await user_entity_1.UserEntity.existsBy({
20
+ id: editId,
21
+ user_type: user_type_enum_1.UserType.SYSTEM_USER,
22
+ })))
23
+ this.setColumnError('id', 'No system user exists for this id');
24
+ await this.assertEmailAvailable(this.payload.email, 'email', editId);
25
+ this.assertPasswordOnCreate(this.payload.password, !!editId);
26
+ this.throwExceptionOnError();
27
+ }
28
+ async save() {
29
+ if (this.payload?.id)
30
+ return this.update();
31
+ return this.create();
32
+ }
33
+ async create() {
34
+ const body = this.payload;
35
+ const user = user_entity_1.UserEntity.create({
36
+ user_type: user_type_enum_1.UserType.SYSTEM_USER,
37
+ has_global_access: body.has_global_access ?? false,
38
+ full_name: body.full_name,
39
+ email: body.email,
40
+ password: await auth_utilities_1.AuthUtility.hashPassword(body.password),
41
+ country: body.country,
42
+ contact_code: body.contact_code,
43
+ contact: body.contact,
44
+ active: body.active ?? true,
45
+ });
46
+ await user.save();
47
+ return this.stripSecrets(user);
48
+ }
49
+ async update() {
50
+ const body = this.payload;
51
+ const user = await user_entity_1.UserEntity.findOne({ where: { id: body.id } });
52
+ if (!user)
53
+ throw new access_exception_1.AccessException('Invalid user id provided');
54
+ const hadAccess = user.has_global_access && user.active;
55
+ user.full_name = body.full_name;
56
+ user.email = body.email;
57
+ user.country = body.country;
58
+ user.contact_code = body.contact_code;
59
+ user.contact = body.contact;
60
+ user.active = body.active ?? true;
61
+ user.has_global_access = body.has_global_access ?? false;
62
+ await user.save();
63
+ if (hadAccess && !(user.has_global_access && user.active))
64
+ await user_entity_1.UserEntity.getRepository().manager.transaction((trx) => access_revocation_1.AccessRevocation.revokeAll(trx, user.id, false));
65
+ return this.stripSecrets(user);
66
+ }
67
+ }
68
+ exports.SystemUserDataProcessor = SystemUserDataProcessor;
69
+ //# sourceMappingURL=system.user.data.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/system.user.data.processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { CommonListProcessor } from '../../common/libraries/common.list.processor';
2
+ import { SqlService } from '../../common/services/sql.service';
3
+ import { SystemUserListDto } from '../dtos/system.user.list.dto';
4
+ export declare class SystemUserListProcessor extends CommonListProcessor {
5
+ protected readonly sqlService: SqlService;
6
+ constructor(sqlService: SqlService);
7
+ process(payload: SystemUserListDto): Promise<{
8
+ records: import("../..").SqlRow[];
9
+ total: number;
10
+ page: number;
11
+ limit: number;
12
+ total_pages: number;
13
+ }>;
14
+ }
15
+ //# sourceMappingURL=system.user.list.processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.user.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/system.user.list.processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AASjE,qBAAa,uBAAwB,SAAQ,mBAAmB;IAClD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBAAtB,UAAU,EAAE,UAAU;IAI/C,OAAO,CAAC,OAAO,EAAE,iBAAiB;;;;;;;CAoCzC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SystemUserListProcessor = void 0;
4
+ const sort_direction_enum_1 = require("../../common/enums/sort.direction.enum");
5
+ const filter_operator_enum_1 = require("../../common/enums/filter.operator.enum");
6
+ const filter_value_type_enum_1 = require("../../common/enums/filter.value.type.enum");
7
+ const common_list_processor_1 = require("../../common/libraries/common.list.processor");
8
+ const user_type_enum_1 = require("../../auth/enums/user.type.enum");
9
+ class SystemUserListProcessor extends common_list_processor_1.CommonListProcessor {
10
+ constructor(sqlService) {
11
+ super();
12
+ this.sqlService = sqlService;
13
+ }
14
+ async process(payload) {
15
+ this.config = {
16
+ query: 'sys_users u',
17
+ columns: [
18
+ { key: 'u.id', identifier: 'id' },
19
+ { key: 'u.full_name', identifier: 'full_name', searchable: true },
20
+ { key: 'u.email', identifier: 'email', searchable: true },
21
+ { key: 'u.active', identifier: 'active' },
22
+ { key: 'u.user_type', identifier: 'user_type' },
23
+ { key: 'u.has_global_access', identifier: 'has_global_access' },
24
+ { key: 'u.country', identifier: 'country' },
25
+ { key: 'u.contact_code', identifier: 'contact_code' },
26
+ { key: 'u.contact', identifier: 'contact', searchable: true },
27
+ { key: 'u.last_login_at', identifier: 'last_login_at' },
28
+ { key: 'u.email_verified_at', identifier: 'email_verified_at' },
29
+ { key: 'u.created_at', identifier: 'created_at' },
30
+ { key: 'u.deleted_at', identifier: 'deleted_at' },
31
+ ],
32
+ defaultSort: { field: 'created_at', direction: sort_direction_enum_1.SortDirection.DESC },
33
+ };
34
+ this.payload = {
35
+ ...payload,
36
+ filters: [
37
+ ...(payload.filters ?? []),
38
+ {
39
+ identifier: 'user_type',
40
+ value: user_type_enum_1.UserType.SYSTEM_USER,
41
+ value_type: filter_value_type_enum_1.FilterValueTypeEnum.STRING,
42
+ operator: filter_operator_enum_1.FilterOperatorEnum.EQ,
43
+ },
44
+ ],
45
+ };
46
+ return this.handle();
47
+ }
48
+ }
49
+ exports.SystemUserListProcessor = SystemUserListProcessor;
50
+ //# sourceMappingURL=system.user.list.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.user.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/system.user.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,kFAA6E;AAC7E,sFAAgF;AAChF,wFAAmF;AAEnF,oEAA2D;AAU3D,MAAa,uBAAwB,SAAQ,2CAAmB;IAC9D,YAA+B,UAAsB;QACnD,KAAK,EAAE,CAAC;QADqB,eAAU,GAAV,UAAU,CAAY;IAErD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA0B;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjC,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;gBACzC,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE;gBAC/C,EAAE,GAAG,EAAE,qBAAqB,EAAE,UAAU,EAAE,mBAAmB,EAAE;gBAC/D,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;gBAC3C,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE;gBACrD,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE;gBACvD,EAAE,GAAG,EAAE,qBAAqB,EAAE,UAAU,EAAE,mBAAmB,EAAE;gBAC/D,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE;gBACjD,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE;aAClD;YACD,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,mCAAa,CAAC,IAAI,EAAE;SACpE,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B;oBACE,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,yBAAQ,CAAC,WAAW;oBAC3B,UAAU,EAAE,4CAAmB,CAAC,MAAM;oBACtC,QAAQ,EAAE,yCAAkB,CAAC,EAAE;iBAChC;aACF;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AAzCD,0DAyCC"}
@@ -0,0 +1,6 @@
1
+ import { AdminUserEntity } from '../../auth/entities/admin.user.entity';
2
+ import { DeleteResult } from '../types/admin.types';
3
+ export declare class SystemUserService {
4
+ delete(id: string, actor: AdminUserEntity): Promise<DeleteResult>;
5
+ }
6
+ //# sourceMappingURL=system.user.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.user.service.d.ts","sourceRoot":"","sources":["../../../src/admin/services/system.user.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAMxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,qBACa,iBAAiB;IAMtB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;CAaxE"}