@neohm/nestend 4.0.2 → 4.1.1

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 (238) hide show
  1. package/README.md +46 -10
  2. package/dist/admin/controllers/admin.tenant.user.controller.d.ts +8 -1
  3. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  4. package/dist/admin/controllers/admin.tenant.user.controller.js +75 -7
  5. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  6. package/dist/admin/dtos/add.client.membership.dto.d.ts +6 -0
  7. package/dist/admin/dtos/add.client.membership.dto.d.ts.map +1 -0
  8. package/dist/admin/dtos/add.client.membership.dto.js +41 -0
  9. package/dist/admin/dtos/add.client.membership.dto.js.map +1 -0
  10. package/dist/admin/es6.classes.d.ts +4 -2
  11. package/dist/admin/es6.classes.d.ts.map +1 -1
  12. package/dist/admin/es6.classes.js +4 -0
  13. package/dist/admin/es6.classes.js.map +1 -1
  14. package/dist/admin/libraries/bulk.user.data.processor.d.ts.map +1 -1
  15. package/dist/admin/libraries/bulk.user.data.processor.js +13 -5
  16. package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
  17. package/dist/admin/libraries/client.membership.data.processor.d.ts +14 -0
  18. package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -0
  19. package/dist/admin/libraries/client.membership.data.processor.js +56 -0
  20. package/dist/admin/libraries/client.membership.data.processor.js.map +1 -0
  21. package/dist/admin/libraries/client.user.data.processor.d.ts +1 -2
  22. package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
  23. package/dist/admin/libraries/client.user.data.processor.js +24 -31
  24. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  25. package/dist/admin/libraries/client.user.delete.processor.d.ts.map +1 -1
  26. package/dist/admin/libraries/client.user.delete.processor.js +4 -0
  27. package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
  28. package/dist/admin/libraries/client.user.list.processor.d.ts.map +1 -1
  29. package/dist/admin/libraries/client.user.list.processor.js +14 -2
  30. package/dist/admin/libraries/client.user.list.processor.js.map +1 -1
  31. package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
  32. package/dist/admin/libraries/tenant.delete.processor.js +22 -9
  33. package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
  34. package/dist/admin/libraries/user.data.processor.d.ts.map +1 -1
  35. package/dist/admin/libraries/user.data.processor.js +4 -1
  36. package/dist/admin/libraries/user.data.processor.js.map +1 -1
  37. package/dist/auth/auth.module.d.ts.map +1 -1
  38. package/dist/auth/auth.module.js +22 -3
  39. package/dist/auth/auth.module.js.map +1 -1
  40. package/dist/auth/controllers/auth.controller.d.ts +8 -7
  41. package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
  42. package/dist/auth/controllers/auth.controller.js +36 -12
  43. package/dist/auth/controllers/auth.controller.js.map +1 -1
  44. package/dist/auth/controllers/impersonation.controller.d.ts +2 -2
  45. package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -1
  46. package/dist/auth/controllers/tenant.invitation.controller.d.ts +18 -0
  47. package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -0
  48. package/dist/auth/controllers/tenant.invitation.controller.js +120 -0
  49. package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -0
  50. package/dist/auth/controllers/tenant.member.controller.d.ts +18 -0
  51. package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -0
  52. package/dist/auth/controllers/tenant.member.controller.js +129 -0
  53. package/dist/auth/controllers/tenant.member.controller.js.map +1 -0
  54. package/dist/auth/controllers/user.invitation.controller.d.ts +12 -0
  55. package/dist/auth/controllers/user.invitation.controller.d.ts.map +1 -0
  56. package/dist/auth/controllers/user.invitation.controller.js +76 -0
  57. package/dist/auth/controllers/user.invitation.controller.js.map +1 -0
  58. package/dist/auth/controllers/user.organization.controller.d.ts +17 -0
  59. package/dist/auth/controllers/user.organization.controller.d.ts.map +1 -0
  60. package/dist/auth/controllers/user.organization.controller.js +88 -0
  61. package/dist/auth/controllers/user.organization.controller.js.map +1 -0
  62. package/dist/auth/dtos/invite.tenant.user.dto.d.ts +6 -0
  63. package/dist/auth/dtos/invite.tenant.user.dto.d.ts.map +1 -0
  64. package/dist/auth/dtos/invite.tenant.user.dto.js +45 -0
  65. package/dist/auth/dtos/invite.tenant.user.dto.js.map +1 -0
  66. package/dist/auth/dtos/member.roles.dto.d.ts +4 -0
  67. package/dist/auth/dtos/member.roles.dto.d.ts.map +1 -0
  68. package/dist/auth/dtos/member.roles.dto.js +28 -0
  69. package/dist/auth/dtos/member.roles.dto.js.map +1 -0
  70. package/dist/auth/dtos/switch.organization.dto.d.ts +5 -0
  71. package/dist/auth/dtos/switch.organization.dto.d.ts.map +1 -0
  72. package/dist/auth/dtos/switch.organization.dto.js +25 -0
  73. package/dist/auth/dtos/switch.organization.dto.js.map +1 -0
  74. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts +5 -0
  75. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts.map +1 -0
  76. package/dist/auth/dtos/tenant.invitation.list.dto.js +27 -0
  77. package/dist/auth/dtos/tenant.invitation.list.dto.js.map +1 -0
  78. package/dist/auth/dtos/tenant.member.list.dto.d.ts +5 -0
  79. package/dist/auth/dtos/tenant.member.list.dto.d.ts.map +1 -0
  80. package/dist/auth/dtos/tenant.member.list.dto.js +27 -0
  81. package/dist/auth/dtos/tenant.member.list.dto.js.map +1 -0
  82. package/dist/auth/entities/tenant.invitation.entity.d.ts +13 -0
  83. package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -0
  84. package/dist/auth/entities/tenant.invitation.entity.js +52 -0
  85. package/dist/auth/entities/tenant.invitation.entity.js.map +1 -0
  86. package/dist/auth/entities/tenant.user.entity.d.ts +8 -0
  87. package/dist/auth/entities/tenant.user.entity.d.ts.map +1 -0
  88. package/dist/auth/entities/tenant.user.entity.js +35 -0
  89. package/dist/auth/entities/tenant.user.entity.js.map +1 -0
  90. package/dist/auth/entities/user.entity.d.ts +5 -0
  91. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  92. package/dist/auth/entities/user.entity.js +17 -0
  93. package/dist/auth/entities/user.entity.js.map +1 -1
  94. package/dist/auth/entities/user.role.entity.d.ts +2 -2
  95. package/dist/auth/entities/user.role.entity.d.ts.map +1 -1
  96. package/dist/auth/entities/user.role.entity.js +2 -2
  97. package/dist/auth/entities/user.role.entity.js.map +1 -1
  98. package/dist/auth/enums/auth.default.enum.d.ts +3 -1
  99. package/dist/auth/enums/auth.default.enum.d.ts.map +1 -1
  100. package/dist/auth/enums/auth.default.enum.js +2 -0
  101. package/dist/auth/enums/auth.default.enum.js.map +1 -1
  102. package/dist/auth/enums/tenant.invitation.default.enum.d.ts +4 -0
  103. package/dist/auth/enums/tenant.invitation.default.enum.d.ts.map +1 -0
  104. package/dist/auth/enums/tenant.invitation.default.enum.js +8 -0
  105. package/dist/auth/enums/tenant.invitation.default.enum.js.map +1 -0
  106. package/dist/auth/enums/tenant.invitation.status.enum.d.ts +7 -0
  107. package/dist/auth/enums/tenant.invitation.status.enum.d.ts.map +1 -0
  108. package/dist/auth/enums/tenant.invitation.status.enum.js +11 -0
  109. package/dist/auth/enums/tenant.invitation.status.enum.js.map +1 -0
  110. package/dist/auth/enums/user.type.enum.d.ts.map +1 -1
  111. package/dist/auth/enums/user.type.enum.js.map +1 -1
  112. package/dist/auth/es6.classes.d.ts +15 -4
  113. package/dist/auth/es6.classes.d.ts.map +1 -1
  114. package/dist/auth/es6.classes.js +35 -2
  115. package/dist/auth/es6.classes.js.map +1 -1
  116. package/dist/auth/helpers/auth.d.ts +1 -1
  117. package/dist/auth/helpers/auth.d.ts.map +1 -1
  118. package/dist/auth/helpers/auth.js +7 -4
  119. package/dist/auth/helpers/auth.js.map +1 -1
  120. package/dist/auth/processors/change.password.data.processor.d.ts.map +1 -1
  121. package/dist/auth/processors/change.password.data.processor.js +1 -0
  122. package/dist/auth/processors/change.password.data.processor.js.map +1 -1
  123. package/dist/auth/processors/google.user.data.processor.js +1 -1
  124. package/dist/auth/processors/google.user.data.processor.js.map +1 -1
  125. package/dist/auth/processors/register.user.data.processor.js +1 -1
  126. package/dist/auth/processors/register.user.data.processor.js.map +1 -1
  127. package/dist/auth/processors/tenant.invitation.data.processor.d.ts +20 -0
  128. package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -0
  129. package/dist/auth/processors/tenant.invitation.data.processor.js +112 -0
  130. package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -0
  131. package/dist/auth/processors/tenant.invitation.list.processor.d.ts +13 -0
  132. package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -0
  133. package/dist/auth/processors/tenant.invitation.list.processor.js +67 -0
  134. package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -0
  135. package/dist/auth/processors/tenant.member.list.processor.d.ts +13 -0
  136. package/dist/auth/processors/tenant.member.list.processor.d.ts.map +1 -0
  137. package/dist/auth/processors/tenant.member.list.processor.js +66 -0
  138. package/dist/auth/processors/tenant.member.list.processor.js.map +1 -0
  139. package/dist/auth/services/admin.auth.service.d.ts.map +1 -1
  140. package/dist/auth/services/admin.auth.service.js +2 -2
  141. package/dist/auth/services/admin.auth.service.js.map +1 -1
  142. package/dist/auth/services/auth.service.d.ts +5 -0
  143. package/dist/auth/services/auth.service.d.ts.map +1 -1
  144. package/dist/auth/services/auth.service.js +51 -13
  145. package/dist/auth/services/auth.service.js.map +1 -1
  146. package/dist/auth/services/impersonation.service.d.ts +2 -2
  147. package/dist/auth/services/impersonation.service.d.ts.map +1 -1
  148. package/dist/auth/services/impersonation.service.js +1 -1
  149. package/dist/auth/services/impersonation.service.js.map +1 -1
  150. package/dist/auth/services/tenant.invitation.service.d.ts +26 -0
  151. package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -0
  152. package/dist/auth/services/tenant.invitation.service.js +212 -0
  153. package/dist/auth/services/tenant.invitation.service.js.map +1 -0
  154. package/dist/auth/services/tenant.membership.service.d.ts +29 -0
  155. package/dist/auth/services/tenant.membership.service.d.ts.map +1 -0
  156. package/dist/auth/services/tenant.membership.service.js +178 -0
  157. package/dist/auth/services/tenant.membership.service.js.map +1 -0
  158. package/dist/auth/types/auth.types.d.ts +24 -2
  159. package/dist/auth/types/auth.types.d.ts.map +1 -1
  160. package/dist/auth/utilities/access.revocation.d.ts +2 -0
  161. package/dist/auth/utilities/access.revocation.d.ts.map +1 -1
  162. package/dist/auth/utilities/access.revocation.js +12 -0
  163. package/dist/auth/utilities/access.revocation.js.map +1 -1
  164. package/dist/auth/utilities/auth.utilities.d.ts +1 -0
  165. package/dist/auth/utilities/auth.utilities.d.ts.map +1 -1
  166. package/dist/auth/utilities/auth.utilities.js +4 -0
  167. package/dist/auth/utilities/auth.utilities.js.map +1 -1
  168. package/dist/auth/utilities/tenant.access.d.ts +8 -0
  169. package/dist/auth/utilities/tenant.access.d.ts.map +1 -0
  170. package/dist/auth/utilities/tenant.access.js +61 -0
  171. package/dist/auth/utilities/tenant.access.js.map +1 -0
  172. package/dist/common/es6.classes.d.ts +2 -2
  173. package/dist/constants/entity.constants.d.ts +2 -0
  174. package/dist/constants/entity.constants.d.ts.map +1 -1
  175. package/dist/constants/entity.constants.js +2 -0
  176. package/dist/constants/entity.constants.js.map +1 -1
  177. package/dist/constants/entity.maps.d.ts +4 -0
  178. package/dist/constants/entity.maps.d.ts.map +1 -1
  179. package/dist/constants/entity.maps.js +4 -0
  180. package/dist/constants/entity.maps.js.map +1 -1
  181. package/dist/constants/job.constants.d.ts +1 -0
  182. package/dist/constants/job.constants.d.ts.map +1 -1
  183. package/dist/constants/job.constants.js +1 -0
  184. package/dist/constants/job.constants.js.map +1 -1
  185. package/dist/index.d.ts +6 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/index.js +14 -3
  188. package/dist/index.js.map +1 -1
  189. package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
  190. package/dist/migrations/1749600000003.CreateSysUsersTable.js +4 -0
  191. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  192. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.d.ts.map +1 -1
  193. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js +8 -1
  194. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js.map +1 -1
  195. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts +6 -0
  196. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts.map +1 -0
  197. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js +33 -0
  198. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js.map +1 -0
  199. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts +6 -0
  200. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -0
  201. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +43 -0
  202. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -0
  203. package/dist/notification/enums/email.notification.default.enum.d.ts +1 -0
  204. package/dist/notification/enums/email.notification.default.enum.d.ts.map +1 -1
  205. package/dist/notification/enums/email.notification.default.enum.js +1 -0
  206. package/dist/notification/enums/email.notification.default.enum.js.map +1 -1
  207. package/dist/notification/enums/email.template.identifier.enum.d.ts +2 -1
  208. package/dist/notification/enums/email.template.identifier.enum.d.ts.map +1 -1
  209. package/dist/notification/enums/email.template.identifier.enum.js +1 -0
  210. package/dist/notification/enums/email.template.identifier.enum.js.map +1 -1
  211. package/dist/notification/es6.classes.d.ts +2 -1
  212. package/dist/notification/es6.classes.d.ts.map +1 -1
  213. package/dist/notification/es6.classes.js +6 -1
  214. package/dist/notification/es6.classes.js.map +1 -1
  215. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts +14 -0
  216. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts.map +1 -0
  217. package/dist/notification/jobs/tenant.user.invited.mail.job.js +57 -0
  218. package/dist/notification/jobs/tenant.user.invited.mail.job.js.map +1 -0
  219. package/dist/notification/notification.module.d.ts.map +1 -1
  220. package/dist/notification/notification.module.js +3 -1
  221. package/dist/notification/notification.module.js.map +1 -1
  222. package/dist/notification/types/email.notification.types.d.ts +9 -0
  223. package/dist/notification/types/email.notification.types.d.ts.map +1 -1
  224. package/dist/tenant/middlewares/tenant.context.middleware.d.ts +2 -3
  225. package/dist/tenant/middlewares/tenant.context.middleware.d.ts.map +1 -1
  226. package/dist/tenant/middlewares/tenant.context.middleware.js +12 -23
  227. package/dist/tenant/middlewares/tenant.context.middleware.js.map +1 -1
  228. package/dist/tenant/services/tenant.service.d.ts +0 -2
  229. package/dist/tenant/services/tenant.service.d.ts.map +1 -1
  230. package/dist/tenant/services/tenant.service.js +0 -22
  231. package/dist/tenant/services/tenant.service.js.map +1 -1
  232. package/dist/tenant/types/tenant.types.d.ts +0 -5
  233. package/dist/tenant/types/tenant.types.d.ts.map +1 -1
  234. package/package.json +1 -1
  235. package/dist/tenant/enums/tenant.default.enum.d.ts +0 -4
  236. package/dist/tenant/enums/tenant.default.enum.d.ts.map +0 -1
  237. package/dist/tenant/enums/tenant.default.enum.js +0 -8
  238. package/dist/tenant/enums/tenant.default.enum.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientMembershipDataProcessor = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const common_data_processor_1 = require("../../common/libraries/common.data.processor");
6
+ const system_role_entity_1 = require("../../auth/entities/system.role.entity");
7
+ const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
8
+ const user_entity_1 = require("../../auth/entities/user.entity");
9
+ const user_type_enum_1 = require("../../auth/enums/user.type.enum");
10
+ const tenant_access_1 = require("../../auth/utilities/tenant.access");
11
+ class ClientMembershipDataProcessor extends common_data_processor_1.CommonDataProcessor {
12
+ constructor(tenantService) {
13
+ super();
14
+ this.tenantService = tenantService;
15
+ }
16
+ async process(payload) {
17
+ this.payload = payload;
18
+ await this.validate();
19
+ return this.create();
20
+ }
21
+ async validate() {
22
+ const { user_id, tenant_id } = this.payload;
23
+ const user = await user_entity_1.UserEntity.findOne({ where: { id: user_id } });
24
+ if (!user || user.user_type !== user_type_enum_1.UserType.TENANT_USER)
25
+ this.setColumnError('user_id', 'No client user exists for this id');
26
+ if (!(await this.tenantService.findByUuid(tenant_id)))
27
+ this.setColumnError('tenant_id', 'Tenant not found or inactive');
28
+ else if (await tenant_user_entity_1.TenantUserEntity.existsBy({ user_id, tenant_id }))
29
+ this.setColumnError('tenant_id', 'Already a member of this tenant');
30
+ await this.validateRoles();
31
+ this.raiseExceptionOnValidationFailure();
32
+ }
33
+ async validateRoles() {
34
+ const roleIds = [...new Set(this.payload.role_ids ?? [])];
35
+ if (!roleIds.length)
36
+ return;
37
+ const roles = await system_role_entity_1.SystemRoleEntity.findBy({
38
+ id: (0, typeorm_1.In)(roleIds),
39
+ is_active: true,
40
+ });
41
+ const found = new Set(roles.map((role) => role.id));
42
+ for (const roleId of roleIds)
43
+ if (!found.has(roleId))
44
+ this.setColumnError('role_ids', `Role '${roleId}' not found or inactive`);
45
+ }
46
+ async create() {
47
+ const { user_id, tenant_id, role_ids } = this.payload;
48
+ await tenant_user_entity_1.TenantUserEntity.getRepository().manager.transaction((trx) => tenant_access_1.TenantAccess.join(trx, user_id, tenant_id, role_ids ?? []));
49
+ return tenant_user_entity_1.TenantUserEntity.findOneOrFail({
50
+ where: { user_id, tenant_id },
51
+ relations: { tenant: true },
52
+ });
53
+ }
54
+ }
55
+ exports.ClientMembershipDataProcessor = ClientMembershipDataProcessor;
56
+ //# sourceMappingURL=client.membership.data.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.membership.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.membership.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAC7B,wFAAmF;AACnF,+EAA0E;AAC1E,+EAA0E;AAC1E,iEAA6D;AAC7D,oEAA2D;AAC3D,sEAAkE;AAQlE,MAAa,6BAA8B,SAAQ,2CAAmB;IAGpE,YAA6B,aAA4B;QACvD,KAAK,EAAE,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAe;IAEzD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5C,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,yBAAQ,CAAC,WAAW;YAClD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;QAEtE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;aAC9D,IAAI,MAAM,qCAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;QAEtE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,MAAM,KAAK,GAAG,MAAM,qCAAgB,CAAC,MAAM,CAAC;YAC1C,EAAE,EAAE,IAAA,YAAE,EAAC,OAAO,CAAC;YACf,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,cAAc,CACjB,UAAU,EACV,SAAS,MAAM,yBAAyB,CACzC,CAAC;IACR,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEtD,MAAM,qCAAgB,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CACjE,4BAAY,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC,CAC3D,CAAC;QACF,OAAO,qCAAgB,CAAC,aAAa,CAAC;YACpC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;YAC7B,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;CACF;AAzDD,sEAyDC"}
@@ -13,12 +13,11 @@ export declare class ClientUserDataProcessor extends UserDataProcessor {
13
13
  process(payload: AddClientUserDto): Promise<UserEntity>;
14
14
  private validate;
15
15
  private validateTenant;
16
+ private validateMembership;
16
17
  private resolveRoles;
17
18
  private save;
18
19
  private create;
19
20
  private update;
20
- private grantRoles;
21
- private updateRoles;
22
21
  private notifyUser;
23
22
  }
24
23
  //# 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;AAE/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AAmBpG,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;YAsBR,cAAc;YAQd,YAAY;YAuBZ,IAAI;YAKJ,MAAM;YAsBN,MAAM;YAmBN,UAAU;YASV,WAAW;YA4BX,UAAU;CAiBzB"}
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;AAoBpG,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;YAuBR,cAAc;YAQd,kBAAkB;YAYlB,YAAY;YAwBZ,IAAI;YAKJ,MAAM;YA+BN,MAAM;YAgCN,UAAU;CAiBzB"}
@@ -6,7 +6,8 @@ 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 user_role_entity_1 = require("../../auth/entities/user.role.entity");
9
+ const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
10
+ const tenant_access_1 = require("../../auth/utilities/tenant.access");
10
11
  const access_exception_1 = require("../../global/exceptions/access.exception");
11
12
  const typeorm_1 = require("typeorm");
12
13
  const system_role_entity_1 = require("../../auth/entities/system.role.entity");
@@ -28,6 +29,8 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
28
29
  if (editId && !(await user_entity_1.UserEntity.existsBy({ id: editId })))
29
30
  this.setColumnError('id', 'No client user exists for this id');
30
31
  await this.validateTenant();
32
+ if (editId)
33
+ await this.validateMembership(editId);
31
34
  await this.validateEmail(this.payload.email, 'email', editId);
32
35
  await this.validateContact(this.payload.contact, this.payload.contact_code, 'contact', editId);
33
36
  this.validatePassword(this.payload.password, !!editId);
@@ -40,6 +43,14 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
40
43
  this.setColumnError('tenant_id', 'Tenant not found or inactive');
41
44
  this.tenant = tenant;
42
45
  }
46
+ async validateMembership(userId) {
47
+ const isMember = await tenant_user_entity_1.TenantUserEntity.existsBy({
48
+ user_id: userId,
49
+ tenant_id: this.payload.tenant_id,
50
+ });
51
+ if (!isMember)
52
+ this.setColumnError('tenant_id', 'This user is not a member of this tenant');
53
+ }
43
54
  async resolveRoles(roleIds, field) {
44
55
  if (!roleIds?.length) {
45
56
  return [];
@@ -48,12 +59,13 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
48
59
  const roles = await system_role_entity_1.SystemRoleEntity.find({
49
60
  where: {
50
61
  id: (0, typeorm_1.In)(uniqueRoleIds),
62
+ is_active: true,
51
63
  },
52
64
  });
53
65
  const foundRoleIds = new Set(roles.map((role) => role.id));
54
66
  for (const roleId of uniqueRoleIds) {
55
67
  if (!foundRoleIds.has(roleId)) {
56
- this.setColumnError(field, `Role '${roleId}' not found`);
68
+ this.setColumnError(field, `Role '${roleId}' not found or inactive`);
57
69
  }
58
70
  }
59
71
  return roles;
@@ -65,19 +77,22 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
65
77
  }
66
78
  async create() {
67
79
  const body = this.payload;
80
+ const password = await auth_utilities_1.AuthUtility.hashPassword(body.password);
68
81
  const user = user_entity_1.UserEntity.create({
69
82
  user_type: user_type_enum_1.UserType.TENANT_USER,
70
83
  organization_id: body.tenant_id,
71
84
  full_name: body.full_name,
72
85
  email: body.email,
73
- password: await auth_utilities_1.AuthUtility.hashPassword(body.password),
86
+ password,
74
87
  country: body.country,
75
88
  contact_code: body.contact_code,
76
89
  contact: body.contact,
77
90
  active: body.active ?? true,
78
91
  });
79
- await user.save();
80
- await this.grantRoles(user);
92
+ await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
93
+ await trx.save(user);
94
+ await tenant_access_1.TenantAccess.join(trx, user.id, body.tenant_id, body.role_ids ?? []);
95
+ });
81
96
  await this.notifyUser(user);
82
97
  return this.stripSecrets(user);
83
98
  }
@@ -92,33 +107,11 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
92
107
  user.contact_code = body.contact_code;
93
108
  user.contact = body.contact;
94
109
  user.active = body.active ?? true;
95
- await user.save();
96
- await this.updateRoles(user);
97
- return this.stripSecrets(user);
98
- }
99
- async grantRoles(user) {
100
- if (!this.payload?.role_ids?.length)
101
- return;
102
- const userRoles = [...new Set(this.payload.role_ids)].map((role_id) => user_role_entity_1.UserRoleEntity.create({ user_id: user.id, role_id }));
103
- await user_role_entity_1.UserRoleEntity.save(userRoles);
104
- }
105
- async updateRoles(user) {
106
- const existingRoles = await user_role_entity_1.UserRoleEntity.find({
107
- where: {
108
- user_id: user.id,
109
- },
110
+ await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
111
+ await trx.save(user);
112
+ await tenant_access_1.TenantAccess.reconcileRoles(trx, user.id, body.tenant_id, body.role_ids ?? []);
110
113
  });
111
- const existingRoleIds = new Set(existingRoles.map((role) => role.role_id));
112
- const roleIds = new Set((this.payload?.role_ids ?? []).map((role_id) => role_id));
113
- for (const existingRole of existingRoles)
114
- if (!roleIds.has(existingRole.role_id))
115
- await existingRole.softDelete();
116
- for (const roleId of roleIds)
117
- if (!existingRoleIds.has(roleId))
118
- await user_role_entity_1.UserRoleEntity.create({
119
- user_id: user.id,
120
- role_id: roleId,
121
- }).save();
114
+ return this.stripSecrets(user);
122
115
  }
123
116
  async notifyUser(user) {
124
117
  const data = {
@@ -1 +1 @@
1
- {"version":3,"file":"client.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,+DAA0D;AAC1D,iEAA6D;AAC7D,oEAA2D;AAI3D,wEAAkE;AAGlE,2EAAsE;AACtE,+EAA2E;AAC3E,qCAA6B;AAC7B,+EAA0E;AAc1E,MAAa,uBAAwB,SAAQ,uCAAiB;IAM5D,YACmB,aAA4B,EAC5B,0BAAsD;QAEvE,KAAK,EAAE,CAAC;QAHS,kBAAa,GAAb,aAAa,CAAe;QAC5B,+BAA0B,GAA1B,0BAA0B,CAA4B;QANxD,WAAM,GAAG,IAAI,eAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE3D,WAAM,GAAwB,IAAI,CAAC;IAO3C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAyB;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAE/B,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,wBAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QAEjE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAG5B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,eAAe,CACxB,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,IAAI,CAAC,OAAO,CAAC,YAAY,EACzB,SAAS,EACT,MAAM,CACP,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE3D,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM;YACT,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAAiB,EACjB,KAAa;QAEb,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,qCAAgB,CAAC,IAAI,CAAC;YACxC,KAAK,EAAE;gBACL,EAAE,EAAE,IAAA,YAAE,EAAC,aAAa,CAAC;aACtB;SACF,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,aAAa,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,MAAM,IAAI,GAAG,wBAAU,CAAC,MAAM,CAAC;YAC7B,SAAS,EAAE,yBAAQ,CAAC,WAAW;YAC/B,eAAe,EAAE,IAAI,CAAC,SAAS;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,MAAM,4BAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;YACvD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,kCAAe,CAAC,0BAA0B,CAAC,CAAC;QAEjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QAElC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAgB;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM;YAAE,OAAO;QAC5C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACpE,iCAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CACrD,CAAC;QAEF,MAAM,iCAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAgB;QACxC,MAAM,aAAa,GAAG,MAAM,iCAAc,CAAC,IAAI,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,EAAE;aACjB;SACF,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CACzD,CAAC;QAEF,KAAK,MAAM,YAAY,IAAI,aAAa;YACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC;gBAAE,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAE1E,KAAK,MAAM,MAAM,IAAI,OAAO;YAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC9B,MAAM,iCAAc,CAAC,MAAM,CAAC;oBAC1B,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAQO,KAAK,CAAC,UAAU,CAAC,IAAgB;QAEvC,MAAM,IAAI,GAA+B;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,KAAK;YACtB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE;YACpC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;SAC5C,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wDAAwD,IAAI,CAAC,KAAK,KAAM,KAAe,CAAC,OAAO,EAAE,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA5KD,0DA4KC"}
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 +1 @@
1
- {"version":3,"file":"client.user.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQpD,qBAAa,yBAA0B,SAAQ,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAcjD"}
1
+ {"version":3,"file":"client.user.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAMxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASpD,qBAAa,yBAA0B,SAAQ,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAgBjD"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientUserDeleteProcessor = void 0;
4
4
  const common_data_processor_1 = require("../../common/libraries/common.data.processor");
5
5
  const user_entity_1 = require("../../auth/entities/user.entity");
6
+ const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
7
+ const user_role_entity_1 = require("../../auth/entities/user.role.entity");
6
8
  const user_type_enum_1 = require("../../auth/enums/user.type.enum");
7
9
  const access_revocation_1 = require("../../auth/utilities/access.revocation");
8
10
  class ClientUserDeleteProcessor extends common_data_processor_1.CommonDataProcessor {
@@ -19,6 +21,8 @@ class ClientUserDeleteProcessor extends common_data_processor_1.CommonDataProces
19
21
  this.raiseExceptionOnValidationFailure();
20
22
  await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
21
23
  await access_revocation_1.AccessRevocation.revokeAll(trx, id, false);
24
+ await trx.softDelete(user_role_entity_1.UserRoleEntity, { user_id: id });
25
+ await trx.softDelete(tenant_user_entity_1.TenantUserEntity, { user_id: id });
22
26
  await trx.softDelete(user_entity_1.UserEntity, { id });
23
27
  });
24
28
  return { id, deleted: true, deleted_by: this.actor.id };
@@ -1 +1 @@
1
- {"version":3,"file":"client.user.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AAEnF,iEAA6D;AAC7D,oEAA2D;AAC3D,8EAA0E;AAS1E,MAAa,yBAA0B,SAAQ,2CAAmB;IAChE,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;aAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,yBAAQ,CAAC,WAAW;YAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QAC9D,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAEzC,MAAM,wBAAU,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjE,MAAM,oCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC,UAAU,CAAC,wBAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AAnBD,8DAmBC"}
1
+ {"version":3,"file":"client.user.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AAEnF,iEAA6D;AAC7D,+EAA0E;AAC1E,2EAAsE;AACtE,oEAA2D;AAC3D,8EAA0E;AAU1E,MAAa,yBAA0B,SAAQ,2CAAmB;IAChE,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;aAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,yBAAQ,CAAC,WAAW;YAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QAC9D,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAEzC,MAAM,wBAAU,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjE,MAAM,oCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC,UAAU,CAAC,iCAAc,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,GAAG,CAAC,UAAU,CAAC,qCAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,CAAC,UAAU,CAAC,wBAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AArBD,8DAqBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.user.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAUjE,qBAAa,uBAAwB,SAAQ,mBAAmB;IAyClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAxCnE,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAsCtC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAI7D,OAAO,CAAC,OAAO,EAAE,iBAAiB;IAMxC,SAAS,CAAC,qBAAqB;CAGhC"}
1
+ {"version":3,"file":"client.user.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAYjE,qBAAa,uBAAwB,SAAQ,mBAAmB;IAqDlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IApDnE,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAkDtC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAI7D,OAAO,CAAC,OAAO,EAAE,iBAAiB;IAMxC,SAAS,CAAC,qBAAqB;CAGhC"}
@@ -10,9 +10,16 @@ class ClientUserListProcessor extends common_list_processor_1.CommonListProcesso
10
10
  super();
11
11
  this.listFilterService = listFilterService;
12
12
  this.config = {
13
- query: 'sys_users u left join sys_tenants t on t.id = u.organization_id',
13
+ query: `sys_users u
14
+ left join sys_tenant_users tu on tu.user_id = u.id and tu.deleted_at is null
15
+ left join sys_tenants t on t.id = tu.tenant_id`,
14
16
  columns: [
15
17
  { key: 'u.id', identifier: 'id', type: filter_value_type_enum_1.FilterValueTypeEnum.UUID },
18
+ {
19
+ key: 'tu.id',
20
+ identifier: 'membership_id',
21
+ type: filter_value_type_enum_1.FilterValueTypeEnum.UUID,
22
+ },
16
23
  { key: 'u.full_name', identifier: 'full_name', searchable: true },
17
24
  { key: 'u.email', identifier: 'email', searchable: true },
18
25
  {
@@ -21,7 +28,12 @@ class ClientUserListProcessor extends common_list_processor_1.CommonListProcesso
21
28
  type: filter_value_type_enum_1.FilterValueTypeEnum.BOOLEAN,
22
29
  },
23
30
  {
24
- key: 'u.organization_id',
31
+ key: 'tu.is_active',
32
+ identifier: 'membership_active',
33
+ type: filter_value_type_enum_1.FilterValueTypeEnum.BOOLEAN,
34
+ },
35
+ {
36
+ key: 'tu.tenant_id',
25
37
  identifier: 'tenant_id',
26
38
  type: filter_value_type_enum_1.FilterValueTypeEnum.UUID,
27
39
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client.user.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAGnF,oEAA2D;AAW3D,MAAa,uBAAwB,SAAQ,2CAAmB;IAyC9D,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAxCzD,WAAM,GAA2B;YACzC,KAAK,EAAE,iEAAiE;YACxE,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD;oBACE,GAAG,EAAE,UAAU;oBACf,UAAU,EAAE,QAAQ;oBACpB,IAAI,EAAE,4CAAmB,CAAC,OAAO;iBAClC;gBACD;oBACE,GAAG,EAAE,mBAAmB;oBACxB,UAAU,EAAE,WAAW;oBACvB,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC9D,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;gBAC3C,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE;gBACrD,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D;oBACE,GAAG,EAAE,iBAAiB;oBACtB,UAAU,EAAE,eAAe;oBAC3B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,qBAAqB;oBAC1B,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;aACF;YACD,UAAU,EAAE,CAAC,sBAAsB,CAAC;YACpC,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,mCAAa,CAAC,IAAI,EAAE;SACpE,CAAC;IAIF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA0B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,yBAAQ,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;CACF;AAtDD,0DAsDC"}
1
+ {"version":3,"file":"client.user.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAGnF,oEAA2D;AAa3D,MAAa,uBAAwB,SAAQ,2CAAmB;IAqD9D,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QApDzD,WAAM,GAA2B;YACzC,KAAK,EAAE;;qDAE0C;YACjD,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE;oBACE,GAAG,EAAE,OAAO;oBACZ,UAAU,EAAE,eAAe;oBAC3B,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD;oBACE,GAAG,EAAE,UAAU;oBACf,UAAU,EAAE,QAAQ;oBACpB,IAAI,EAAE,4CAAmB,CAAC,OAAO;iBAClC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,4CAAmB,CAAC,OAAO;iBAClC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,WAAW;oBACvB,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC9D,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;gBAC3C,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE;gBACrD,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D;oBACE,GAAG,EAAE,iBAAiB;oBACtB,UAAU,EAAE,eAAe;oBAC3B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,qBAAqB;oBAC1B,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;aACF;YACD,UAAU,EAAE,CAAC,sBAAsB,CAAC;YACpC,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,mCAAa,CAAC,IAAI,EAAE;SACpE,CAAC;IAIF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA0B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,yBAAQ,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;CACF;AAlED,0DAkEC"}
@@ -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;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"}
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;AAUxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAepD,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;CAoDjD"}
@@ -7,6 +7,9 @@ const api_key_entity_1 = require("../../auth/entities/api.key.entity");
7
7
  const api_scope_entity_1 = require("../../auth/entities/api.scope.entity");
8
8
  const tenant_scope_entity_1 = require("../../auth/entities/tenant.scope.entity");
9
9
  const user_entity_1 = require("../../auth/entities/user.entity");
10
+ const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
11
+ const user_role_entity_1 = require("../../auth/entities/user.role.entity");
12
+ const tenant_invitation_entity_1 = require("../../auth/entities/tenant.invitation.entity");
10
13
  const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
11
14
  const access_revocation_1 = require("../../auth/utilities/access.revocation");
12
15
  class TenantDeleteProcessor extends common_data_processor_1.CommonDataProcessor {
@@ -18,20 +21,30 @@ class TenantDeleteProcessor extends common_data_processor_1.CommonDataProcessor
18
21
  if (!(await tenant_entity_1.TenantEntity.existsBy({ id })))
19
22
  this.setColumnError('id', 'No tenant exists for this id');
20
23
  this.raiseExceptionOnValidationFailure();
21
- const users = await user_entity_1.UserEntity.find({
22
- where: { organization_id: id, deleted_at: (0, typeorm_1.IsNull)() },
23
- select: { id: true },
24
- });
24
+ const memberIds = (await tenant_user_entity_1.TenantUserEntity.find({
25
+ where: { tenant_id: id },
26
+ select: { user_id: true },
27
+ })).map((membership) => membership.user_id);
28
+ const staying = new Set(memberIds.length
29
+ ? (await tenant_user_entity_1.TenantUserEntity.find({
30
+ where: { user_id: (0, typeorm_1.In)(memberIds), tenant_id: (0, typeorm_1.Not)(id) },
31
+ select: { user_id: true },
32
+ })).map((membership) => membership.user_id)
33
+ : []);
34
+ const leaving = memberIds.filter((userId) => !staying.has(userId));
25
35
  const apiKeys = await api_key_entity_1.ApiKeyEntity.find({
26
36
  where: { tenant_id: id, deleted_at: (0, typeorm_1.IsNull)() },
27
37
  select: { id: true },
28
38
  });
29
39
  await tenant_entity_1.TenantEntity.getRepository().manager.transaction(async (trx) => {
30
- for (const user of users) {
31
- await access_revocation_1.AccessRevocation.revokeAll(trx, user.id, false);
32
- }
33
- if (users.length)
34
- await trx.softDelete(user_entity_1.UserEntity, users.map((user) => user.id));
40
+ for (const userId of leaving)
41
+ await access_revocation_1.AccessRevocation.revokeAll(trx, userId, false);
42
+ await access_revocation_1.AccessRevocation.revokeOrganization(trx, id);
43
+ if (leaving.length)
44
+ await trx.softDelete(user_entity_1.UserEntity, leaving);
45
+ await trx.softDelete(user_role_entity_1.UserRoleEntity, { tenant_id: id });
46
+ await trx.softDelete(tenant_user_entity_1.TenantUserEntity, { tenant_id: id });
47
+ await trx.softDelete(tenant_invitation_entity_1.TenantInvitationEntity, { tenant_id: id });
35
48
  if (apiKeys.length) {
36
49
  const apiKeyIds = apiKeys.map((apiKey) => apiKey.id);
37
50
  await trx.update(api_key_entity_1.ApiKeyEntity, { id: (0, typeorm_1.In)(apiKeyIds) }, { is_active: false, revoked_at: new Date() });
@@ -1 +1 @@
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,iCAAiC,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAG,MAAM,wBAAU,CAAC,IAAI,CAAC;YAClC,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE;YACpD,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
+ {"version":3,"file":"tenant.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,8BAAsB,iBAAkB,SAAQ,mBAAmB;cAQjD,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,SAAU,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;cAOA,eAAe,CAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,SAAY,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAiBhB,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,OAAO,EACf,KAAK,SAAa,GACjB,IAAI;IAMP,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;CAIzD"}
1
+ {"version":3,"file":"user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,8BAAsB,iBAAkB,SAAQ,mBAAmB;cASjD,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,SAAU,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;cAUA,eAAe,CAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,SAAY,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAiBhB,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,OAAO,EACf,KAAK,SAAa,GACjB,IAAI;IAMP,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;CAIzD"}
@@ -6,8 +6,11 @@ const common_data_processor_1 = require("../../common/libraries/common.data.proc
6
6
  const user_entity_1 = require("../../auth/entities/user.entity");
7
7
  class UserDataProcessor extends common_data_processor_1.CommonDataProcessor {
8
8
  async validateEmail(email, field = 'email', excludeUserId) {
9
+ const match = user_entity_1.UserEntity.emailMatching(email);
9
10
  const existing = await user_entity_1.UserEntity.findOne({
10
- where: excludeUserId ? { email, id: (0, typeorm_1.Not)(excludeUserId) } : { email },
11
+ where: excludeUserId
12
+ ? { email: match, id: (0, typeorm_1.Not)(excludeUserId) }
13
+ : { email: match },
11
14
  });
12
15
  if (existing)
13
16
  this.setColumnError(field, 'Email is already registered');
@@ -1 +1 @@
1
- {"version":3,"file":"user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAChD,wFAAmF;AACnF,iEAA6D;AAO7D,MAAsB,iBAAkB,SAAQ,2CAAmB;IAQvD,KAAK,CAAC,aAAa,CAC3B,KAAa,EACb,KAAK,GAAG,OAAO,EACf,aAAsB;QAEtB,MAAM,QAAQ,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC;YACxC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAA,aAAG,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;SACrE,CAAC,CAAC;QACH,IAAI,QAAQ;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IAES,KAAK,CAAC,eAAe,CAC7B,OAA2B,EAC3B,WAA+B,EAC/B,KAAK,GAAG,SAAS,EACjB,aAAsB;QAEtB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAiC,EAAE,OAAO,EAAE,CAAC;QACxD,IAAI,WAAW;YAAE,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;QAClD,IAAI,aAAa;YAAE,KAAK,CAAC,EAAE,GAAG,IAAA,aAAG,EAAC,aAAa,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,QAAQ;YACV,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAOS,gBAAgB,CACxB,QAA4B,EAC5B,MAAe,EACf,KAAK,GAAG,UAAU;QAElB,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;YACtB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAGS,YAAY,CAAuB,IAAO;QAClD,OAAQ,IAA8B,CAAC,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvDD,8CAuDC"}
1
+ {"version":3,"file":"user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAChD,wFAAmF;AACnF,iEAA6D;AAO7D,MAAsB,iBAAkB,SAAQ,2CAAmB;IASvD,KAAK,CAAC,aAAa,CAC3B,KAAa,EACb,KAAK,GAAG,OAAO,EACf,aAAsB;QAEtB,MAAM,KAAK,GAAG,wBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC;YACxC,KAAK,EAAE,aAAa;gBAClB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAA,aAAG,EAAC,aAAa,CAAC,EAAE;gBAC1C,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,QAAQ;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IAES,KAAK,CAAC,eAAe,CAC7B,OAA2B,EAC3B,WAA+B,EAC/B,KAAK,GAAG,SAAS,EACjB,aAAsB;QAEtB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAiC,EAAE,OAAO,EAAE,CAAC;QACxD,IAAI,WAAW;YAAE,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;QAClD,IAAI,aAAa;YAAE,KAAK,CAAC,EAAE,GAAG,IAAA,aAAG,EAAC,aAAa,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,QAAQ;YACV,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAOS,gBAAgB,CACxB,QAA4B,EAC5B,MAAe,EACf,KAAK,GAAG,UAAU;QAElB,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;YACtB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAGS,YAAY,CAAuB,IAAO;QAClD,OAAQ,IAA8B,CAAC,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3DD,8CA2DC"}
@@ -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;AAkBxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA0H5D,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;AAoBxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwJ5D,qBAMa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa;CAShE"}
@@ -13,6 +13,8 @@ const jwt_1 = require("@nestjs/jwt");
13
13
  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
+ const notification_module_1 = require("../notification/notification.module");
17
+ const tenant_user_invited_mail_job_1 = require("../notification/jobs/tenant.user.invited.mail.job");
16
18
  const audit_service_1 = require("../common/services/audit.service");
17
19
  const cache_service_1 = require("../common/services/cache.service");
18
20
  const encryption_service_1 = require("../common/services/encryption.service");
@@ -25,10 +27,11 @@ const jwt_middleware_1 = require("./middlewares/jwt.middleware");
25
27
  const admin_jwt_middleware_1 = require("./middlewares/admin.jwt.middleware");
26
28
  const api_key_middleware_1 = require("./middlewares/api.key.middleware");
27
29
  const es6_classes_1 = require("./es6.classes");
28
- const [ApiKeyService, ScopeService, AuthService, AdminAuthService, GoogleAuthService, RoleService, ImpersonationService,] = es6_classes_1.es6Classes.services;
29
- function createAuthImports() {
30
+ const [ApiKeyService, ScopeService, AuthService, AdminAuthService, GoogleAuthService, RoleService, ImpersonationService, TenantMembershipService, TenantInvitationService,] = es6_classes_1.es6Classes.services;
31
+ function createAuthImports(options) {
30
32
  return [
31
33
  common_module_1.CommonModule,
34
+ options ? notification_module_1.NotificationModule.register(options) : notification_module_1.NotificationModule,
32
35
  passport_1.PassportModule.register({ defaultStrategy: 'jwt' }),
33
36
  jwt_1.JwtModule.registerAsync({
34
37
  useFactory: () => ({
@@ -86,6 +89,20 @@ function createAuthProviders(options = {}) {
86
89
  (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
87
90
  ],
88
91
  },
92
+ {
93
+ provide: TenantMembershipService,
94
+ useFactory: (authService, dataSource) => new TenantMembershipService(authService, dataSource),
95
+ inject: [AuthService, (0, typeorm_1.getDataSourceToken)(options.dataSourceName)],
96
+ },
97
+ {
98
+ provide: TenantInvitationService,
99
+ useFactory: (authService, dataSource, invitedMailJob) => new TenantInvitationService(authService, dataSource, invitedMailJob),
100
+ inject: [
101
+ AuthService,
102
+ (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
103
+ tenant_user_invited_mail_job_1.TenantUserInvitedMailJob,
104
+ ],
105
+ },
89
106
  GoogleAuthService,
90
107
  jwt_strategy_1.JwtStrategy,
91
108
  jwt_refresh_strategy_1.JwtRefreshStrategy,
@@ -101,6 +118,8 @@ const authExports = [
101
118
  AuthService,
102
119
  AdminAuthService,
103
120
  ImpersonationService,
121
+ TenantMembershipService,
122
+ TenantInvitationService,
104
123
  ApiKeyService,
105
124
  ScopeService,
106
125
  RoleService,
@@ -118,7 +137,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
118
137
  static register(options = {}) {
119
138
  return {
120
139
  module: AuthModule_1,
121
- imports: createAuthImports(),
140
+ imports: createAuthImports(options),
122
141
  controllers: [...es6_classes_1.es6Classes.controllers],
123
142
  providers: createAuthProviders(options),
124
143
  exports: authExports,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type { Request } from 'express';
2
2
  import { AuthService } from '../services/auth.service';
3
3
  import { GoogleAuthService } from '../services/google.auth.service';
4
- import { AuthenticatedAccess, AuthTokenPair } from '../types/auth.types';
4
+ import { TenantMembershipService } from '../services/tenant.membership.service';
5
+ import { TenantInvitationService } from '../services/tenant.invitation.service';
6
+ import { AuthTokenPair, CurrentUserProfile } from '../types/auth.types';
5
7
  import { LoginDto } from '../dtos/login.dto';
6
8
  import { GoogleLoginDto } from '../dtos/google.login.dto';
7
9
  import { RegisterDto } from '../dtos/register.dto';
@@ -10,12 +12,10 @@ import { ChangePasswordDto } from '../dtos/change.password.dto';
10
12
  export declare class AuthController {
11
13
  private readonly authService;
12
14
  private readonly googleAuthService;
13
- constructor(authService: AuthService, googleAuthService: GoogleAuthService);
14
- me(): Promise<{
15
- user: AuthenticatedAccess['user'];
16
- roles: AuthenticatedAccess['roles'];
17
- organization: AuthenticatedAccess['organization'];
18
- }>;
15
+ private readonly tenantMembershipService;
16
+ private readonly tenantInvitationService;
17
+ constructor(authService: AuthService, googleAuthService: GoogleAuthService, tenantMembershipService: TenantMembershipService, tenantInvitationService: TenantInvitationService);
18
+ me(): Promise<CurrentUserProfile>;
19
19
  login(dto: LoginDto, request: Request): Promise<AuthTokenPair>;
20
20
  googleLogin(dto: GoogleLoginDto, request: Request): Promise<AuthTokenPair>;
21
21
  register(dto: RegisterDto, request: Request): Promise<AuthTokenPair>;
@@ -26,6 +26,7 @@ export declare class AuthController {
26
26
  changePassword(dto: ChangePasswordDto): Promise<{
27
27
  success: true;
28
28
  }>;
29
+ private signIn;
29
30
  private contextOf;
30
31
  }
31
32
  //# sourceMappingURL=auth.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAMhE,qBAEa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB;IAQjD,EAAE,IAAI,OAAO,CAAC;QAClB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpC,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;KACnD,CAAC;IAYI,KAAK,CACD,GAAG,EAAE,QAAQ,EACd,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAanB,WAAW,CACP,GAAG,EAAE,cAAc,EACpB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAWnB,QAAQ,CACJ,GAAG,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAOnB,OAAO,CACH,GAAG,EAAE,eAAe,EACrB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAWnB,MAAM,CAAS,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAShE,cAAc,CACV,GAAG,EAAE,iBAAiB,GAC7B,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAM7B,OAAO,CAAC,SAAS;CAMlB"}
1
+ {"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAKhE,qBAEa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAHvB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB,EAChD,uBAAuB,EAAE,uBAAuB;IAU7D,EAAE,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAuBjC,KAAK,CACD,GAAG,EAAE,QAAQ,EACd,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAanB,WAAW,CACP,GAAG,EAAE,cAAc,EACpB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAWnB,QAAQ,CACJ,GAAG,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAOnB,OAAO,CACH,GAAG,EAAE,eAAe,EACrB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAWnB,MAAM,CAAS,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAahE,cAAc,CACV,GAAG,EAAE,iBAAiB,GAC7B,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;YAMf,MAAM;IAUpB,OAAO,CAAC,SAAS;CAMlB"}