@neohm/nestend 3.1.4 → 3.2.0

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 (168) hide show
  1. package/README.md +68 -10
  2. package/dist/admin/controllers/admin.api.key.controller.d.ts +24 -0
  3. package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -0
  4. package/dist/admin/controllers/admin.api.key.controller.js +117 -0
  5. package/dist/admin/controllers/admin.api.key.controller.js.map +1 -0
  6. package/dist/admin/controllers/admin.scheduled.task.controller.d.ts +1 -1
  7. package/dist/admin/controllers/admin.scope.controller.d.ts +24 -0
  8. package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -0
  9. package/dist/admin/controllers/admin.scope.controller.js +106 -0
  10. package/dist/admin/controllers/admin.scope.controller.js.map +1 -0
  11. package/dist/admin/controllers/admin.tenant.controller.d.ts +5 -6
  12. package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
  13. package/dist/admin/controllers/admin.tenant.controller.js +17 -11
  14. package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
  15. package/dist/admin/controllers/admin.tenant.user.controller.d.ts +4 -6
  16. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  17. package/dist/admin/controllers/admin.tenant.user.controller.js +5 -8
  18. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  19. package/dist/admin/controllers/admin.user.controller.d.ts +1 -1
  20. package/dist/admin/dtos/add.api.key.dto.d.ts +7 -0
  21. package/dist/admin/dtos/add.api.key.dto.d.ts.map +1 -0
  22. package/dist/admin/dtos/add.api.key.dto.js +55 -0
  23. package/dist/admin/dtos/add.api.key.dto.js.map +1 -0
  24. package/dist/admin/dtos/add.client.user.dto.d.ts +1 -2
  25. package/dist/admin/dtos/add.client.user.dto.d.ts.map +1 -1
  26. package/dist/admin/dtos/add.client.user.dto.js +2 -1
  27. package/dist/admin/dtos/add.client.user.dto.js.map +1 -1
  28. package/dist/admin/dtos/add.scope.dto.d.ts +7 -0
  29. package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -0
  30. package/dist/admin/dtos/add.scope.dto.js +47 -0
  31. package/dist/admin/dtos/add.scope.dto.js.map +1 -0
  32. package/dist/admin/dtos/add.tenant.dto.d.ts +1 -0
  33. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  34. package/dist/admin/dtos/add.tenant.dto.js +12 -0
  35. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  36. package/dist/admin/dtos/api.key.list.dto.d.ts +4 -0
  37. package/dist/admin/dtos/api.key.list.dto.d.ts.map +1 -0
  38. package/dist/admin/dtos/api.key.list.dto.js +8 -0
  39. package/dist/admin/dtos/api.key.list.dto.js.map +1 -0
  40. package/dist/admin/dtos/scope.list.dto.d.ts +4 -0
  41. package/dist/admin/dtos/scope.list.dto.d.ts.map +1 -0
  42. package/dist/admin/dtos/scope.list.dto.js +8 -0
  43. package/dist/admin/dtos/scope.list.dto.js.map +1 -0
  44. package/dist/admin/es6.classes.d.ts +12 -4
  45. package/dist/admin/es6.classes.d.ts.map +1 -1
  46. package/dist/admin/es6.classes.js +21 -1
  47. package/dist/admin/es6.classes.js.map +1 -1
  48. package/dist/admin/libraries/api.key.data.processor.d.ts +16 -0
  49. package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -0
  50. package/dist/admin/libraries/api.key.data.processor.js +59 -0
  51. package/dist/admin/libraries/api.key.data.processor.js.map +1 -0
  52. package/dist/admin/libraries/api.key.list.processor.d.ts +15 -0
  53. package/dist/admin/libraries/api.key.list.processor.d.ts.map +1 -0
  54. package/dist/admin/libraries/api.key.list.processor.js +48 -0
  55. package/dist/admin/libraries/api.key.list.processor.js.map +1 -0
  56. package/dist/admin/libraries/client.user.data.processor.d.ts +3 -6
  57. package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
  58. package/dist/admin/libraries/client.user.data.processor.js +14 -33
  59. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  60. package/dist/admin/libraries/scope.data.processor.d.ts +13 -0
  61. package/dist/admin/libraries/scope.data.processor.d.ts.map +1 -0
  62. package/dist/admin/libraries/scope.data.processor.js +43 -0
  63. package/dist/admin/libraries/scope.data.processor.js.map +1 -0
  64. package/dist/admin/libraries/scope.list.processor.d.ts +15 -0
  65. package/dist/admin/libraries/scope.list.processor.d.ts.map +1 -0
  66. package/dist/admin/libraries/scope.list.processor.js +29 -0
  67. package/dist/admin/libraries/scope.list.processor.js.map +1 -0
  68. package/dist/admin/libraries/tenant.data.processor.d.ts +5 -6
  69. package/dist/admin/libraries/tenant.data.processor.d.ts.map +1 -1
  70. package/dist/admin/libraries/tenant.data.processor.js +41 -28
  71. package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
  72. package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
  73. package/dist/admin/libraries/tenant.delete.processor.js +14 -0
  74. package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
  75. package/dist/admin/types/admin.types.d.ts +10 -4
  76. package/dist/admin/types/admin.types.d.ts.map +1 -1
  77. package/dist/auth/auth.module.d.ts.map +1 -1
  78. package/dist/auth/auth.module.js +9 -2
  79. package/dist/auth/auth.module.js.map +1 -1
  80. package/dist/auth/entities/api.key.entity.d.ts +3 -1
  81. package/dist/auth/entities/api.key.entity.d.ts.map +1 -1
  82. package/dist/auth/entities/api.key.entity.js +9 -3
  83. package/dist/auth/entities/api.key.entity.js.map +1 -1
  84. package/dist/auth/entities/tenant.scope.entity.d.ts +10 -0
  85. package/dist/auth/entities/tenant.scope.entity.d.ts.map +1 -0
  86. package/dist/auth/entities/tenant.scope.entity.js +41 -0
  87. package/dist/auth/entities/tenant.scope.entity.js.map +1 -0
  88. package/dist/auth/enums/api.key.default.enum.d.ts +2 -1
  89. package/dist/auth/enums/api.key.default.enum.d.ts.map +1 -1
  90. package/dist/auth/enums/api.key.default.enum.js +1 -0
  91. package/dist/auth/enums/api.key.default.enum.js.map +1 -1
  92. package/dist/auth/es6.classes.d.ts +2 -1
  93. package/dist/auth/es6.classes.d.ts.map +1 -1
  94. package/dist/auth/es6.classes.js +2 -0
  95. package/dist/auth/es6.classes.js.map +1 -1
  96. package/dist/auth/guards/api.key.guard.js +1 -1
  97. package/dist/auth/guards/api.key.guard.js.map +1 -1
  98. package/dist/auth/helpers/api.key.context.d.ts +6 -1
  99. package/dist/auth/helpers/api.key.context.d.ts.map +1 -1
  100. package/dist/auth/helpers/api.key.context.js +11 -2
  101. package/dist/auth/helpers/api.key.context.js.map +1 -1
  102. package/dist/auth/middlewares/api.key.middleware.d.ts +1 -0
  103. package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
  104. package/dist/auth/middlewares/api.key.middleware.js +17 -5
  105. package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
  106. package/dist/auth/services/api.key.service.d.ts +13 -2
  107. package/dist/auth/services/api.key.service.d.ts.map +1 -1
  108. package/dist/auth/services/api.key.service.js +77 -5
  109. package/dist/auth/services/api.key.service.js.map +1 -1
  110. package/dist/auth/services/auth.service.d.ts +4 -1
  111. package/dist/auth/services/auth.service.d.ts.map +1 -1
  112. package/dist/auth/services/auth.service.js +19 -15
  113. package/dist/auth/services/auth.service.js.map +1 -1
  114. package/dist/auth/services/scope.service.d.ts +10 -0
  115. package/dist/auth/services/scope.service.d.ts.map +1 -0
  116. package/dist/auth/services/scope.service.js +50 -0
  117. package/dist/auth/services/scope.service.js.map +1 -0
  118. package/dist/auth/types/api.key.types.d.ts +15 -1
  119. package/dist/auth/types/api.key.types.d.ts.map +1 -1
  120. package/dist/common/types/common.response.types.d.ts +10 -0
  121. package/dist/common/types/common.response.types.d.ts.map +1 -1
  122. package/dist/constants/entity.constants.d.ts +1 -0
  123. package/dist/constants/entity.constants.d.ts.map +1 -1
  124. package/dist/constants/entity.constants.js +1 -0
  125. package/dist/constants/entity.constants.js.map +1 -1
  126. package/dist/constants/entity.maps.d.ts +2 -0
  127. package/dist/constants/entity.maps.d.ts.map +1 -1
  128. package/dist/constants/entity.maps.js +2 -0
  129. package/dist/constants/entity.maps.js.map +1 -1
  130. package/dist/constants/job.constants.d.ts +2 -0
  131. package/dist/constants/job.constants.d.ts.map +1 -1
  132. package/dist/constants/job.constants.js +2 -0
  133. package/dist/constants/job.constants.js.map +1 -1
  134. package/dist/constants/job.maps.d.ts.map +1 -1
  135. package/dist/constants/job.maps.js.map +1 -1
  136. package/dist/index.d.ts +4 -2
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +7 -3
  139. package/dist/index.js.map +1 -1
  140. package/dist/migrations/1749600000017.CreateSysApiKeysTable.d.ts.map +1 -1
  141. package/dist/migrations/1749600000017.CreateSysApiKeysTable.js +7 -1
  142. package/dist/migrations/1749600000017.CreateSysApiKeysTable.js.map +1 -1
  143. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.d.ts +6 -0
  144. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.d.ts.map +1 -0
  145. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js +36 -0
  146. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js.map +1 -0
  147. package/dist/notification/es6.classes.d.ts +3 -1
  148. package/dist/notification/es6.classes.d.ts.map +1 -1
  149. package/dist/notification/es6.classes.js +3 -1
  150. package/dist/notification/es6.classes.js.map +1 -1
  151. package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts +15 -0
  152. package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts.map +1 -0
  153. package/dist/notification/jobs/tenant.onboarded.mail.job.js +56 -0
  154. package/dist/notification/jobs/tenant.onboarded.mail.job.js.map +1 -0
  155. package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts +15 -0
  156. package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts.map +1 -0
  157. package/dist/notification/jobs/tenant.user.onboarded.mail.job.js +56 -0
  158. package/dist/notification/jobs/tenant.user.onboarded.mail.job.js.map +1 -0
  159. package/dist/notification/notification.module.d.ts.map +1 -1
  160. package/dist/notification/notification.module.js +7 -0
  161. package/dist/notification/notification.module.js.map +1 -1
  162. package/dist/notification/types/email.notification.types.d.ts +12 -0
  163. package/dist/notification/types/email.notification.types.d.ts.map +1 -1
  164. package/package.json +1 -1
  165. package/dist/admin/dtos/add.user.role.dto.d.ts +0 -4
  166. package/dist/admin/dtos/add.user.role.dto.d.ts.map +0 -1
  167. package/dist/admin/dtos/add.user.role.dto.js +0 -22
  168. package/dist/admin/dtos/add.user.role.dto.js.map +0 -1
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiKeyListProcessor = void 0;
4
+ const sort_direction_enum_1 = require("../../common/enums/sort.direction.enum");
5
+ const common_list_processor_1 = require("../../common/libraries/common.list.processor");
6
+ class ApiKeyListProcessor extends common_list_processor_1.CommonListProcessor {
7
+ constructor(sqlService) {
8
+ super();
9
+ this.sqlService = sqlService;
10
+ }
11
+ async process(payload) {
12
+ this.config = {
13
+ query: `sys_api_keys k
14
+ left join sys_tenants t on t.id = k.tenant_id
15
+ left join lateral (
16
+ select coalesce(
17
+ json_agg(
18
+ json_build_object('id', s.id, 'identifier', s.identifier, 'name', s.name)
19
+ order by s.identifier
20
+ ),
21
+ '[]'::json
22
+ ) granted
23
+ from sys_api_scopes aks
24
+ join sys_scopes s on s.id = aks.scope_id and s.deleted_at is null
25
+ where aks.api_key_id = k.id and aks.deleted_at is null
26
+ ) sc on true`,
27
+ columns: [
28
+ { key: 'k.id', identifier: 'id' },
29
+ { key: 'k.name', identifier: 'name', searchable: true },
30
+ { key: 'k.key_prefix', identifier: 'key_prefix', searchable: true },
31
+ { key: 'k.is_active', identifier: 'is_active' },
32
+ { key: 'k.tenant_id', identifier: 'tenant_id' },
33
+ { key: 't.name', identifier: 'tenant_name', searchable: true },
34
+ { key: 'sc.granted', identifier: 'scopes' },
35
+ { key: 'k.expires_at', identifier: 'expires_at' },
36
+ { key: 'k.revoked_at', identifier: 'revoked_at' },
37
+ { key: 'k.last_used_at', identifier: 'last_used_at' },
38
+ { key: 'k.created_at', identifier: 'created_at' },
39
+ { key: 'k.deleted_at', identifier: 'deleted_at' },
40
+ ],
41
+ defaultSort: { field: 'created_at', direction: sort_direction_enum_1.SortDirection.DESC },
42
+ };
43
+ this.payload = payload;
44
+ return this.handle();
45
+ }
46
+ }
47
+ exports.ApiKeyListProcessor = ApiKeyListProcessor;
48
+ //# sourceMappingURL=api.key.list.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.key.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/api.key.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,wFAAmF;AAanF,MAAa,mBAAoB,SAAQ,2CAAmB;IAC1D,YAA+B,UAAsB;QACnD,KAAK,EAAE,CAAC;QADqB,eAAU,GAAV,UAAU,CAAY;IAErD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAsB;QAClC,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE;;;;;;;;;;;;;qBAaQ;YACf,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvD,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;gBACnE,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE;gBAC/C,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE;gBAC/C,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC9D,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE;gBAC3C,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE;gBACjD,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE;gBACjD,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE;gBACrD,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;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AAxCD,kDAwCC"}
@@ -2,16 +2,14 @@ import { UserDataProcessor } from './user.data.processor';
2
2
  import { UserEntity } from '../../auth/entities/user.entity';
3
3
  import { TenantService } from '../../tenant/services/tenant.service';
4
4
  import { AddClientUserDto } from '../dtos/add.client.user.dto';
5
- import { EmailNotificationService } from '../../notification/services/email.notification.service';
6
- import { SystemPropertyService } from '../../common/services/system.property.service';
5
+ import { TenantUserOnboardedMailJob } from '../../notification/jobs/tenant.user.onboarded.mail.job';
7
6
  export declare class ClientUserDataProcessor extends UserDataProcessor {
8
7
  private readonly tenantService;
9
- private readonly emailNotificationService;
10
- private readonly systemPropertyService;
8
+ private readonly tenantUserOnboardedMailJob;
11
9
  protected payload: AddClientUserDto;
12
10
  private readonly logger;
13
11
  private tenant;
14
- constructor(tenantService: TenantService, emailNotificationService: EmailNotificationService, systemPropertyService: SystemPropertyService);
12
+ constructor(tenantService: TenantService, tenantUserOnboardedMailJob: TenantUserOnboardedMailJob);
15
13
  process(payload: AddClientUserDto): Promise<UserEntity>;
16
14
  private validate;
17
15
  private validateTenant;
@@ -22,6 +20,5 @@ export declare class ClientUserDataProcessor extends UserDataProcessor {
22
20
  private grantRoles;
23
21
  private updateRoles;
24
22
  private notifyUser;
25
- private supportContact;
26
23
  }
27
24
  //# sourceMappingURL=client.user.data.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAM/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAQtF,qBAAa,uBAAwB,SAAQ,iBAAiB;IAO1D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IARxC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,OAAO,CAAC,MAAM,CAA6B;gBAGxB,aAAa,EAAE,aAAa,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,qBAAqB,EAAE,qBAAqB;IAKzD,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;YAM/C,QAAQ;YAQR,cAAc;YAQd,YAAY;YAuBZ,IAAI;YAKJ,MAAM;YAsBN,MAAM;YAmBN,UAAU;YASV,WAAW;YA2BX,UAAU;YAyBV,cAAc;CAiB7B"}
1
+ {"version":3,"file":"client.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AAQpG,qBAAa,uBAAwB,SAAQ,iBAAiB;IAO1D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAP7C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,OAAO,CAAC,MAAM,CAA6B;gBAGxB,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B;IAKnE,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;YAM/C,QAAQ;YAQR,cAAc;YAQd,YAAY;YAuBZ,IAAI;YAKJ,MAAM;YAsBN,MAAM;YAmBN,UAAU;YASV,WAAW;YA4BX,UAAU;CAiBzB"}
@@ -6,19 +6,15 @@ const user_data_processor_1 = require("./user.data.processor");
6
6
  const user_entity_1 = require("../../auth/entities/user.entity");
7
7
  const user_type_enum_1 = require("../../auth/enums/user.type.enum");
8
8
  const auth_utilities_1 = require("../../auth/utilities/auth.utilities");
9
- const email_notification_default_enum_1 = require("../../notification/enums/email.notification.default.enum");
10
- const email_template_identifier_enum_1 = require("../../notification/enums/email.template.identifier.enum");
11
- const process_email_notification_1 = require("../../notification/libraries/process.email.notification");
12
9
  const user_role_entity_1 = require("../../auth/entities/user.role.entity");
13
10
  const access_exception_1 = require("../../global/exceptions/access.exception");
14
11
  const typeorm_1 = require("typeorm");
15
12
  const system_role_entity_1 = require("../../auth/entities/system.role.entity");
16
13
  class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
17
- constructor(tenantService, emailNotificationService, systemPropertyService) {
14
+ constructor(tenantService, tenantUserOnboardedMailJob) {
18
15
  super();
19
16
  this.tenantService = tenantService;
20
- this.emailNotificationService = emailNotificationService;
21
- this.systemPropertyService = systemPropertyService;
17
+ this.tenantUserOnboardedMailJob = tenantUserOnboardedMailJob;
22
18
  this.logger = new common_1.Logger(ClientUserDataProcessor.name);
23
19
  this.tenant = null;
24
20
  }
@@ -43,7 +39,7 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
43
39
  if (!roleIds?.length) {
44
40
  return [];
45
41
  }
46
- const uniqueRoleIds = [...new Set(roleIds.map((role) => role.role_id))];
42
+ const uniqueRoleIds = [...new Set(roleIds.map((role_id) => role_id))];
47
43
  const roles = await system_role_entity_1.SystemRoleEntity.find({
48
44
  where: {
49
45
  id: (0, typeorm_1.In)(uniqueRoleIds),
@@ -59,8 +55,8 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
59
55
  }
60
56
  async save() {
61
57
  if (this.payload?.id)
62
- return this.create();
63
- return this.update();
58
+ return this.update();
59
+ return this.create();
64
60
  }
65
61
  async create() {
66
62
  const body = this.payload;
@@ -98,7 +94,7 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
98
94
  async grantRoles(user) {
99
95
  if (!this.payload?.role_ids?.length)
100
96
  return;
101
- const userRoles = [...new Set(this.payload.role_ids)].map((role) => user_role_entity_1.UserRoleEntity.create({ user_id: user.id, role_id: role.role_id }));
97
+ const userRoles = [...new Set(this.payload.role_ids)].map((role_id) => user_role_entity_1.UserRoleEntity.create({ user_id: user.id, role_id }));
102
98
  await user_role_entity_1.UserRoleEntity.save(userRoles);
103
99
  }
104
100
  async updateRoles(user) {
@@ -108,7 +104,7 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
108
104
  },
109
105
  });
110
106
  const existingRoleIds = new Set(existingRoles.map((role) => role.role_id));
111
- const roleIds = new Set((this.payload?.role_ids ?? []).map((role) => role.role_id));
107
+ const roleIds = new Set((this.payload?.role_ids ?? []).map((role_id) => role_id));
112
108
  for (const existingRole of existingRoles)
113
109
  if (!roleIds.has(existingRole.role_id))
114
110
  await existingRole.softRemove();
@@ -120,34 +116,19 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
120
116
  }).save();
121
117
  }
122
118
  async notifyUser(user) {
123
- const notificationData = {
124
- identifier: email_template_identifier_enum_1.EmailTemplateIdentifier.TENANT_USER_ONBOARDED,
125
- emailRecipients: [{ recipient: user.email }],
126
- data: {
127
- user_name: user.full_name,
128
- user_email: user.email,
129
- tenant_name: this.tenant?.name ?? '',
130
- onboarded_on: user.created_at.toISOString(),
131
- ...(await this.supportContact()),
132
- },
119
+ const data = {
120
+ user_name: user.full_name,
121
+ user_email: user.email,
122
+ tenant_name: this.tenant?.name ?? '',
123
+ onboarded_on: user.created_at.toISOString(),
133
124
  };
134
125
  try {
135
- await new process_email_notification_1.ProcessEmailNotification(this.emailNotificationService).process(notificationData);
126
+ await this.tenantUserOnboardedMailJob.dispatch(data);
136
127
  }
137
128
  catch (error) {
138
- this.logger.warn(`Failed to send the "${notificationData.identifier}" email to ${user.email}: ${error.message}`);
129
+ this.logger.warn(`Failed to queue the tenant user onboarding email for ${user.email}: ${error.message}`);
139
130
  }
140
131
  }
141
- async supportContact() {
142
- const [supportEmail, supportLink] = await Promise.all([
143
- this.systemPropertyService.get(email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_EMAIL_PROPERTY),
144
- this.systemPropertyService.get(email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_LINK_PROPERTY),
145
- ]);
146
- return {
147
- support_email: supportEmail || email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_EMAIL_FALLBACK,
148
- support_link: supportLink || email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_LINK_FALLBACK,
149
- };
150
- }
151
132
  }
152
133
  exports.ClientUserDataProcessor = ClientUserDataProcessor;
153
134
  //# sourceMappingURL=client.user.data.processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CommonDataProcessor } from '../../common/libraries/common.data.processor';
2
+ import { AdminUserEntity } from '../../auth/entities/admin.user.entity';
3
+ import { ScopeEntity } from '../../auth/entities/scope.entity';
4
+ import { AddScopeDto } from '../dtos/add.scope.dto';
5
+ export declare class ScopeDataProcessor extends CommonDataProcessor {
6
+ private readonly actor;
7
+ protected payload: AddScopeDto;
8
+ constructor(actor: AdminUserEntity);
9
+ process(payload: AddScopeDto): Promise<ScopeEntity>;
10
+ private validate;
11
+ private set;
12
+ }
13
+ //# sourceMappingURL=scope.data.processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOpD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAG7C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;gBAEF,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAM3C,QAAQ;YAoBR,GAAG;CAgBlB"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeDataProcessor = void 0;
4
+ const common_data_processor_1 = require("../../common/libraries/common.data.processor");
5
+ const scope_entity_1 = require("../../auth/entities/scope.entity");
6
+ class ScopeDataProcessor extends common_data_processor_1.CommonDataProcessor {
7
+ constructor(actor) {
8
+ super();
9
+ this.actor = actor;
10
+ }
11
+ async process(payload) {
12
+ this.payload = payload;
13
+ await this.validate();
14
+ return this.set();
15
+ }
16
+ async validate() {
17
+ const body = this.payload;
18
+ if (body.id && !(await scope_entity_1.ScopeEntity.existsBy({ id: body.id })))
19
+ this.setColumnError('id', 'No scope exists for this id');
20
+ const owner = await scope_entity_1.ScopeEntity.findOne({
21
+ where: { identifier: body.identifier },
22
+ });
23
+ if (owner && owner.id !== body.id)
24
+ this.setColumnError('identifier', 'A scope with this identifier already exists');
25
+ this.throwExceptionOnError();
26
+ }
27
+ async set() {
28
+ const body = this.payload;
29
+ let scope = scope_entity_1.ScopeEntity.create({ created_by: this.actor.id });
30
+ if (body.id) {
31
+ const exists = await scope_entity_1.ScopeEntity.findOne({ where: { id: body.id } });
32
+ if (exists)
33
+ scope = exists;
34
+ }
35
+ scope.identifier = body.identifier;
36
+ scope.name = body.name;
37
+ scope.description = body.description;
38
+ await scope.save();
39
+ return scope;
40
+ }
41
+ }
42
+ exports.ScopeDataProcessor = ScopeDataProcessor;
43
+ //# sourceMappingURL=scope.data.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AAEnF,mEAA+D;AAQ/D,MAAa,kBAAmB,SAAQ,2CAAmB;IAGzD,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,0BAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;QAI3D,MAAM,KAAK,GAAG,MAAM,0BAAW,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SACvC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,cAAc,CACjB,YAAY,EACZ,6CAA6C,CAC9C,CAAC;QAEJ,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,KAAK,GAAG,0BAAW,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,0BAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrE,IAAI,MAAM;gBAAE,KAAK,GAAG,MAAM,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAjDD,gDAiDC"}
@@ -0,0 +1,15 @@
1
+ import { CommonListProcessor } from '../../common/libraries/common.list.processor';
2
+ import { SqlService } from '../../common/services/sql.service';
3
+ import { ScopeListDto } from '../dtos/scope.list.dto';
4
+ export declare class ScopeListProcessor extends CommonListProcessor {
5
+ protected readonly sqlService: SqlService;
6
+ constructor(sqlService: SqlService);
7
+ process(payload: ScopeListDto): Promise<{
8
+ records: import("../..").SqlRow[];
9
+ total: number;
10
+ page: number;
11
+ limit: number;
12
+ total_pages: number;
13
+ }>;
14
+ }
15
+ //# sourceMappingURL=scope.list.processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.list.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAC7C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBAAtB,UAAU,EAAE,UAAU;IAI/C,OAAO,CAAC,OAAO,EAAE,YAAY;;;;;;;CAgBpC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeListProcessor = void 0;
4
+ const sort_direction_enum_1 = require("../../common/enums/sort.direction.enum");
5
+ const common_list_processor_1 = require("../../common/libraries/common.list.processor");
6
+ class ScopeListProcessor extends common_list_processor_1.CommonListProcessor {
7
+ constructor(sqlService) {
8
+ super();
9
+ this.sqlService = sqlService;
10
+ }
11
+ async process(payload) {
12
+ this.config = {
13
+ query: 'sys_scopes s',
14
+ columns: [
15
+ { key: 's.id', identifier: 'id' },
16
+ { key: 's.identifier', identifier: 'identifier', searchable: true },
17
+ { key: 's.name', identifier: 'name', searchable: true },
18
+ { key: 's.description', identifier: 'description', searchable: true },
19
+ { key: 's.created_at', identifier: 'created_at' },
20
+ { key: 's.deleted_at', identifier: 'deleted_at' },
21
+ ],
22
+ defaultSort: { field: 'name', direction: sort_direction_enum_1.SortDirection.ASC },
23
+ };
24
+ this.payload = payload;
25
+ return this.handle();
26
+ }
27
+ }
28
+ exports.ScopeListProcessor = ScopeListProcessor;
29
+ //# sourceMappingURL=scope.list.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,wFAAmF;AAQnF,MAAa,kBAAmB,SAAQ,2CAAmB;IACzD,YAA+B,UAAsB;QACnD,KAAK,EAAE,CAAC;QADqB,eAAU,GAAV,UAAU,CAAY;IAErD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjC,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;gBACnE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvD,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBACrE,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,MAAM,EAAE,SAAS,EAAE,mCAAa,CAAC,GAAG,EAAE;SAC7D,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AArBD,gDAqBC"}
@@ -2,19 +2,18 @@ import { CommonDataProcessor } from '../../common/libraries/common.data.processo
2
2
  import { AdminUserEntity } from '../../auth/entities/admin.user.entity';
3
3
  import { TenantEntity } from '../../tenant/entities/tenant.entity';
4
4
  import { AddTenantDto } from '../dtos/add.tenant.dto';
5
- import { EmailNotificationService } from '../../notification/services/email.notification.service';
6
- import { SystemPropertyService } from '../../common/services/system.property.service';
5
+ import { TenantOnboardedMailJob } from '../../notification/jobs/tenant.onboarded.mail.job';
7
6
  export declare class TenantDataProcessor extends CommonDataProcessor {
8
7
  private readonly actor;
9
- private readonly emailNotificationService;
10
- private readonly systemPropertyService;
8
+ private readonly tenantOnboardedMailJob;
11
9
  protected payload: AddTenantDto;
12
10
  private readonly logger;
13
- constructor(actor: AdminUserEntity, emailNotificationService: EmailNotificationService, systemPropertyService: SystemPropertyService);
11
+ constructor(actor: AdminUserEntity, tenantOnboardedMailJob: TenantOnboardedMailJob);
14
12
  process(payload: AddTenantDto): Promise<TenantEntity>;
15
13
  private validate;
14
+ private validateScopes;
16
15
  private set;
16
+ private setScopes;
17
17
  private notifyTenant;
18
- private supportContact;
19
18
  }
20
19
  //# sourceMappingURL=tenant.data.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAKtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAOtF,qBAAa,mBAAoB,SAAQ,mBAAmB;IAKxD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IANxC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,KAAK,EAAE,eAAe,EACtB,wBAAwB,EAAE,wBAAwB,EAClD,qBAAqB,EAAE,qBAAqB;IAKzD,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAM7C,QAAQ;YAiBR,GAAG;YA6CH,YAAY;YAyBZ,cAAc;CAiB7B"}
1
+ {"version":3,"file":"tenant.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.data.processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAQ3F,qBAAa,mBAAoB,SAAQ,mBAAmB;IAKxD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IALzC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,KAAK,EAAE,eAAe,EACtB,sBAAsB,EAAE,sBAAsB;IAK3D,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAM7C,QAAQ;YAmBR,cAAc;YAYd,GAAG;YAkDH,SAAS;YA6BT,YAAY;CAiB3B"}
@@ -2,17 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TenantDataProcessor = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
+ const typeorm_1 = require("typeorm");
5
6
  const common_data_processor_1 = require("../../common/libraries/common.data.processor");
7
+ const scope_entity_1 = require("../../auth/entities/scope.entity");
8
+ const tenant_scope_entity_1 = require("../../auth/entities/tenant.scope.entity");
6
9
  const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
7
- const email_notification_default_enum_1 = require("../../notification/enums/email.notification.default.enum");
8
- const email_template_identifier_enum_1 = require("../../notification/enums/email.template.identifier.enum");
9
- const process_email_notification_1 = require("../../notification/libraries/process.email.notification");
10
10
  class TenantDataProcessor extends common_data_processor_1.CommonDataProcessor {
11
- constructor(actor, emailNotificationService, systemPropertyService) {
11
+ constructor(actor, tenantOnboardedMailJob) {
12
12
  super();
13
13
  this.actor = actor;
14
- this.emailNotificationService = emailNotificationService;
15
- this.systemPropertyService = systemPropertyService;
14
+ this.tenantOnboardedMailJob = tenantOnboardedMailJob;
16
15
  this.logger = new common_1.Logger(TenantDataProcessor.name);
17
16
  }
18
17
  async process(payload) {
@@ -29,8 +28,19 @@ class TenantDataProcessor extends common_data_processor_1.CommonDataProcessor {
29
28
  });
30
29
  if (slugOwner && slugOwner.id !== body.id)
31
30
  this.setColumnError('slug', 'Slug is already in use');
31
+ await this.validateScopes();
32
32
  this.throwExceptionOnError();
33
33
  }
34
+ async validateScopes() {
35
+ const scopeIds = [...new Set(this.payload.scope_ids ?? [])];
36
+ if (!scopeIds.length)
37
+ return;
38
+ const scopes = await scope_entity_1.ScopeEntity.find({ where: { id: (0, typeorm_1.In)(scopeIds) } });
39
+ const found = new Set(scopes.map((scope) => scope.id));
40
+ for (const scopeId of scopeIds)
41
+ if (!found.has(scopeId))
42
+ this.setColumnError('scope_ids', `Scope '${scopeId}' not found`);
43
+ }
34
44
  async set() {
35
45
  const body = this.payload;
36
46
  let isNew = true;
@@ -63,39 +73,42 @@ class TenantDataProcessor extends common_data_processor_1.CommonDataProcessor {
63
73
  ? new Date(body.contract_expires_at)
64
74
  : undefined;
65
75
  await tenant.save();
76
+ await this.setScopes(tenant);
66
77
  if (isNew)
67
78
  await this.notifyTenant(tenant);
68
79
  return tenant;
69
80
  }
81
+ async setScopes(tenant) {
82
+ const scopeIds = new Set(this.payload.scope_ids ?? []);
83
+ const existing = await tenant_scope_entity_1.TenantScopeEntity.find({
84
+ where: { tenant_id: tenant.id },
85
+ });
86
+ const existingScopeIds = new Set(existing.map((tenantScope) => tenantScope.scope_id));
87
+ for (const tenantScope of existing)
88
+ if (!scopeIds.has(tenantScope.scope_id))
89
+ await tenantScope.softRemove();
90
+ for (const scopeId of scopeIds)
91
+ if (!existingScopeIds.has(scopeId))
92
+ await tenant_scope_entity_1.TenantScopeEntity.create({
93
+ tenant_id: tenant.id,
94
+ scope_id: scopeId,
95
+ created_by: this.actor.id,
96
+ }).save();
97
+ }
70
98
  async notifyTenant(tenant) {
71
- const notificationData = {
72
- identifier: email_template_identifier_enum_1.EmailTemplateIdentifier.TENANT_ONBOARDED,
73
- emailRecipients: [{ recipient: tenant.poc_email }],
74
- data: {
75
- tenant_name: tenant.name,
76
- tenant_poc: tenant.poc_name,
77
- tenant_email: tenant.poc_email,
78
- onboarded_on: tenant.created_at.toISOString(),
79
- ...(await this.supportContact()),
80
- },
99
+ const data = {
100
+ tenant_name: tenant.name,
101
+ tenant_poc: tenant.poc_name,
102
+ tenant_email: tenant.poc_email,
103
+ onboarded_on: tenant.created_at.toISOString(),
81
104
  };
82
105
  try {
83
- await new process_email_notification_1.ProcessEmailNotification(this.emailNotificationService).process(notificationData);
106
+ await this.tenantOnboardedMailJob.dispatch(data);
84
107
  }
85
108
  catch (error) {
86
- this.logger.warn(`Failed to send the "${notificationData.identifier}" email to ${tenant.poc_email}: ${error.message}`);
109
+ this.logger.warn(`Failed to queue the tenant onboarding email for ${tenant.poc_email}: ${error.message}`);
87
110
  }
88
111
  }
89
- async supportContact() {
90
- const [supportEmail, supportLink] = await Promise.all([
91
- this.systemPropertyService.get(email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_EMAIL_PROPERTY),
92
- this.systemPropertyService.get(email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_LINK_PROPERTY),
93
- ]);
94
- return {
95
- support_email: supportEmail || email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_EMAIL_FALLBACK,
96
- support_link: supportLink || email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_LINK_FALLBACK,
97
- };
98
- }
99
112
  }
100
113
  exports.TenantDataProcessor = TenantDataProcessor;
101
114
  //# sourceMappingURL=tenant.data.processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.data.processor.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,wFAAmF;AAEnF,uEAAmE;AAGnE,8GAAoG;AACpG,4GAAkG;AAClG,wGAAmG;AASnG,MAAa,mBAAoB,SAAQ,2CAAmB;IAI1D,YACmB,KAAsB,EACtB,wBAAkD,EAClD,qBAA4C;QAE7D,KAAK,EAAE,CAAC;QAJS,UAAK,GAAL,KAAK,CAAiB;QACtB,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,0BAAqB,GAArB,qBAAqB,CAAuB;QAL9C,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAQ/D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,4BAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAI5D,MAAM,SAAS,GAAG,MAAM,4BAAY,CAAC,OAAO,CAAC;YAC3C,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SAC3B,CAAC,CAAC;QACH,IAAI,SAAS,IAAI,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAExD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,MAAM,GAAG,4BAAY,CAAC,MAAM,CAAC;YAC/B,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;SAC1B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,GAAG,MAAM,CAAC;gBAChB,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QAC1C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB;YACnD,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,KAAK;YAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAOO,KAAK,CAAC,YAAY,CAAC,MAAoB;QAC7C,MAAM,gBAAgB,GAAgC;YACpD,UAAU,EAAE,wDAAuB,CAAC,gBAAgB;YACpD,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,EAAE;gBACJ,WAAW,EAAE,MAAM,CAAC,IAAI;gBACxB,UAAU,EAAE,MAAM,CAAC,QAAQ;gBAC3B,YAAY,EAAE,MAAM,CAAC,SAAS;gBAC9B,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE;gBAC7C,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;aACjC;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,qDAAwB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,CACvE,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,gBAAgB,CAAC,UAAU,cAAc,MAAM,CAAC,SAAS,KAAM,KAAe,CAAC,OAAO,EAAE,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IAGO,KAAK,CAAC,cAAc;QAC1B,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5B,0DAAwB,CAAC,sBAAsB,CAChD;YACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5B,0DAAwB,CAAC,qBAAqB,CAC/C;SACF,CAAC,CAAC;QAEH,OAAO;YACL,aAAa,EACX,YAAY,IAAI,0DAAwB,CAAC,sBAAsB;YACjE,YAAY,EACV,WAAW,IAAI,0DAAwB,CAAC,qBAAqB;SAChE,CAAC;IACJ,CAAC;CACF;AA1HD,kDA0HC"}
1
+ {"version":3,"file":"tenant.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.data.processor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAWpD,qBAAa,qBAAsB,SAAQ,mBAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAwBjD"}
1
+ {"version":3,"file":"tenant.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAOxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAapD,qBAAa,qBAAsB,SAAQ,mBAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAuCjD"}
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TenantDeleteProcessor = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const common_data_processor_1 = require("../../common/libraries/common.data.processor");
6
+ const api_key_entity_1 = require("../../auth/entities/api.key.entity");
7
+ const api_scope_entity_1 = require("../../auth/entities/api.scope.entity");
8
+ const tenant_scope_entity_1 = require("../../auth/entities/tenant.scope.entity");
6
9
  const user_entity_1 = require("../../auth/entities/user.entity");
7
10
  const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
8
11
  const access_revocation_1 = require("../../auth/utilities/access.revocation");
@@ -19,12 +22,23 @@ class TenantDeleteProcessor extends common_data_processor_1.CommonDataProcessor
19
22
  where: { tenant_id: id, deleted_at: (0, typeorm_1.IsNull)() },
20
23
  select: { id: true },
21
24
  });
25
+ const apiKeys = await api_key_entity_1.ApiKeyEntity.find({
26
+ where: { tenant_id: id, deleted_at: (0, typeorm_1.IsNull)() },
27
+ select: { id: true },
28
+ });
22
29
  await tenant_entity_1.TenantEntity.getRepository().manager.transaction(async (trx) => {
23
30
  for (const user of users) {
24
31
  await access_revocation_1.AccessRevocation.revokeAll(trx, user.id, false);
25
32
  }
26
33
  if (users.length)
27
34
  await trx.softDelete(user_entity_1.UserEntity, users.map((user) => user.id));
35
+ if (apiKeys.length) {
36
+ const apiKeyIds = apiKeys.map((apiKey) => apiKey.id);
37
+ await trx.update(api_key_entity_1.ApiKeyEntity, { id: (0, typeorm_1.In)(apiKeyIds) }, { is_active: false, revoked_at: new Date() });
38
+ await trx.softDelete(api_scope_entity_1.ApiScopeEntity, { api_key_id: (0, typeorm_1.In)(apiKeyIds) });
39
+ await trx.softDelete(api_key_entity_1.ApiKeyEntity, apiKeyIds);
40
+ }
41
+ await trx.softDelete(tenant_scope_entity_1.TenantScopeEntity, { tenant_id: id });
28
42
  await trx.softDelete(tenant_entity_1.TenantEntity, { id });
29
43
  });
30
44
  return { id, deleted: true, deleted_by: this.actor.id };
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AACjC,wFAAmF;AAEnF,iEAA6D;AAC7D,uEAAmE;AACnE,8EAA0E;AAY1E,MAAa,qBAAsB,SAAQ,2CAAmB;IAC5D,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,IAAI,CAAC,CAAC,MAAM,4BAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,MAAM,wBAAU,CAAC,IAAI,CAAC;YAClC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,MAAM,4BAAY,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,oCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,KAAK,CAAC,MAAM;gBACd,MAAM,GAAG,CAAC,UAAU,CAClB,wBAAU,EACV,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7B,CAAC;YACJ,MAAM,GAAG,CAAC,UAAU,CAAC,4BAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AA7BD,sDA6BC"}
1
+ {"version":3,"file":"tenant.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,wFAAmF;AAEnF,uEAAkE;AAClE,2EAAsE;AACtE,iFAA4E;AAC5E,iEAA6D;AAC7D,uEAAmE;AACnE,8EAA0E;AAc1E,MAAa,qBAAsB,SAAQ,2CAAmB;IAC5D,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,IAAI,CAAC,CAAC,MAAM,4BAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,MAAM,wBAAU,CAAC,IAAI,CAAC;YAClC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,6BAAY,CAAC,IAAI,CAAC;YACtC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,MAAM,4BAAY,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,oCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,KAAK,CAAC,MAAM;gBACd,MAAM,GAAG,CAAC,UAAU,CAClB,wBAAU,EACV,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7B,CAAC;YACJ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,GAAG,CAAC,MAAM,CACd,6BAAY,EACZ,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,EACrB,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAC7C,CAAC;gBACF,MAAM,GAAG,CAAC,UAAU,CAAC,iCAAc,EAAE,EAAE,UAAU,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpE,MAAM,GAAG,CAAC,UAAU,CAAC,6BAAY,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,GAAG,CAAC,UAAU,CAAC,uCAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,GAAG,CAAC,UAAU,CAAC,4BAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AA5CD,sDA4CC"}
@@ -1,4 +1,8 @@
1
+ import type { ApiKeyEntity } from '../../auth/entities/api.key.entity';
2
+ import type { ScopeEntity } from '../../auth/entities/scope.entity';
1
3
  import type { UserEntity } from '../../auth/entities/user.entity';
4
+ import type { TenantEntity } from '../../tenant/entities/tenant.entity';
5
+ export type { DeleteResult, DisableResult, } from '../../common/types/common.response.types';
2
6
  export interface AdminModuleOptions {
3
7
  dataSourceName?: string;
4
8
  }
@@ -6,9 +10,11 @@ export interface BulkUserResult {
6
10
  created: number;
7
11
  users: UserEntity[];
8
12
  }
9
- export interface DeleteResult {
10
- id: string;
11
- deleted: true;
12
- deleted_by: string;
13
+ export interface IssuedApiKey {
14
+ raw_key: string;
15
+ api_key: ApiKeyEntity;
13
16
  }
17
+ export type TenantDetail = TenantEntity & {
18
+ scopes: ScopeEntity[];
19
+ };
14
20
  //# sourceMappingURL=admin.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.types.d.ts","sourceRoot":"","sources":["../../../src/admin/types/admin.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAMD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"admin.types.d.ts","sourceRoot":"","sources":["../../../src/admin/types/admin.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,YAAY,EACV,YAAY,EACZ,aAAa,GACd,MAAM,0CAA0C,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAMD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;CACvB;AAGD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAId,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA+E5D,qBAMa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa;CAShE"}
1
+ {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAId,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA4F5D,qBAMa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa;CAShE"}