@neohm/nestend 3.1.5 → 3.3.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 (184) hide show
  1. package/README.md +85 -14
  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 +119 -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/controllers/system.role.controller.d.ts +24 -0
  21. package/dist/admin/controllers/system.role.controller.d.ts.map +1 -0
  22. package/dist/admin/controllers/system.role.controller.js +106 -0
  23. package/dist/admin/controllers/system.role.controller.js.map +1 -0
  24. package/dist/admin/dtos/add.api.key.dto.d.ts +7 -0
  25. package/dist/admin/dtos/add.api.key.dto.d.ts.map +1 -0
  26. package/dist/admin/dtos/add.api.key.dto.js +55 -0
  27. package/dist/admin/dtos/add.api.key.dto.js.map +1 -0
  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.system.role.dto.d.ts +8 -0
  33. package/dist/admin/dtos/add.system.role.dto.d.ts.map +1 -0
  34. package/dist/admin/dtos/add.system.role.dto.js +56 -0
  35. package/dist/admin/dtos/add.system.role.dto.js.map +1 -0
  36. package/dist/admin/dtos/add.tenant.dto.d.ts +1 -0
  37. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  38. package/dist/admin/dtos/add.tenant.dto.js +12 -0
  39. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  40. package/dist/admin/dtos/api.key.list.dto.d.ts +4 -0
  41. package/dist/admin/dtos/api.key.list.dto.d.ts.map +1 -0
  42. package/dist/admin/dtos/api.key.list.dto.js +8 -0
  43. package/dist/admin/dtos/api.key.list.dto.js.map +1 -0
  44. package/dist/admin/dtos/scope.list.dto.d.ts +4 -0
  45. package/dist/admin/dtos/scope.list.dto.d.ts.map +1 -0
  46. package/dist/admin/dtos/scope.list.dto.js +8 -0
  47. package/dist/admin/dtos/scope.list.dto.js.map +1 -0
  48. package/dist/admin/es6.classes.d.ts +14 -4
  49. package/dist/admin/es6.classes.d.ts.map +1 -1
  50. package/dist/admin/es6.classes.js +27 -1
  51. package/dist/admin/es6.classes.js.map +1 -1
  52. package/dist/admin/libraries/api.key.data.processor.d.ts +16 -0
  53. package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -0
  54. package/dist/admin/libraries/api.key.data.processor.js +59 -0
  55. package/dist/admin/libraries/api.key.data.processor.js.map +1 -0
  56. package/dist/admin/libraries/api.key.list.processor.d.ts +15 -0
  57. package/dist/admin/libraries/api.key.list.processor.d.ts.map +1 -0
  58. package/dist/admin/libraries/api.key.list.processor.js +48 -0
  59. package/dist/admin/libraries/api.key.list.processor.js.map +1 -0
  60. package/dist/admin/libraries/client.user.data.processor.d.ts +3 -6
  61. package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
  62. package/dist/admin/libraries/client.user.data.processor.js +11 -30
  63. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  64. package/dist/admin/libraries/scope.data.processor.d.ts +13 -0
  65. package/dist/admin/libraries/scope.data.processor.d.ts.map +1 -0
  66. package/dist/admin/libraries/scope.data.processor.js +43 -0
  67. package/dist/admin/libraries/scope.data.processor.js.map +1 -0
  68. package/dist/admin/libraries/scope.list.processor.d.ts +15 -0
  69. package/dist/admin/libraries/scope.list.processor.d.ts.map +1 -0
  70. package/dist/admin/libraries/scope.list.processor.js +29 -0
  71. package/dist/admin/libraries/scope.list.processor.js.map +1 -0
  72. package/dist/admin/libraries/system.role.data.processor.d.ts +10 -0
  73. package/dist/admin/libraries/system.role.data.processor.d.ts.map +1 -0
  74. package/dist/admin/libraries/system.role.data.processor.js +41 -0
  75. package/dist/admin/libraries/system.role.data.processor.js.map +1 -0
  76. package/dist/admin/libraries/tenant.data.processor.d.ts +5 -6
  77. package/dist/admin/libraries/tenant.data.processor.d.ts.map +1 -1
  78. package/dist/admin/libraries/tenant.data.processor.js +41 -28
  79. package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
  80. package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
  81. package/dist/admin/libraries/tenant.delete.processor.js +14 -0
  82. package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
  83. package/dist/admin/services/admin.access.service.d.ts +2 -0
  84. package/dist/admin/services/admin.access.service.d.ts.map +1 -1
  85. package/dist/admin/services/admin.access.service.js +3 -0
  86. package/dist/admin/services/admin.access.service.js.map +1 -1
  87. package/dist/admin/types/admin.types.d.ts +10 -4
  88. package/dist/admin/types/admin.types.d.ts.map +1 -1
  89. package/dist/auth/auth.module.d.ts.map +1 -1
  90. package/dist/auth/auth.module.js +17 -3
  91. package/dist/auth/auth.module.js.map +1 -1
  92. package/dist/auth/entities/api.key.entity.d.ts +4 -1
  93. package/dist/auth/entities/api.key.entity.d.ts.map +1 -1
  94. package/dist/auth/entities/api.key.entity.js +13 -3
  95. package/dist/auth/entities/api.key.entity.js.map +1 -1
  96. package/dist/auth/entities/tenant.scope.entity.d.ts +10 -0
  97. package/dist/auth/entities/tenant.scope.entity.d.ts.map +1 -0
  98. package/dist/auth/entities/tenant.scope.entity.js +41 -0
  99. package/dist/auth/entities/tenant.scope.entity.js.map +1 -0
  100. package/dist/auth/enums/api.key.default.enum.d.ts +2 -1
  101. package/dist/auth/enums/api.key.default.enum.d.ts.map +1 -1
  102. package/dist/auth/enums/api.key.default.enum.js +1 -0
  103. package/dist/auth/enums/api.key.default.enum.js.map +1 -1
  104. package/dist/auth/es6.classes.d.ts +3 -1
  105. package/dist/auth/es6.classes.d.ts.map +1 -1
  106. package/dist/auth/es6.classes.js +4 -0
  107. package/dist/auth/es6.classes.js.map +1 -1
  108. package/dist/auth/guards/api.key.guard.js +1 -1
  109. package/dist/auth/guards/api.key.guard.js.map +1 -1
  110. package/dist/auth/helpers/api.key.context.d.ts +6 -1
  111. package/dist/auth/helpers/api.key.context.d.ts.map +1 -1
  112. package/dist/auth/helpers/api.key.context.js +11 -2
  113. package/dist/auth/helpers/api.key.context.js.map +1 -1
  114. package/dist/auth/middlewares/api.key.middleware.d.ts +1 -0
  115. package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
  116. package/dist/auth/middlewares/api.key.middleware.js +17 -5
  117. package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
  118. package/dist/auth/services/api.key.service.d.ts +17 -3
  119. package/dist/auth/services/api.key.service.d.ts.map +1 -1
  120. package/dist/auth/services/api.key.service.js +102 -7
  121. package/dist/auth/services/api.key.service.js.map +1 -1
  122. package/dist/auth/services/auth.service.d.ts +4 -1
  123. package/dist/auth/services/auth.service.d.ts.map +1 -1
  124. package/dist/auth/services/auth.service.js +19 -15
  125. package/dist/auth/services/auth.service.js.map +1 -1
  126. package/dist/auth/services/role.service.d.ts +9 -0
  127. package/dist/auth/services/role.service.d.ts.map +1 -0
  128. package/dist/auth/services/role.service.js +40 -0
  129. package/dist/auth/services/role.service.js.map +1 -0
  130. package/dist/auth/services/scope.service.d.ts +10 -0
  131. package/dist/auth/services/scope.service.d.ts.map +1 -0
  132. package/dist/auth/services/scope.service.js +50 -0
  133. package/dist/auth/services/scope.service.js.map +1 -0
  134. package/dist/auth/types/api.key.types.d.ts +16 -1
  135. package/dist/auth/types/api.key.types.d.ts.map +1 -1
  136. package/dist/common/types/common.response.types.d.ts +10 -0
  137. package/dist/common/types/common.response.types.d.ts.map +1 -1
  138. package/dist/constants/entity.constants.d.ts +1 -0
  139. package/dist/constants/entity.constants.d.ts.map +1 -1
  140. package/dist/constants/entity.constants.js +1 -0
  141. package/dist/constants/entity.constants.js.map +1 -1
  142. package/dist/constants/entity.maps.d.ts +2 -0
  143. package/dist/constants/entity.maps.d.ts.map +1 -1
  144. package/dist/constants/entity.maps.js +2 -0
  145. package/dist/constants/entity.maps.js.map +1 -1
  146. package/dist/constants/job.constants.d.ts +2 -0
  147. package/dist/constants/job.constants.d.ts.map +1 -1
  148. package/dist/constants/job.constants.js +2 -0
  149. package/dist/constants/job.constants.js.map +1 -1
  150. package/dist/constants/job.maps.d.ts.map +1 -1
  151. package/dist/constants/job.maps.js.map +1 -1
  152. package/dist/index.d.ts +4 -2
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +7 -3
  155. package/dist/index.js.map +1 -1
  156. package/dist/migrations/1749600000017.CreateSysApiKeysTable.d.ts.map +1 -1
  157. package/dist/migrations/1749600000017.CreateSysApiKeysTable.js +8 -1
  158. package/dist/migrations/1749600000017.CreateSysApiKeysTable.js.map +1 -1
  159. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.d.ts +6 -0
  160. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.d.ts.map +1 -0
  161. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js +36 -0
  162. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js.map +1 -0
  163. package/dist/notification/es6.classes.d.ts +3 -1
  164. package/dist/notification/es6.classes.d.ts.map +1 -1
  165. package/dist/notification/es6.classes.js +3 -1
  166. package/dist/notification/es6.classes.js.map +1 -1
  167. package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts +15 -0
  168. package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts.map +1 -0
  169. package/dist/notification/jobs/tenant.onboarded.mail.job.js +56 -0
  170. package/dist/notification/jobs/tenant.onboarded.mail.job.js.map +1 -0
  171. package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts +15 -0
  172. package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts.map +1 -0
  173. package/dist/notification/jobs/tenant.user.onboarded.mail.job.js +56 -0
  174. package/dist/notification/jobs/tenant.user.onboarded.mail.job.js.map +1 -0
  175. package/dist/notification/notification.module.d.ts.map +1 -1
  176. package/dist/notification/notification.module.js +7 -0
  177. package/dist/notification/notification.module.js.map +1 -1
  178. package/dist/notification/types/email.notification.types.d.ts +12 -0
  179. package/dist/notification/types/email.notification.types.d.ts.map +1 -1
  180. package/package.json +1 -1
  181. package/dist/admin/dtos/add.user.role.dto.d.ts +0 -4
  182. package/dist/admin/dtos/add.user.role.dto.d.ts.map +0 -1
  183. package/dist/admin/dtos/add.user.role.dto.js +0 -22
  184. package/dist/admin/dtos/add.user.role.dto.js.map +0 -1
@@ -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":"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"}
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,5 +1,6 @@
1
1
  import { AdminAuthService } from '../../auth/services/admin.auth.service';
2
2
  import { AdminAuthenticatedAccess } from '../../auth/types/auth.types';
3
+ import { GlobalAdminRoles } from '../../auth/enums/global.admin.roles.enum';
3
4
  export declare class AdminAccessService {
4
5
  private readonly adminAuthService;
5
6
  constructor(adminAuthService: AdminAuthService);
@@ -7,6 +8,7 @@ export declare class AdminAccessService {
7
8
  validateAdmin(): Promise<AdminAuthenticatedAccess>;
8
9
  validateContentManager(): Promise<AdminAuthenticatedAccess>;
9
10
  validateContentReader(): Promise<AdminAuthenticatedAccess>;
11
+ holdsAtLeast(access: AdminAuthenticatedAccess, required: GlobalAdminRoles): boolean;
10
12
  private requireRole;
11
13
  private highestRank;
12
14
  private rankOf;
@@ -1 +1 @@
1
- {"version":3,"file":"admin.access.service.d.ts","sourceRoot":"","sources":["../../../src/admin/services/admin.access.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAkBvE,qBACa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAG/D,kBAAkB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAKvD,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAKlD,sBAAsB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAK3D,qBAAqB,IAAI,OAAO,CAAC,wBAAwB,CAAC;YAI5C,WAAW;IAazB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,MAAM;CAKf"}
1
+ {"version":3,"file":"admin.access.service.d.ts","sourceRoot":"","sources":["../../../src/admin/services/admin.access.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAiB5E,qBACa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAG/D,kBAAkB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAKvD,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAKlD,sBAAsB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAK3D,qBAAqB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAS1D,YAAY,CACV,MAAM,EAAE,wBAAwB,EAChC,QAAQ,EAAE,gBAAgB,GACzB,OAAO;YAII,WAAW;IAazB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,MAAM;CAKf"}
@@ -30,6 +30,9 @@ let AdminAccessService = class AdminAccessService {
30
30
  validateContentReader() {
31
31
  return this.requireRole(global_admin_roles_enum_1.GlobalAdminRoles.GLOBAL_CONTENT_READER);
32
32
  }
33
+ holdsAtLeast(access, required) {
34
+ return this.highestRank(access) >= this.rankOf(required);
35
+ }
33
36
  async requireRole(required) {
34
37
  const access = await this.adminAuthService.validateRole();
35
38
  if (this.highestRank(access) < this.rankOf(required)) {
@@ -1 +1 @@
1
- {"version":3,"file":"admin.access.service.js","sourceRoot":"","sources":["../../../src/admin/services/admin.access.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+EAA0E;AAE1E,sFAA4E;AAC5E,+EAA2E;AAiBpE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAA6B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAGnE,kBAAkB;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAGD,sBAAsB;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,sBAAsB,CAAC,CAAC;IACnE,CAAC;IAGD,qBAAqB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,qBAAqB,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,kCAAe,CACvB,sCAAsC,QAAQ,SAAS,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGO,WAAW,CAAC,MAAgC;QAClD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,IAAI,GAAG,OAAO;gBAAE,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAOO,MAAM,CAAC,cAAsB;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,0CAAgB,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,cAAkC,CAAC,CAAC;QACpE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;IACrD,CAAC;CACF,CAAA;AAvDY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAEoC,qCAAgB;GADpD,kBAAkB,CAuD9B"}
1
+ {"version":3,"file":"admin.access.service.js","sourceRoot":"","sources":["../../../src/admin/services/admin.access.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+EAA0E;AAE1E,sFAA4E;AAC5E,+EAA2E;AAiBpE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAA6B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAGnE,kBAAkB;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAGD,sBAAsB;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,sBAAsB,CAAC,CAAC;IACnE,CAAC;IAGD,qBAAqB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,0CAAgB,CAAC,qBAAqB,CAAC,CAAC;IAClE,CAAC;IAOD,YAAY,CACV,MAAgC,EAChC,QAA0B;QAE1B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,kCAAe,CACvB,sCAAsC,QAAQ,SAAS,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGO,WAAW,CAAC,MAAgC;QAClD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,IAAI,GAAG,OAAO;gBAAE,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAOO,MAAM,CAAC,cAAsB;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,0CAAgB,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,cAAkC,CAAC,CAAC;QACpE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;IACrD,CAAC;CACF,CAAA;AAnEY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAEoC,qCAAgB;GADpD,kBAAkB,CAmE9B"}
@@ -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;AAiBxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAsG5D,qBAMa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa;CAShE"}
@@ -14,6 +14,7 @@ const passport_1 = require("@nestjs/passport");
14
14
  const typeorm_1 = require("@nestjs/typeorm");
15
15
  const common_module_1 = require("../common/common.module");
16
16
  const cache_service_1 = require("../common/services/cache.service");
17
+ const encryption_service_1 = require("../common/services/encryption.service");
17
18
  const api_key_guard_1 = require("./guards/api.key.guard");
18
19
  const jwt_auth_guard_1 = require("./guards/jwt.auth.guard");
19
20
  const jwt_refresh_guard_1 = require("./guards/jwt.refresh.guard");
@@ -23,7 +24,7 @@ const jwt_middleware_1 = require("./middlewares/jwt.middleware");
23
24
  const admin_jwt_middleware_1 = require("./middlewares/admin.jwt.middleware");
24
25
  const api_key_middleware_1 = require("./middlewares/api.key.middleware");
25
26
  const es6_classes_1 = require("./es6.classes");
26
- const [ApiKeyService, AuthService, AdminAuthService, GoogleAuthService] = es6_classes_1.es6Classes.services;
27
+ const [ApiKeyService, ScopeService, AuthService, AdminAuthService, GoogleAuthService, RoleService,] = es6_classes_1.es6Classes.services;
27
28
  function createAuthImports() {
28
29
  return [
29
30
  common_module_1.CommonModule,
@@ -43,11 +44,12 @@ function createAuthProviders(options = {}) {
43
44
  return [
44
45
  {
45
46
  provide: AuthService,
46
- useFactory: (jwtService, cacheService, dataSource) => new AuthService(jwtService, cacheService, dataSource),
47
+ useFactory: (jwtService, cacheService, dataSource, scopeService) => new AuthService(jwtService, cacheService, dataSource, scopeService),
47
48
  inject: [
48
49
  jwt_1.JwtService,
49
50
  cache_service_1.CacheService,
50
51
  (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
52
+ ScopeService,
51
53
  ],
52
54
  },
53
55
  {
@@ -57,7 +59,17 @@ function createAuthProviders(options = {}) {
57
59
  },
58
60
  {
59
61
  provide: ApiKeyService,
60
- useFactory: (dataSource) => new ApiKeyService(dataSource),
62
+ useFactory: (dataSource, encryptionService) => new ApiKeyService(dataSource, encryptionService),
63
+ inject: [(0, typeorm_1.getDataSourceToken)(options.dataSourceName), encryption_service_1.EncryptionService],
64
+ },
65
+ {
66
+ provide: ScopeService,
67
+ useFactory: (dataSource) => new ScopeService(dataSource),
68
+ inject: [(0, typeorm_1.getDataSourceToken)(options.dataSourceName)],
69
+ },
70
+ {
71
+ provide: RoleService,
72
+ useFactory: (dataSource) => new RoleService(dataSource),
61
73
  inject: [(0, typeorm_1.getDataSourceToken)(options.dataSourceName)],
62
74
  },
63
75
  GoogleAuthService,
@@ -75,6 +87,8 @@ const authExports = [
75
87
  AuthService,
76
88
  AdminAuthService,
77
89
  ApiKeyService,
90
+ ScopeService,
91
+ RoleService,
78
92
  GoogleAuthService,
79
93
  jwt_auth_guard_1.JwtAuthGuard,
80
94
  jwt_refresh_guard_1.JwtRefreshGuard,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,qCAAoE;AACpE,+CAAkD;AAClD,6CAAqD;AAErD,2DAAuD;AACvD,oEAAgE;AAChE,0DAAqD;AACrD,4DAAuD;AACvD,kEAA6D;AAC7D,0EAAqE;AACrE,0DAAsD;AACtD,iEAA6D;AAC7D,6EAAwE;AACxE,yEAAoE;AACpE,+CAA2C;AAI3C,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,GACrE,wBAAU,CAAC,QAAQ,CAAC;AAEtB,SAAS,iBAAiB;IACxB,OAAO;QACL,4BAAY;QACZ,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAEnD,eAAS,CAAC,aAAa,CAAC;YACtB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBACvC,WAAW,EAAE;oBACX,SAAS,EAAE,OAAO,CAAC,GAAG;yBACnB,mBAAkD;iBACtD;aACF,CAAC;SACH,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA6B,EAAE;IAC1D,OAAO;QACL;YACE,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,CACV,UAAsB,EACtB,YAA0B,EAC1B,UAAsB,EACtB,EAAE,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC;YAC1D,MAAM,EAAE;gBACN,gBAAU;gBACV,4BAAY;gBACZ,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;aAC3C;SACF;QACD;YACE,OAAO,EAAE,gBAAgB;YACzB,UAAU,EAAE,CAAC,UAAsB,EAAE,UAAsB,EAAE,EAAE,CAC7D,IAAI,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC;YAC9C,MAAM,EAAE,CAAC,gBAAU,EAAE,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACjE;QACD;YACE,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC;YACrE,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACrD;QACD,iBAAiB;QACjB,0BAAW;QACX,yCAAkB;QAClB,6BAAY;QACZ,mCAAe;QACf,2BAAW;QACX,8BAAa;QACb,yCAAkB;QAClB,qCAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,WAAW;IACX,gBAAgB;IAChB,aAAa;IACb,iBAAiB;IACjB,6BAAY;IACZ,mCAAe;IACf,2BAAW;IACX,8BAAa;IACb,yCAAkB;IAClB,qCAAgB;IAChB,eAAS;IACT,yBAAc;CACf,CAAC;AAYK,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,UAA6B,EAAE;QAC7C,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE,iBAAiB,EAAE;YAC5B,WAAW,EAAE,CAAC,GAAG,wBAAU,CAAC,WAAW,CAAC;YACxC,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC;YACvC,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;CACF,CAAA;AAVY,gCAAU;qBAAV,UAAU;IANtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,iBAAiB,EAAE;QAC5B,WAAW,EAAE,CAAC,GAAG,wBAAU,CAAC,WAAW,CAAC;QACxC,SAAS,EAAE,mBAAmB,EAAE;QAChC,OAAO,EAAE,WAAW;KACrB,CAAC;GACW,UAAU,CAUtB"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,qCAAoE;AACpE,+CAAkD;AAClD,6CAAqD;AAErD,2DAAuD;AACvD,oEAAgE;AAChE,8EAA0E;AAC1E,0DAAqD;AACrD,4DAAuD;AACvD,kEAA6D;AAC7D,0EAAqE;AACrE,0DAAsD;AACtD,iEAA6D;AAC7D,6EAAwE;AACxE,yEAAoE;AACpE,+CAA2C;AAI3C,MAAM,CACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACZ,GAAG,wBAAU,CAAC,QAAQ,CAAC;AAExB,SAAS,iBAAiB;IACxB,OAAO;QACL,4BAAY;QACZ,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAEnD,eAAS,CAAC,aAAa,CAAC;YACtB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBACvC,WAAW,EAAE;oBACX,SAAS,EAAE,OAAO,CAAC,GAAG;yBACnB,mBAAkD;iBACtD;aACF,CAAC;SACH,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA6B,EAAE;IAC1D,OAAO;QACL;YACE,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,CACV,UAAsB,EACtB,YAA0B,EAC1B,UAAsB,EACtB,YAA+C,EAC/C,EAAE,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC;YACxE,MAAM,EAAE;gBACN,gBAAU;gBACV,4BAAY;gBACZ,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;gBAC1C,YAAY;aACb;SACF;QACD;YACE,OAAO,EAAE,gBAAgB;YACzB,UAAU,EAAE,CAAC,UAAsB,EAAE,UAAsB,EAAE,EAAE,CAC7D,IAAI,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC;YAC9C,MAAM,EAAE,CAAC,gBAAU,EAAE,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACjE;QACD;YACE,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,CACV,UAAsB,EACtB,iBAAoC,EACpC,EAAE,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;YACrD,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,EAAE,sCAAiB,CAAC;SACxE;QACD;YACE,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC;YACpE,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACrD;QACD;YACE,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC;YACnE,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACrD;QACD,iBAAiB;QACjB,0BAAW;QACX,yCAAkB;QAClB,6BAAY;QACZ,mCAAe;QACf,2BAAW;QACX,8BAAa;QACb,yCAAkB;QAClB,qCAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,WAAW;IACX,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,6BAAY;IACZ,mCAAe;IACf,2BAAW;IACX,8BAAa;IACb,yCAAkB;IAClB,qCAAgB;IAChB,eAAS;IACT,yBAAc;CACf,CAAC;AAYK,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,UAA6B,EAAE;QAC7C,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE,iBAAiB,EAAE;YAC5B,WAAW,EAAE,CAAC,GAAG,wBAAU,CAAC,WAAW,CAAC;YACxC,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC;YACvC,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;CACF,CAAA;AAVY,gCAAU;qBAAV,UAAU;IANtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,iBAAiB,EAAE;QAC5B,WAAW,EAAE,CAAC,GAAG,wBAAU,CAAC,WAAW,CAAC;QACxC,SAAS,EAAE,mBAAmB,EAAE;QAChC,OAAO,EAAE,WAAW;KACrB,CAAC;GACW,UAAU,CAUtB"}
@@ -1,12 +1,15 @@
1
1
  import { CommonAdminEntity } from '../../common/entities/common.admin.entity';
2
+ import { TenantEntity } from '../../tenant/entities/tenant.entity';
2
3
  export declare class ApiKeyEntity extends CommonAdminEntity {
3
4
  is_active: boolean;
4
5
  name: string;
5
6
  key_prefix: string;
6
7
  key_hash: string;
7
- scopes: string[];
8
+ key_encrypted: string;
9
+ tenant_id: string;
8
10
  expires_at: Date;
9
11
  revoked_at: Date;
10
12
  last_used_at: Date;
13
+ tenant: TenantEntity;
11
14
  }
12
15
  //# sourceMappingURL=api.key.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.key.entity.d.ts","sourceRoot":"","sources":["../../../src/auth/entities/api.key.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,qBACa,YAAa,SAAQ,iBAAiB;IAEjD,SAAS,EAAE,OAAO,CAAC;IAGnB,IAAI,EAAE,MAAM,CAAC;IAIb,UAAU,EAAE,MAAM,CAAC;IAInB,QAAQ,EAAE,MAAM,CAAC;IAIjB,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,UAAU,EAAE,IAAI,CAAC;IAGjB,UAAU,EAAE,IAAI,CAAC;IAGjB,YAAY,EAAE,IAAI,CAAC;CACpB"}
1
+ {"version":3,"file":"api.key.entity.d.ts","sourceRoot":"","sources":["../../../src/auth/entities/api.key.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,qBACa,YAAa,SAAQ,iBAAiB;IAEjD,SAAS,EAAE,OAAO,CAAC;IAGnB,IAAI,EAAE,MAAM,CAAC;IAIb,UAAU,EAAE,MAAM,CAAC;IAInB,QAAQ,EAAE,MAAM,CAAC;IAQjB,aAAa,EAAE,MAAM,CAAC;IAGtB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,IAAI,CAAC;IAGjB,UAAU,EAAE,IAAI,CAAC;IAGjB,YAAY,EAAE,IAAI,CAAC;IAInB,MAAM,EAAE,YAAY,CAAC;CACtB"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ApiKeyEntity = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const common_admin_entity_1 = require("../../common/entities/common.admin.entity");
15
+ const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
15
16
  let ApiKeyEntity = class ApiKeyEntity extends common_admin_entity_1.CommonAdminEntity {
16
17
  };
17
18
  exports.ApiKeyEntity = ApiKeyEntity;
@@ -32,9 +33,13 @@ __decorate([
32
33
  __metadata("design:type", String)
33
34
  ], ApiKeyEntity.prototype, "key_hash", void 0);
34
35
  __decorate([
35
- (0, typeorm_1.Column)({ type: 'jsonb' }),
36
- __metadata("design:type", Array)
37
- ], ApiKeyEntity.prototype, "scopes", void 0);
36
+ (0, typeorm_1.Column)({ type: 'text', select: false }),
37
+ __metadata("design:type", String)
38
+ ], ApiKeyEntity.prototype, "key_encrypted", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
41
+ __metadata("design:type", String)
42
+ ], ApiKeyEntity.prototype, "tenant_id", void 0);
38
43
  __decorate([
39
44
  (0, typeorm_1.Column)({ type: 'timestamptz' }),
40
45
  __metadata("design:type", Date)
@@ -47,6 +52,11 @@ __decorate([
47
52
  (0, typeorm_1.Column)({ type: 'timestamptz' }),
48
53
  __metadata("design:type", Date)
49
54
  ], ApiKeyEntity.prototype, "last_used_at", void 0);
55
+ __decorate([
56
+ (0, typeorm_1.ManyToOne)(() => tenant_entity_1.TenantEntity),
57
+ (0, typeorm_1.JoinColumn)({ name: 'tenant_id' }),
58
+ __metadata("design:type", tenant_entity_1.TenantEntity)
59
+ ], ApiKeyEntity.prototype, "tenant", void 0);
50
60
  exports.ApiKeyEntity = ApiKeyEntity = __decorate([
51
61
  (0, typeorm_1.Entity)({ name: 'sys_api_keys' })
52
62
  ], ApiKeyEntity);
@@ -1 +1 @@
1
- {"version":3,"file":"api.key.entity.js","sourceRoot":"","sources":["../../../src/auth/entities/api.key.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AACzC,mFAA8E;AAGvE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,uCAAiB;CA2BlD,CAAA;AA3BY,oCAAY;AAEvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACxB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0CACf;AAIb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;gDACT;AAInB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8CACX;AAIjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;4CACT;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACpB,IAAI;gDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACpB,IAAI;gDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAClB,IAAI;kDAAC;uBA1BR,YAAY;IADxB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;GACpB,YAAY,CA2BxB"}
1
+ {"version":3,"file":"api.key.entity.js","sourceRoot":"","sources":["../../../src/auth/entities/api.key.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgE;AAChE,mFAA8E;AAC9E,uEAAmE;AAI5D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,uCAAiB;CAsClD,CAAA;AAtCY,oCAAY;AAEvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACxB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0CACf;AAIb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;gDACT;AAInB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8CACX;AAQjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;mDAClB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACvB;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACpB,IAAI;gDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACpB,IAAI;gDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAClB,IAAI;kDAAC;AAInB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAY,CAAC;IAC7B,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC1B,4BAAY;4CAAC;uBArCV,YAAY;IADxB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;GACpB,YAAY,CAsCxB"}
@@ -0,0 +1,10 @@
1
+ import { CommonAdminEntity } from '../../common/entities/common.admin.entity';
2
+ import { TenantEntity } from '../../tenant/entities/tenant.entity';
3
+ import { ScopeEntity } from './scope.entity';
4
+ export declare class TenantScopeEntity extends CommonAdminEntity {
5
+ tenant_id: string;
6
+ scope_id: string;
7
+ tenant: TenantEntity;
8
+ scope: ScopeEntity;
9
+ }
10
+ //# sourceMappingURL=tenant.scope.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.scope.entity.d.ts","sourceRoot":"","sources":["../../../src/auth/entities/tenant.scope.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,qBACa,iBAAkB,SAAQ,iBAAiB;IAEtD,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAIjB,MAAM,EAAE,YAAY,CAAC;IAIrB,KAAK,EAAE,WAAW,CAAC;CACpB"}
@@ -0,0 +1,41 @@
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.TenantScopeEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const common_admin_entity_1 = require("../../common/entities/common.admin.entity");
15
+ const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
16
+ const scope_entity_1 = require("./scope.entity");
17
+ let TenantScopeEntity = class TenantScopeEntity extends common_admin_entity_1.CommonAdminEntity {
18
+ };
19
+ exports.TenantScopeEntity = TenantScopeEntity;
20
+ __decorate([
21
+ (0, typeorm_1.Column)({ type: 'uuid' }),
22
+ __metadata("design:type", String)
23
+ ], TenantScopeEntity.prototype, "tenant_id", void 0);
24
+ __decorate([
25
+ (0, typeorm_1.Column)({ type: 'uuid' }),
26
+ __metadata("design:type", String)
27
+ ], TenantScopeEntity.prototype, "scope_id", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.ManyToOne)(() => tenant_entity_1.TenantEntity),
30
+ (0, typeorm_1.JoinColumn)({ name: 'tenant_id' }),
31
+ __metadata("design:type", tenant_entity_1.TenantEntity)
32
+ ], TenantScopeEntity.prototype, "tenant", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.ManyToOne)(() => scope_entity_1.ScopeEntity),
35
+ (0, typeorm_1.JoinColumn)({ name: 'scope_id' }),
36
+ __metadata("design:type", scope_entity_1.ScopeEntity)
37
+ ], TenantScopeEntity.prototype, "scope", void 0);
38
+ exports.TenantScopeEntity = TenantScopeEntity = __decorate([
39
+ (0, typeorm_1.Entity)({ name: 'sys_tenant_scopes' })
40
+ ], TenantScopeEntity);
41
+ //# sourceMappingURL=tenant.scope.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.scope.entity.js","sourceRoot":"","sources":["../../../src/auth/entities/tenant.scope.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgE;AAChE,mFAA8E;AAC9E,uEAAmE;AACnE,iDAA6C;AAItC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,uCAAiB;CAcvD,CAAA;AAdY,8CAAiB;AAE5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDACP;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACR;AAIjB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAY,CAAC;IAC7B,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC1B,4BAAY;iDAAC;AAIrB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC;IAC5B,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BAC1B,0BAAW;gDAAC;4BAbR,iBAAiB;IAD7B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;GACzB,iBAAiB,CAc7B"}
@@ -2,6 +2,7 @@ export declare enum ApiKeyDefault {
2
2
  PREFIX = "ak",
3
3
  HEADER_NAME = "x-api-key",
4
4
  RANDOM_BYTES = 24,
5
- PREFIX_VISIBLE_LENGTH = 11
5
+ PREFIX_VISIBLE_LENGTH = 11,
6
+ WILDCARD_SCOPE = "*"
6
7
  }
7
8
  //# sourceMappingURL=api.key.default.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.key.default.enum.d.ts","sourceRoot":"","sources":["../../../src/auth/enums/api.key.default.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,MAAM,OAAO;IACb,WAAW,cAAc;IACzB,YAAY,KAAK;IAEjB,qBAAqB,KAAK;CAC3B"}
1
+ {"version":3,"file":"api.key.default.enum.d.ts","sourceRoot":"","sources":["../../../src/auth/enums/api.key.default.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,MAAM,OAAO;IACb,WAAW,cAAc;IACzB,YAAY,KAAK;IAEjB,qBAAqB,KAAK;IAE1B,cAAc,MAAM;CACrB"}
@@ -7,5 +7,6 @@ var ApiKeyDefault;
7
7
  ApiKeyDefault["HEADER_NAME"] = "x-api-key";
8
8
  ApiKeyDefault[ApiKeyDefault["RANDOM_BYTES"] = 24] = "RANDOM_BYTES";
9
9
  ApiKeyDefault[ApiKeyDefault["PREFIX_VISIBLE_LENGTH"] = 11] = "PREFIX_VISIBLE_LENGTH";
10
+ ApiKeyDefault["WILDCARD_SCOPE"] = "*";
10
11
  })(ApiKeyDefault || (exports.ApiKeyDefault = ApiKeyDefault = {}));
11
12
  //# sourceMappingURL=api.key.default.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.key.default.enum.js","sourceRoot":"","sources":["../../../src/auth/enums/api.key.default.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,0CAAyB,CAAA;IACzB,kEAAiB,CAAA;IAEjB,oFAA0B,CAAA;AAC5B,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
1
+ {"version":3,"file":"api.key.default.enum.js","sourceRoot":"","sources":["../../../src/auth/enums/api.key.default.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,0CAAyB,CAAA;IACzB,kEAAiB,CAAA;IAEjB,oFAA0B,CAAA;IAE1B,qCAAoB,CAAA;AACtB,CAAC,EARW,aAAa,6BAAb,aAAa,QAQxB"}
@@ -1,6 +1,8 @@
1
1
  import { AuthController } from './controllers/auth.controller';
2
2
  import { AdminAuthController } from './controllers/admin.auth.controller';
3
3
  import { ApiKeyService } from './services/api.key.service';
4
+ import { ScopeService } from './services/scope.service';
5
+ import { RoleService } from './services/role.service';
4
6
  import { AuthService } from './services/auth.service';
5
7
  import { AdminAuthService } from './services/admin.auth.service';
6
8
  import { GoogleAuthService } from './services/google.auth.service';
@@ -11,7 +13,7 @@ import { LoginDto } from './dtos/login.dto';
11
13
  import { RefreshTokenDto } from './dtos/refresh.token.dto';
12
14
  export declare const es6Classes: {
13
15
  controllers: (typeof AuthController | typeof AdminAuthController)[];
14
- services: readonly [typeof ApiKeyService, typeof AuthService, typeof AdminAuthService, typeof GoogleAuthService];
16
+ services: readonly [typeof ApiKeyService, typeof ScopeService, typeof AuthService, typeof AdminAuthService, typeof GoogleAuthService, typeof RoleService];
15
17
  libraries: any[];
16
18
  dtos: (typeof LoginDto | typeof GoogleLoginDto | typeof RefreshTokenDto | typeof ChangePasswordDto | typeof AdminLoginDto)[];
17
19
  jobs: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/auth/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,eAAO,MAAM,UAAU;;;;;;;CAmBtB,CAAC"}
1
+ {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/auth/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,eAAO,MAAM,UAAU;;;;;;;CAqBtB,CAAC"}
@@ -4,6 +4,8 @@ exports.es6Classes = void 0;
4
4
  const auth_controller_1 = require("./controllers/auth.controller");
5
5
  const admin_auth_controller_1 = require("./controllers/admin.auth.controller");
6
6
  const api_key_service_1 = require("./services/api.key.service");
7
+ const scope_service_1 = require("./services/scope.service");
8
+ const role_service_1 = require("./services/role.service");
7
9
  const auth_service_1 = require("./services/auth.service");
8
10
  const admin_auth_service_1 = require("./services/admin.auth.service");
9
11
  const google_auth_service_1 = require("./services/google.auth.service");
@@ -17,9 +19,11 @@ exports.es6Classes = {
17
19
  controllers: [auth_controller_1.AuthController, admin_auth_controller_1.AdminAuthController],
18
20
  services: [
19
21
  api_key_service_1.ApiKeyService,
22
+ scope_service_1.ScopeService,
20
23
  auth_service_1.AuthService,
21
24
  admin_auth_service_1.AdminAuthService,
22
25
  google_auth_service_1.GoogleAuthService,
26
+ role_service_1.RoleService,
23
27
  ],
24
28
  libraries: [],
25
29
  dtos: [
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/auth/es6.classes.ts"],"names":[],"mappings":";;;AAAA,mEAA+D;AAC/D,+EAA0E;AAC1E,gEAA2D;AAC3D,0DAAsD;AACtD,sEAAiE;AACjE,wEAAmE;AACnE,4DAAuD;AACvD,oEAA+D;AAC/D,8DAAyD;AACzD,gDAA4C;AAC5C,gEAA2D;AAC3D,sDAAkD;AAErC,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE,CAAC,gCAAc,EAAE,2CAAmB,CAAC;IAClD,QAAQ,EAAE;QACR,+BAAa;QACb,0BAAW;QACX,qCAAgB;QAChB,uCAAiB;KACT;IACV,SAAS,EAAE,EAAE;IACb,IAAI,EAAE;QACJ,+BAAa;QACb,uCAAiB;QACjB,iCAAc;QACd,oBAAQ;QACR,mCAAe;QACf,0BAAW;KACZ;IACD,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;CAChB,CAAC"}
1
+ {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/auth/es6.classes.ts"],"names":[],"mappings":";;;AAAA,mEAA+D;AAC/D,+EAA0E;AAC1E,gEAA2D;AAC3D,4DAAwD;AACxD,0DAAsD;AACtD,0DAAsD;AACtD,sEAAiE;AACjE,wEAAmE;AACnE,4DAAuD;AACvD,oEAA+D;AAC/D,8DAAyD;AACzD,gDAA4C;AAC5C,gEAA2D;AAC3D,sDAAkD;AAErC,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE,CAAC,gCAAc,EAAE,2CAAmB,CAAC;IAClD,QAAQ,EAAE;QACR,+BAAa;QACb,4BAAY;QACZ,0BAAW;QACX,qCAAgB;QAChB,uCAAiB;QACjB,0BAAW;KACH;IACV,SAAS,EAAE,EAAE;IACb,IAAI,EAAE;QACJ,+BAAa;QACb,uCAAiB;QACjB,iCAAc;QACd,oBAAQ;QACR,mCAAe;QACf,0BAAW;KACZ;IACD,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;CAChB,CAAC"}
@@ -41,7 +41,7 @@ let ApiKeyGuard = class ApiKeyGuard {
41
41
  context.getClass(),
42
42
  ]) ?? [];
43
43
  for (const scope of requiredScopes) {
44
- if (!this.apiKeyService.hasScope(apiKey, scope)) {
44
+ if (!(await this.apiKeyService.hasScope(apiKey, scope))) {
45
45
  throw new access_exception_1.AccessException(`API key is missing the "${scope}" scope.`);
46
46
  }
47
47
  }