@neohm/nestend 4.0.1 → 4.1.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 (267) hide show
  1. package/README.md +61 -12
  2. package/dist/admin/controllers/admin.api.key.controller.d.ts +3 -1
  3. package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -1
  4. package/dist/admin/controllers/admin.api.key.controller.js +6 -3
  5. package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
  6. package/dist/admin/controllers/admin.scope.controller.d.ts +2 -0
  7. package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -1
  8. package/dist/admin/controllers/admin.scope.controller.js +45 -5
  9. package/dist/admin/controllers/admin.scope.controller.js.map +1 -1
  10. package/dist/admin/controllers/admin.tenant.user.controller.d.ts +8 -1
  11. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  12. package/dist/admin/controllers/admin.tenant.user.controller.js +75 -7
  13. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  14. package/dist/admin/dtos/add.client.membership.dto.d.ts +6 -0
  15. package/dist/admin/dtos/add.client.membership.dto.d.ts.map +1 -0
  16. package/dist/admin/dtos/add.client.membership.dto.js +41 -0
  17. package/dist/admin/dtos/add.client.membership.dto.js.map +1 -0
  18. package/dist/admin/dtos/add.scope.dto.d.ts +1 -0
  19. package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -1
  20. package/dist/admin/dtos/add.scope.dto.js +9 -0
  21. package/dist/admin/dtos/add.scope.dto.js.map +1 -1
  22. package/dist/admin/dtos/scope.list.dto.d.ts +1 -0
  23. package/dist/admin/dtos/scope.list.dto.d.ts.map +1 -1
  24. package/dist/admin/dtos/scope.list.dto.js +22 -0
  25. package/dist/admin/dtos/scope.list.dto.js.map +1 -1
  26. package/dist/admin/es6.classes.d.ts +5 -2
  27. package/dist/admin/es6.classes.d.ts.map +1 -1
  28. package/dist/admin/es6.classes.js +4 -0
  29. package/dist/admin/es6.classes.js.map +1 -1
  30. package/dist/admin/libraries/api.key.data.processor.d.ts +3 -1
  31. package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -1
  32. package/dist/admin/libraries/api.key.data.processor.js +3 -6
  33. package/dist/admin/libraries/api.key.data.processor.js.map +1 -1
  34. package/dist/admin/libraries/bulk.user.data.processor.d.ts.map +1 -1
  35. package/dist/admin/libraries/bulk.user.data.processor.js +13 -5
  36. package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
  37. package/dist/admin/libraries/client.membership.data.processor.d.ts +14 -0
  38. package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -0
  39. package/dist/admin/libraries/client.membership.data.processor.js +56 -0
  40. package/dist/admin/libraries/client.membership.data.processor.js.map +1 -0
  41. package/dist/admin/libraries/client.user.data.processor.d.ts +1 -2
  42. package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
  43. package/dist/admin/libraries/client.user.data.processor.js +24 -31
  44. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  45. package/dist/admin/libraries/client.user.delete.processor.d.ts.map +1 -1
  46. package/dist/admin/libraries/client.user.delete.processor.js +4 -0
  47. package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
  48. package/dist/admin/libraries/client.user.list.processor.d.ts.map +1 -1
  49. package/dist/admin/libraries/client.user.list.processor.js +14 -2
  50. package/dist/admin/libraries/client.user.list.processor.js.map +1 -1
  51. package/dist/admin/libraries/scope.data.processor.d.ts +1 -0
  52. package/dist/admin/libraries/scope.data.processor.d.ts.map +1 -1
  53. package/dist/admin/libraries/scope.data.processor.js +20 -0
  54. package/dist/admin/libraries/scope.data.processor.js.map +1 -1
  55. package/dist/admin/libraries/scope.list.processor.d.ts +2 -0
  56. package/dist/admin/libraries/scope.list.processor.d.ts.map +1 -1
  57. package/dist/admin/libraries/scope.list.processor.js +23 -1
  58. package/dist/admin/libraries/scope.list.processor.js.map +1 -1
  59. package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
  60. package/dist/admin/libraries/tenant.delete.processor.js +22 -9
  61. package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
  62. package/dist/admin/libraries/user.data.processor.d.ts.map +1 -1
  63. package/dist/admin/libraries/user.data.processor.js +4 -1
  64. package/dist/admin/libraries/user.data.processor.js.map +1 -1
  65. package/dist/auth/auth.module.d.ts.map +1 -1
  66. package/dist/auth/auth.module.js +28 -5
  67. package/dist/auth/auth.module.js.map +1 -1
  68. package/dist/auth/controllers/auth.controller.d.ts +8 -7
  69. package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
  70. package/dist/auth/controllers/auth.controller.js +36 -12
  71. package/dist/auth/controllers/auth.controller.js.map +1 -1
  72. package/dist/auth/controllers/impersonation.controller.d.ts +2 -2
  73. package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -1
  74. package/dist/auth/controllers/tenant.invitation.controller.d.ts +18 -0
  75. package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -0
  76. package/dist/auth/controllers/tenant.invitation.controller.js +120 -0
  77. package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -0
  78. package/dist/auth/controllers/tenant.member.controller.d.ts +18 -0
  79. package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -0
  80. package/dist/auth/controllers/tenant.member.controller.js +129 -0
  81. package/dist/auth/controllers/tenant.member.controller.js.map +1 -0
  82. package/dist/auth/controllers/user.invitation.controller.d.ts +12 -0
  83. package/dist/auth/controllers/user.invitation.controller.d.ts.map +1 -0
  84. package/dist/auth/controllers/user.invitation.controller.js +76 -0
  85. package/dist/auth/controllers/user.invitation.controller.js.map +1 -0
  86. package/dist/auth/controllers/user.organization.controller.d.ts +17 -0
  87. package/dist/auth/controllers/user.organization.controller.d.ts.map +1 -0
  88. package/dist/auth/controllers/user.organization.controller.js +88 -0
  89. package/dist/auth/controllers/user.organization.controller.js.map +1 -0
  90. package/dist/auth/dtos/invite.tenant.user.dto.d.ts +6 -0
  91. package/dist/auth/dtos/invite.tenant.user.dto.d.ts.map +1 -0
  92. package/dist/auth/dtos/invite.tenant.user.dto.js +45 -0
  93. package/dist/auth/dtos/invite.tenant.user.dto.js.map +1 -0
  94. package/dist/auth/dtos/member.roles.dto.d.ts +4 -0
  95. package/dist/auth/dtos/member.roles.dto.d.ts.map +1 -0
  96. package/dist/auth/dtos/member.roles.dto.js +28 -0
  97. package/dist/auth/dtos/member.roles.dto.js.map +1 -0
  98. package/dist/auth/dtos/switch.organization.dto.d.ts +5 -0
  99. package/dist/auth/dtos/switch.organization.dto.d.ts.map +1 -0
  100. package/dist/auth/dtos/switch.organization.dto.js +25 -0
  101. package/dist/auth/dtos/switch.organization.dto.js.map +1 -0
  102. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts +5 -0
  103. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts.map +1 -0
  104. package/dist/auth/dtos/tenant.invitation.list.dto.js +27 -0
  105. package/dist/auth/dtos/tenant.invitation.list.dto.js.map +1 -0
  106. package/dist/auth/dtos/tenant.member.list.dto.d.ts +5 -0
  107. package/dist/auth/dtos/tenant.member.list.dto.d.ts.map +1 -0
  108. package/dist/auth/dtos/tenant.member.list.dto.js +27 -0
  109. package/dist/auth/dtos/tenant.member.list.dto.js.map +1 -0
  110. package/dist/auth/entities/scope.entity.d.ts +2 -0
  111. package/dist/auth/entities/scope.entity.d.ts.map +1 -1
  112. package/dist/auth/entities/scope.entity.js +9 -0
  113. package/dist/auth/entities/scope.entity.js.map +1 -1
  114. package/dist/auth/entities/tenant.invitation.entity.d.ts +13 -0
  115. package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -0
  116. package/dist/auth/entities/tenant.invitation.entity.js +52 -0
  117. package/dist/auth/entities/tenant.invitation.entity.js.map +1 -0
  118. package/dist/auth/entities/tenant.user.entity.d.ts +8 -0
  119. package/dist/auth/entities/tenant.user.entity.d.ts.map +1 -0
  120. package/dist/auth/entities/tenant.user.entity.js +35 -0
  121. package/dist/auth/entities/tenant.user.entity.js.map +1 -0
  122. package/dist/auth/entities/user.entity.d.ts +5 -0
  123. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  124. package/dist/auth/entities/user.entity.js +17 -0
  125. package/dist/auth/entities/user.entity.js.map +1 -1
  126. package/dist/auth/entities/user.role.entity.d.ts +2 -2
  127. package/dist/auth/entities/user.role.entity.d.ts.map +1 -1
  128. package/dist/auth/entities/user.role.entity.js +2 -2
  129. package/dist/auth/entities/user.role.entity.js.map +1 -1
  130. package/dist/auth/enums/auth.default.enum.d.ts +3 -1
  131. package/dist/auth/enums/auth.default.enum.d.ts.map +1 -1
  132. package/dist/auth/enums/auth.default.enum.js +2 -0
  133. package/dist/auth/enums/auth.default.enum.js.map +1 -1
  134. package/dist/auth/enums/tenant.invitation.default.enum.d.ts +4 -0
  135. package/dist/auth/enums/tenant.invitation.default.enum.d.ts.map +1 -0
  136. package/dist/auth/enums/tenant.invitation.default.enum.js +8 -0
  137. package/dist/auth/enums/tenant.invitation.default.enum.js.map +1 -0
  138. package/dist/auth/enums/tenant.invitation.status.enum.d.ts +7 -0
  139. package/dist/auth/enums/tenant.invitation.status.enum.d.ts.map +1 -0
  140. package/dist/auth/enums/tenant.invitation.status.enum.js +11 -0
  141. package/dist/auth/enums/tenant.invitation.status.enum.js.map +1 -0
  142. package/dist/auth/enums/user.type.enum.d.ts.map +1 -1
  143. package/dist/auth/enums/user.type.enum.js.map +1 -1
  144. package/dist/auth/es6.classes.d.ts +15 -4
  145. package/dist/auth/es6.classes.d.ts.map +1 -1
  146. package/dist/auth/es6.classes.js +35 -2
  147. package/dist/auth/es6.classes.js.map +1 -1
  148. package/dist/auth/helpers/auth.d.ts +1 -1
  149. package/dist/auth/helpers/auth.d.ts.map +1 -1
  150. package/dist/auth/helpers/auth.js +7 -4
  151. package/dist/auth/helpers/auth.js.map +1 -1
  152. package/dist/auth/processors/change.password.data.processor.d.ts.map +1 -1
  153. package/dist/auth/processors/change.password.data.processor.js +1 -0
  154. package/dist/auth/processors/change.password.data.processor.js.map +1 -1
  155. package/dist/auth/processors/google.user.data.processor.js +1 -1
  156. package/dist/auth/processors/google.user.data.processor.js.map +1 -1
  157. package/dist/auth/processors/register.user.data.processor.js +1 -1
  158. package/dist/auth/processors/register.user.data.processor.js.map +1 -1
  159. package/dist/auth/processors/tenant.invitation.data.processor.d.ts +20 -0
  160. package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -0
  161. package/dist/auth/processors/tenant.invitation.data.processor.js +112 -0
  162. package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -0
  163. package/dist/auth/processors/tenant.invitation.list.processor.d.ts +13 -0
  164. package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -0
  165. package/dist/auth/processors/tenant.invitation.list.processor.js +67 -0
  166. package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -0
  167. package/dist/auth/processors/tenant.member.list.processor.d.ts +13 -0
  168. package/dist/auth/processors/tenant.member.list.processor.d.ts.map +1 -0
  169. package/dist/auth/processors/tenant.member.list.processor.js +66 -0
  170. package/dist/auth/processors/tenant.member.list.processor.js.map +1 -0
  171. package/dist/auth/services/admin.auth.service.d.ts.map +1 -1
  172. package/dist/auth/services/admin.auth.service.js +2 -2
  173. package/dist/auth/services/admin.auth.service.js.map +1 -1
  174. package/dist/auth/services/api.key.service.d.ts +3 -1
  175. package/dist/auth/services/api.key.service.d.ts.map +1 -1
  176. package/dist/auth/services/api.key.service.js +6 -3
  177. package/dist/auth/services/api.key.service.js.map +1 -1
  178. package/dist/auth/services/auth.service.d.ts +5 -0
  179. package/dist/auth/services/auth.service.d.ts.map +1 -1
  180. package/dist/auth/services/auth.service.js +51 -13
  181. package/dist/auth/services/auth.service.js.map +1 -1
  182. package/dist/auth/services/impersonation.service.d.ts +2 -2
  183. package/dist/auth/services/impersonation.service.d.ts.map +1 -1
  184. package/dist/auth/services/impersonation.service.js +1 -1
  185. package/dist/auth/services/impersonation.service.js.map +1 -1
  186. package/dist/auth/services/scope.service.d.ts +6 -0
  187. package/dist/auth/services/scope.service.d.ts.map +1 -1
  188. package/dist/auth/services/scope.service.js +40 -9
  189. package/dist/auth/services/scope.service.js.map +1 -1
  190. package/dist/auth/services/tenant.invitation.service.d.ts +26 -0
  191. package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -0
  192. package/dist/auth/services/tenant.invitation.service.js +212 -0
  193. package/dist/auth/services/tenant.invitation.service.js.map +1 -0
  194. package/dist/auth/services/tenant.membership.service.d.ts +29 -0
  195. package/dist/auth/services/tenant.membership.service.d.ts.map +1 -0
  196. package/dist/auth/services/tenant.membership.service.js +178 -0
  197. package/dist/auth/services/tenant.membership.service.js.map +1 -0
  198. package/dist/auth/types/auth.types.d.ts +24 -2
  199. package/dist/auth/types/auth.types.d.ts.map +1 -1
  200. package/dist/auth/utilities/access.revocation.d.ts +2 -0
  201. package/dist/auth/utilities/access.revocation.d.ts.map +1 -1
  202. package/dist/auth/utilities/access.revocation.js +12 -0
  203. package/dist/auth/utilities/access.revocation.js.map +1 -1
  204. package/dist/auth/utilities/auth.utilities.d.ts +1 -0
  205. package/dist/auth/utilities/auth.utilities.d.ts.map +1 -1
  206. package/dist/auth/utilities/auth.utilities.js +4 -0
  207. package/dist/auth/utilities/auth.utilities.js.map +1 -1
  208. package/dist/auth/utilities/tenant.access.d.ts +8 -0
  209. package/dist/auth/utilities/tenant.access.d.ts.map +1 -0
  210. package/dist/auth/utilities/tenant.access.js +61 -0
  211. package/dist/auth/utilities/tenant.access.js.map +1 -0
  212. package/dist/common/es6.classes.d.ts +2 -2
  213. package/dist/constants/entity.constants.d.ts +2 -0
  214. package/dist/constants/entity.constants.d.ts.map +1 -1
  215. package/dist/constants/entity.constants.js +2 -0
  216. package/dist/constants/entity.constants.js.map +1 -1
  217. package/dist/constants/entity.maps.d.ts +4 -0
  218. package/dist/constants/entity.maps.d.ts.map +1 -1
  219. package/dist/constants/entity.maps.js +4 -0
  220. package/dist/constants/entity.maps.js.map +1 -1
  221. package/dist/constants/job.constants.d.ts +1 -0
  222. package/dist/constants/job.constants.d.ts.map +1 -1
  223. package/dist/constants/job.constants.js +1 -0
  224. package/dist/constants/job.constants.js.map +1 -1
  225. package/dist/index.d.ts +6 -1
  226. package/dist/index.d.ts.map +1 -1
  227. package/dist/index.js +14 -3
  228. package/dist/index.js.map +1 -1
  229. package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
  230. package/dist/migrations/1749600000003.CreateSysUsersTable.js +4 -0
  231. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  232. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.d.ts.map +1 -1
  233. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js +8 -1
  234. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js.map +1 -1
  235. package/dist/migrations/1749600000025.CreateSysScopesTable.d.ts.map +1 -1
  236. package/dist/migrations/1749600000025.CreateSysScopesTable.js +7 -0
  237. package/dist/migrations/1749600000025.CreateSysScopesTable.js.map +1 -1
  238. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts +6 -0
  239. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts.map +1 -0
  240. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js +33 -0
  241. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js.map +1 -0
  242. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts +6 -0
  243. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -0
  244. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +43 -0
  245. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -0
  246. package/dist/notification/enums/email.notification.default.enum.d.ts +1 -0
  247. package/dist/notification/enums/email.notification.default.enum.d.ts.map +1 -1
  248. package/dist/notification/enums/email.notification.default.enum.js +1 -0
  249. package/dist/notification/enums/email.notification.default.enum.js.map +1 -1
  250. package/dist/notification/enums/email.template.identifier.enum.d.ts +2 -1
  251. package/dist/notification/enums/email.template.identifier.enum.d.ts.map +1 -1
  252. package/dist/notification/enums/email.template.identifier.enum.js +1 -0
  253. package/dist/notification/enums/email.template.identifier.enum.js.map +1 -1
  254. package/dist/notification/es6.classes.d.ts +2 -1
  255. package/dist/notification/es6.classes.d.ts.map +1 -1
  256. package/dist/notification/es6.classes.js +6 -1
  257. package/dist/notification/es6.classes.js.map +1 -1
  258. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts +14 -0
  259. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts.map +1 -0
  260. package/dist/notification/jobs/tenant.user.invited.mail.job.js +57 -0
  261. package/dist/notification/jobs/tenant.user.invited.mail.job.js.map +1 -0
  262. package/dist/notification/notification.module.d.ts.map +1 -1
  263. package/dist/notification/notification.module.js +3 -1
  264. package/dist/notification/notification.module.js.map +1 -1
  265. package/dist/notification/types/email.notification.types.d.ts +9 -0
  266. package/dist/notification/types/email.notification.types.d.ts.map +1 -1
  267. package/package.json +1 -1
@@ -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"}
@@ -8,6 +8,7 @@ export declare class ScopeDataProcessor extends CommonDataProcessor {
8
8
  constructor(actor: AdminUserEntity);
9
9
  process(payload: AddScopeDto): Promise<ScopeEntity>;
10
10
  private validate;
11
+ private validateParent;
11
12
  private set;
12
13
  }
13
14
  //# sourceMappingURL=scope.data.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOpD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAG7C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;gBAEF,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAM3C,QAAQ;YAoBR,GAAG;CAmBlB"}
1
+ {"version":3,"file":"scope.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUpD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAG7C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;gBAEF,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAM3C,QAAQ;YAsBR,cAAc;YA6Bd,GAAG;CAsBlB"}
@@ -22,8 +22,27 @@ class ScopeDataProcessor extends common_data_processor_1.CommonDataProcessor {
22
22
  });
23
23
  if (owner && owner.id !== body.id)
24
24
  this.setColumnError('identifier', 'A scope with this identifier already exists');
25
+ await this.validateParent();
25
26
  this.raiseExceptionOnValidationFailure();
26
27
  }
28
+ async validateParent() {
29
+ const body = this.payload;
30
+ if (!body.parent_id)
31
+ return;
32
+ if (body.parent_id === body.id) {
33
+ this.setColumnError('parent_id', 'A scope cannot be its own parent');
34
+ return;
35
+ }
36
+ const parent = await scope_entity_1.ScopeEntity.findOne({ where: { id: body.parent_id } });
37
+ if (!parent) {
38
+ this.setColumnError('parent_id', 'No scope exists for this parent id');
39
+ return;
40
+ }
41
+ if (parent.parent_id)
42
+ this.setColumnError('parent_id', 'That scope is itself a child — a child scope cannot hold children');
43
+ if (body.id && (await scope_entity_1.ScopeEntity.existsBy({ parent_id: body.id })))
44
+ this.setColumnError('parent_id', 'This scope has children of its own and cannot become a child');
45
+ }
27
46
  async set() {
28
47
  const body = this.payload;
29
48
  let scope = scope_entity_1.ScopeEntity.create({ created_by: this.actor.id });
@@ -37,6 +56,7 @@ class ScopeDataProcessor extends common_data_processor_1.CommonDataProcessor {
37
56
  scope.identifier = body.identifier;
38
57
  scope.name = body.name;
39
58
  scope.description = body.description;
59
+ scope.parent_id = body.parent_id ?? null;
40
60
  await scope.save();
41
61
  return scope;
42
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AAEnF,mEAA+D;AAQ/D,MAAa,kBAAmB,SAAQ,2CAAmB;IAGzD,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,0BAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;QAI3D,MAAM,KAAK,GAAG,MAAM,0BAAW,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SACvC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,cAAc,CACjB,YAAY,EACZ,6CAA6C,CAC9C,CAAC;QAEJ,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,KAAK,GAAG,0BAAW,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,0BAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrE,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,GAAG,MAAM,CAAC;gBACf,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AApDD,gDAoDC"}
1
+ {"version":3,"file":"scope.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,10 @@ import { ListFilterService } from '../../common/services/list.filter.service';
4
4
  import { ScopeListDto } from '../dtos/scope.list.dto';
5
5
  export declare class ScopeListProcessor extends CommonListProcessor {
6
6
  protected readonly listFilterService: ListFilterService;
7
+ protected payload: ScopeListDto;
7
8
  protected config: CommonListFilterConfig;
8
9
  constructor(listFilterService: ListFilterService);
9
10
  process(payload: ScopeListDto): Promise<import("../../common/types/list.types").CommonListResult>;
11
+ protected applyCustomPredicates(): void;
10
12
  }
11
13
  //# sourceMappingURL=scope.list.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.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;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAkB7C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAjBnE,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAetC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAI7D,OAAO,CAAC,OAAO,EAAE,YAAY;CAIpC"}
1
+ {"version":3,"file":"scope.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.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;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAWtD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAsC7C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IArCnE,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAEhC,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAiCtC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAI7D,OAAO,CAAC,OAAO,EAAE,YAAY;IAKnC,SAAS,CAAC,qBAAqB;CAIhC"}
@@ -9,12 +9,30 @@ class ScopeListProcessor extends common_list_processor_1.CommonListProcessor {
9
9
  super();
10
10
  this.listFilterService = listFilterService;
11
11
  this.config = {
12
- query: 'sys_scopes s',
12
+ query: `sys_scopes s
13
+ left join sys_scopes p on p.id = s.parent_id and p.deleted_at is null
14
+ left join lateral (
15
+ select count(*) total
16
+ from sys_scopes c
17
+ where c.parent_id = s.id and c.deleted_at is null
18
+ ) ch on true`,
13
19
  columns: [
14
20
  { key: 's.id', identifier: 'id', type: filter_value_type_enum_1.FilterValueTypeEnum.UUID },
15
21
  { key: 's.identifier', identifier: 'identifier', searchable: true },
16
22
  { key: 's.name', identifier: 'name', searchable: true },
17
23
  { key: 's.description', identifier: 'description', searchable: true },
24
+ {
25
+ key: 's.parent_id',
26
+ identifier: 'parent_id',
27
+ type: filter_value_type_enum_1.FilterValueTypeEnum.UUID,
28
+ },
29
+ { key: 'p.identifier', identifier: 'parent_identifier' },
30
+ { key: 'p.name', identifier: 'parent_name' },
31
+ {
32
+ key: 'ch.total',
33
+ identifier: 'child_count',
34
+ type: filter_value_type_enum_1.FilterValueTypeEnum.NUMBER,
35
+ },
18
36
  {
19
37
  key: 's.created_at',
20
38
  identifier: 'created_at',
@@ -29,6 +47,10 @@ class ScopeListProcessor extends common_list_processor_1.CommonListProcessor {
29
47
  this.payload = payload;
30
48
  return this.handle();
31
49
  }
50
+ applyCustomPredicates() {
51
+ if (this.payload.parent_id)
52
+ this.predicates.add('s.parent_id = :value', this.payload.parent_id);
53
+ }
32
54
  }
33
55
  exports.ScopeListProcessor = ScopeListProcessor;
34
56
  //# sourceMappingURL=scope.list.processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AASnF,MAAa,kBAAmB,SAAQ,2CAAmB;IAkBzD,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAjBzD,WAAM,GAA2B;YACzC,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;gBACnE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvD,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBACrE;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,MAAM,EAAE,SAAS,EAAE,mCAAa,CAAC,GAAG,EAAE;SAC7D,CAAC;IAIF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AA1BD,gDA0BC"}
1
+ {"version":3,"file":"scope.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAcnF,MAAa,kBAAmB,SAAQ,2CAAmB;IAsCzD,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAnCzD,WAAM,GAA2B;YACzC,KAAK,EAAE;;;;;;mBAMQ;YACf,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;gBACnE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvD,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBACrE;oBACE,GAAG,EAAE,aAAa;oBAClB,UAAU,EAAE,WAAW;oBACvB,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE;gBACxD,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE;gBAC5C;oBACE,GAAG,EAAE,UAAU;oBACf,UAAU,EAAE,aAAa;oBACzB,IAAI,EAAE,4CAAmB,CAAC,MAAM;iBACjC;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,MAAM,EAAE,SAAS,EAAE,mCAAa,CAAC,GAAG,EAAE;SAC7D,CAAC;IAIF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAES,qBAAqB;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;YACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;CACF;AAnDD,gDAmDC"}
@@ -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;AAqH5D,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: () => ({
@@ -60,8 +63,12 @@ function createAuthProviders(options = {}) {
60
63
  },
61
64
  {
62
65
  provide: ApiKeyService,
63
- useFactory: (dataSource, encryptionService) => new ApiKeyService(dataSource, encryptionService),
64
- inject: [(0, typeorm_1.getDataSourceToken)(options.dataSourceName), encryption_service_1.EncryptionService],
66
+ useFactory: (dataSource, encryptionService, scopeService) => new ApiKeyService(dataSource, encryptionService, scopeService),
67
+ inject: [
68
+ (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
69
+ encryption_service_1.EncryptionService,
70
+ ScopeService,
71
+ ],
65
72
  },
66
73
  {
67
74
  provide: ScopeService,
@@ -82,6 +89,20 @@ function createAuthProviders(options = {}) {
82
89
  (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
83
90
  ],
84
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
+ },
85
106
  GoogleAuthService,
86
107
  jwt_strategy_1.JwtStrategy,
87
108
  jwt_refresh_strategy_1.JwtRefreshStrategy,
@@ -97,6 +118,8 @@ const authExports = [
97
118
  AuthService,
98
119
  AdminAuthService,
99
120
  ImpersonationService,
121
+ TenantMembershipService,
122
+ TenantInvitationService,
100
123
  ApiKeyService,
101
124
  ScopeService,
102
125
  RoleService,
@@ -114,7 +137,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
114
137
  static register(options = {}) {
115
138
  return {
116
139
  module: AuthModule_1,
117
- imports: createAuthImports(),
140
+ imports: createAuthImports(options),
118
141
  controllers: [...es6_classes_1.es6Classes.controllers],
119
142
  providers: createAuthProviders(options),
120
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"}
@@ -17,6 +17,8 @@ const common_1 = require("@nestjs/common");
17
17
  const swagger_1 = require("@nestjs/swagger");
18
18
  const auth_service_1 = require("../services/auth.service");
19
19
  const google_auth_service_1 = require("../services/google.auth.service");
20
+ const tenant_membership_service_1 = require("../services/tenant.membership.service");
21
+ const tenant_invitation_service_1 = require("../services/tenant.invitation.service");
20
22
  const login_dto_1 = require("../dtos/login.dto");
21
23
  const google_login_dto_1 = require("../dtos/google.login.dto");
22
24
  const register_dto_1 = require("../dtos/register.dto");
@@ -25,29 +27,38 @@ const change_password_dto_1 = require("../dtos/change.password.dto");
25
27
  const register_user_data_processor_1 = require("../processors/register.user.data.processor");
26
28
  const google_user_data_processor_1 = require("../processors/google.user.data.processor");
27
29
  const change_password_data_processor_1 = require("../processors/change.password.data.processor");
28
- const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
29
30
  let AuthController = class AuthController {
30
- constructor(authService, googleAuthService) {
31
+ constructor(authService, googleAuthService, tenantMembershipService, tenantInvitationService) {
31
32
  this.authService = authService;
32
33
  this.googleAuthService = googleAuthService;
34
+ this.tenantMembershipService = tenantMembershipService;
35
+ this.tenantInvitationService = tenantInvitationService;
33
36
  }
34
37
  async me() {
35
- const { user, roles } = await this.authService.validateRole();
36
- const organization = await tenant_entity_1.TenantEntity.findOne({
37
- where: { id: user.organization_id },
38
- });
39
- return { user, roles, organization: organization.name };
38
+ const { user, roles } = await this.authService.validateIdentity();
39
+ const [current, organizations, invitations] = await Promise.all([
40
+ this.tenantMembershipService.sessionOrganization(user),
41
+ this.tenantMembershipService.organizationsOf(user.id),
42
+ this.tenantInvitationService.pendingFor(user),
43
+ ]);
44
+ return {
45
+ user,
46
+ roles,
47
+ organization: current?.name ?? null,
48
+ organizations,
49
+ invitations,
50
+ };
40
51
  }
41
52
  async login(dto, request) {
42
53
  const user = await this.authService.validateCredentials(dto.email, dto.password);
43
54
  this.authService.assertTenantLogin(user);
44
- return this.authService.issueTokens(user, this.contextOf(request));
55
+ return this.signIn(user, request);
45
56
  }
46
57
  async googleLogin(dto, request) {
47
58
  const tokenInfo = await this.googleAuthService.verifyIdToken(dto.id_token);
48
59
  const user = await new google_user_data_processor_1.GoogleUserDataProcessor().process(tokenInfo);
49
60
  this.authService.assertTenantLogin(user);
50
- return this.authService.issueTokens(user, this.contextOf(request));
61
+ return this.signIn(user, request);
51
62
  }
52
63
  async register(dto, request) {
53
64
  const user = await new register_user_data_processor_1.RegisterUserDataProcessor().process(dto);
@@ -61,10 +72,16 @@ let AuthController = class AuthController {
61
72
  return { success: true };
62
73
  }
63
74
  async changePassword(dto) {
64
- const { user } = await this.authService.validateRole();
75
+ const { user } = await this.authService.validateIdentity();
65
76
  await new change_password_data_processor_1.ChangePasswordDataProcessor(user.id).process(dto);
66
77
  return { success: true };
67
78
  }
79
+ async signIn(user, request) {
80
+ return this.authService.issueTokens(user, {
81
+ ...this.contextOf(request),
82
+ tenant_id: await this.tenantMembershipService.landingTenant(user),
83
+ });
84
+ }
68
85
  contextOf(request) {
69
86
  return {
70
87
  ip_address: request.ip,
@@ -78,6 +95,7 @@ __decorate([
78
95
  (0, swagger_1.ApiBearerAuth)(),
79
96
  (0, swagger_1.ApiOperation)({
80
97
  summary: 'Resolve the current authenticated user and roles.',
98
+ description: "`roles` and `organization` belong to the session's organization. `organizations` lists every one the user may switch to, and `invitations` the pending ones addressed to them. Reachable while `user.password_change_required` is set — every other endpoint refuses until the one-time password is changed.",
81
99
  }),
82
100
  __metadata("design:type", Function),
83
101
  __metadata("design:paramtypes", []),
@@ -87,6 +105,7 @@ __decorate([
87
105
  (0, common_1.Post)('login'),
88
106
  (0, swagger_1.ApiOperation)({
89
107
  summary: 'Authenticate and receive an access/refresh token pair.',
108
+ description: 'The session works in the organization last switched to, or the first the user belongs to; it has none when they belong to none.',
90
109
  }),
91
110
  __param(0, (0, common_1.Body)()),
92
111
  __param(1, (0, common_1.Req)()),
@@ -141,7 +160,10 @@ __decorate([
141
160
  (0, common_1.Post)('change-password'),
142
161
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
143
162
  (0, swagger_1.ApiBearerAuth)(),
144
- (0, swagger_1.ApiOperation)({ summary: `Change the authenticated user's password.` }),
163
+ (0, swagger_1.ApiOperation)({
164
+ summary: `Change the authenticated user's password.`,
165
+ description: 'Also how a one-time password is replaced: send it as `current_password`. Clears `password_change_required`.',
166
+ }),
145
167
  __param(0, (0, common_1.Body)()),
146
168
  __metadata("design:type", Function),
147
169
  __metadata("design:paramtypes", [change_password_dto_1.ChangePasswordDto]),
@@ -151,6 +173,8 @@ exports.AuthController = AuthController = __decorate([
151
173
  (0, swagger_1.ApiTags)('Auth'),
152
174
  (0, common_1.Controller)('api/auth'),
153
175
  __metadata("design:paramtypes", [auth_service_1.AuthService,
154
- google_auth_service_1.GoogleAuthService])
176
+ google_auth_service_1.GoogleAuthService,
177
+ tenant_membership_service_1.TenantMembershipService,
178
+ tenant_invitation_service_1.TenantInvitationService])
155
179
  ], AuthController);
156
180
  //# sourceMappingURL=auth.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":"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"}