@contember/engine-tenant-api 1.3.0-alpha.8 → 1.3.0-beta.2

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 (374) hide show
  1. package/dist/src/TenantContainer.d.ts +17 -3
  2. package/dist/src/TenantContainer.d.ts.map +1 -1
  3. package/dist/src/TenantContainer.js +7 -0
  4. package/dist/src/TenantContainer.js.map +1 -1
  5. package/dist/src/bridges/system/IdentityFetcher.d.ts +1 -1
  6. package/dist/src/bridges/system/IdentityFetcher.d.ts.map +1 -1
  7. package/dist/src/migrations/2023-01-20-135500-person-email-normalize.d.ts +3 -0
  8. package/dist/src/migrations/2023-01-20-135500-person-email-normalize.d.ts.map +1 -0
  9. package/dist/src/migrations/2023-01-20-135500-person-email-normalize.js +28 -0
  10. package/dist/src/migrations/2023-01-20-135500-person-email-normalize.js.map +1 -0
  11. package/dist/src/migrations/2023-06-03-104000-person-disabled.d.ts +3 -0
  12. package/dist/src/migrations/2023-06-03-104000-person-disabled.d.ts.map +1 -0
  13. package/dist/src/migrations/2023-06-03-104000-person-disabled.js +11 -0
  14. package/dist/src/migrations/2023-06-03-104000-person-disabled.js.map +1 -0
  15. package/dist/src/migrations/runner.d.ts.map +1 -1
  16. package/dist/src/migrations/runner.js +4 -0
  17. package/dist/src/migrations/runner.js.map +1 -1
  18. package/dist/src/migrations/snapshot.d.ts.map +1 -1
  19. package/dist/src/migrations/snapshot.js +1 -0
  20. package/dist/src/migrations/snapshot.js.map +1 -1
  21. package/dist/src/model/authorization/AclSchemaAccessNodeFactory.d.ts.map +1 -1
  22. package/dist/src/model/authorization/AclSchemaAccessNodeFactory.js +14 -9
  23. package/dist/src/model/authorization/AclSchemaAccessNodeFactory.js.map +1 -1
  24. package/dist/src/model/authorization/MembershipMatcher.d.ts +1 -1
  25. package/dist/src/model/authorization/MembershipMatcher.d.ts.map +1 -1
  26. package/dist/src/model/authorization/PermissionActions.d.ts +21 -0
  27. package/dist/src/model/authorization/PermissionActions.d.ts.map +1 -1
  28. package/dist/src/model/authorization/PermissionActions.js +4 -2
  29. package/dist/src/model/authorization/PermissionActions.js.map +1 -1
  30. package/dist/src/model/authorization/PermissionContext.d.ts +1 -1
  31. package/dist/src/model/authorization/PermissionContext.d.ts.map +1 -1
  32. package/dist/src/model/authorization/PermissionsFactory.d.ts.map +1 -1
  33. package/dist/src/model/authorization/PermissionsFactory.js +6 -3
  34. package/dist/src/model/authorization/PermissionsFactory.js.map +1 -1
  35. package/dist/src/model/authorization/Roles.js +1 -1
  36. package/dist/src/model/authorization/Roles.js.map +1 -1
  37. package/dist/src/model/commands/apiKey/CreateApiKeyCommand.d.ts +1 -1
  38. package/dist/src/model/commands/apiKey/CreateApiKeyCommand.d.ts.map +1 -1
  39. package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.d.ts +9 -0
  40. package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.d.ts.map +1 -0
  41. package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.js +29 -0
  42. package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.js.map +1 -0
  43. package/dist/src/model/commands/identity/index.d.ts +1 -0
  44. package/dist/src/model/commands/identity/index.d.ts.map +1 -1
  45. package/dist/src/model/commands/identity/index.js +1 -0
  46. package/dist/src/model/commands/identity/index.js.map +1 -1
  47. package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts +1 -1
  48. package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts.map +1 -1
  49. package/dist/src/model/commands/membership/AddProjectMemberCommand.d.ts +2 -6
  50. package/dist/src/model/commands/membership/AddProjectMemberCommand.d.ts.map +1 -1
  51. package/dist/src/model/commands/membership/AddProjectMemberCommand.js +5 -11
  52. package/dist/src/model/commands/membership/AddProjectMemberCommand.js.map +1 -1
  53. package/dist/src/model/commands/membership/RemoveProjectMemberCommand.d.ts +1 -1
  54. package/dist/src/model/commands/membership/RemoveProjectMemberCommand.d.ts.map +1 -1
  55. package/dist/src/model/commands/membership/RemoveProjectMemberCommand.js +1 -2
  56. package/dist/src/model/commands/membership/RemoveProjectMemberCommand.js.map +1 -1
  57. package/dist/src/model/commands/membership/UpdateProjectMemberCommand.d.ts +1 -1
  58. package/dist/src/model/commands/membership/UpdateProjectMemberCommand.d.ts.map +1 -1
  59. package/dist/src/model/commands/membership/UpdateProjectMemberCommand.js +2 -3
  60. package/dist/src/model/commands/membership/UpdateProjectMemberCommand.js.map +1 -1
  61. package/dist/src/model/commands/membership/types.d.ts +3 -3
  62. package/dist/src/model/commands/membership/types.d.ts.map +1 -1
  63. package/dist/src/model/commands/passwordReset/ResetPasswordCommand.d.ts +2 -6
  64. package/dist/src/model/commands/passwordReset/ResetPasswordCommand.d.ts.map +1 -1
  65. package/dist/src/model/commands/passwordReset/ResetPasswordCommand.js +5 -11
  66. package/dist/src/model/commands/passwordReset/ResetPasswordCommand.js.map +1 -1
  67. package/dist/src/model/commands/person/CreatePersonCommand.d.ts.map +1 -1
  68. package/dist/src/model/commands/person/CreatePersonCommand.js +10 -5
  69. package/dist/src/model/commands/person/CreatePersonCommand.js.map +1 -1
  70. package/dist/src/model/commands/person/DisablePersonCommand.d.ts +7 -0
  71. package/dist/src/model/commands/person/DisablePersonCommand.d.ts.map +1 -0
  72. package/dist/src/model/commands/person/DisablePersonCommand.js +22 -0
  73. package/dist/src/model/commands/person/DisablePersonCommand.js.map +1 -0
  74. package/dist/src/model/dtos/Password.d.ts +1 -1
  75. package/dist/src/model/dtos/Password.d.ts.map +1 -1
  76. package/dist/src/model/mailing/type.js +1 -1
  77. package/dist/src/model/mailing/type.js.map +1 -1
  78. package/dist/src/model/queries/apiKey/ApiKeyQuery.d.ts +23 -0
  79. package/dist/src/model/queries/apiKey/ApiKeyQuery.d.ts.map +1 -0
  80. package/dist/src/model/queries/apiKey/ApiKeyQuery.js +45 -0
  81. package/dist/src/model/queries/apiKey/ApiKeyQuery.js.map +1 -0
  82. package/dist/src/model/queries/apiKey/index.d.ts +1 -1
  83. package/dist/src/model/queries/apiKey/index.d.ts.map +1 -1
  84. package/dist/src/model/queries/apiKey/index.js +1 -1
  85. package/dist/src/model/queries/apiKey/index.js.map +1 -1
  86. package/dist/src/model/queries/idp/types.d.ts +4 -4
  87. package/dist/src/model/queries/idp/types.d.ts.map +1 -1
  88. package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts +1 -1
  89. package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts.map +1 -1
  90. package/dist/src/model/queries/membership/ProjectMembersQuery.js +3 -4
  91. package/dist/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
  92. package/dist/src/model/queries/person/PersonQuery.d.ts +4 -3
  93. package/dist/src/model/queries/person/PersonQuery.d.ts.map +1 -1
  94. package/dist/src/model/queries/person/PersonQuery.js +22 -0
  95. package/dist/src/model/queries/person/PersonQuery.js.map +1 -1
  96. package/dist/src/model/queries/person/PersonQueryBuilderFactory.d.ts.map +1 -1
  97. package/dist/src/model/queries/person/PersonQueryBuilderFactory.js +1 -0
  98. package/dist/src/model/queries/person/PersonQueryBuilderFactory.js.map +1 -1
  99. package/dist/src/model/queries/person/types.d.ts +4 -3
  100. package/dist/src/model/queries/person/types.d.ts.map +1 -1
  101. package/dist/src/model/queries/project/ProjectSecretsQuery.d.ts +1 -1
  102. package/dist/src/model/queries/project/ProjectSecretsQuery.d.ts.map +1 -1
  103. package/dist/src/model/service/IDPSignInManager.d.ts.map +1 -1
  104. package/dist/src/model/service/IDPSignInManager.js +8 -6
  105. package/dist/src/model/service/IDPSignInManager.js.map +1 -1
  106. package/dist/src/model/service/InviteManager.d.ts +1 -1
  107. package/dist/src/model/service/InviteManager.d.ts.map +1 -1
  108. package/dist/src/model/service/InviteManager.js +2 -3
  109. package/dist/src/model/service/InviteManager.js.map +1 -1
  110. package/dist/src/model/service/OtpAuthenticator.d.ts +1 -1
  111. package/dist/src/model/service/OtpAuthenticator.d.ts.map +1 -1
  112. package/dist/src/model/service/PasswordChangeManager.js +4 -5
  113. package/dist/src/model/service/PasswordChangeManager.js.map +1 -1
  114. package/dist/src/model/service/PasswordResetManager.d.ts +2 -4
  115. package/dist/src/model/service/PasswordResetManager.d.ts.map +1 -1
  116. package/dist/src/model/service/PasswordResetManager.js +2 -6
  117. package/dist/src/model/service/PasswordResetManager.js.map +1 -1
  118. package/dist/src/model/service/PersonAccessManager.d.ts +14 -0
  119. package/dist/src/model/service/PersonAccessManager.d.ts.map +1 -0
  120. package/dist/src/model/service/PersonAccessManager.js +42 -0
  121. package/dist/src/model/service/PersonAccessManager.js.map +1 -0
  122. package/dist/src/model/service/PersonManager.d.ts +7 -0
  123. package/dist/src/model/service/PersonManager.d.ts.map +1 -0
  124. package/dist/src/model/service/PersonManager.js +11 -0
  125. package/dist/src/model/service/PersonManager.js.map +1 -0
  126. package/dist/src/model/service/ProjectManager.d.ts +1 -1
  127. package/dist/src/model/service/ProjectManager.d.ts.map +1 -1
  128. package/dist/src/model/service/ProjectManager.js +2 -3
  129. package/dist/src/model/service/ProjectManager.js.map +1 -1
  130. package/dist/src/model/service/ProjectMemberManager.d.ts +2 -2
  131. package/dist/src/model/service/ProjectMemberManager.d.ts.map +1 -1
  132. package/dist/src/model/service/ProjectMemberManager.js +3 -16
  133. package/dist/src/model/service/ProjectMemberManager.js.map +1 -1
  134. package/dist/src/model/service/RolesManager.d.ts +11 -0
  135. package/dist/src/model/service/RolesManager.d.ts.map +1 -0
  136. package/dist/src/model/service/RolesManager.js +35 -0
  137. package/dist/src/model/service/RolesManager.js.map +1 -0
  138. package/dist/src/model/service/SignInManager.d.ts +2 -2
  139. package/dist/src/model/service/SignInManager.d.ts.map +1 -1
  140. package/dist/src/model/service/SignInManager.js +13 -8
  141. package/dist/src/model/service/SignInManager.js.map +1 -1
  142. package/dist/src/model/service/SignUpManager.d.ts +2 -2
  143. package/dist/src/model/service/SignUpManager.d.ts.map +1 -1
  144. package/dist/src/model/service/SignUpManager.js +2 -3
  145. package/dist/src/model/service/SignUpManager.js.map +1 -1
  146. package/dist/src/model/service/apiKey/ApiKeyManager.d.ts +3 -1
  147. package/dist/src/model/service/apiKey/ApiKeyManager.d.ts.map +1 -1
  148. package/dist/src/model/service/apiKey/ApiKeyManager.js +4 -1
  149. package/dist/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
  150. package/dist/src/model/service/apiKey/ApiKeyService.d.ts +1 -1
  151. package/dist/src/model/service/apiKey/ApiKeyService.d.ts.map +1 -1
  152. package/dist/src/model/service/idp/IDPManager.d.ts +4 -4
  153. package/dist/src/model/service/idp/IDPManager.d.ts.map +1 -1
  154. package/dist/src/model/service/idp/IDPManager.js +7 -8
  155. package/dist/src/model/service/idp/IDPManager.js.map +1 -1
  156. package/dist/src/model/service/idp/providers/AppleProvider.d.ts +1 -1
  157. package/dist/src/model/service/idp/providers/AppleProvider.d.ts.map +1 -1
  158. package/dist/src/model/service/idp/providers/FacebookProvider.d.ts +1 -1
  159. package/dist/src/model/service/idp/providers/FacebookProvider.d.ts.map +1 -1
  160. package/dist/src/model/service/idp/providers/OIDCTypes.d.ts +3 -3
  161. package/dist/src/model/service/idp/providers/OIDCTypes.d.ts.map +1 -1
  162. package/dist/src/model/service/index.d.ts +2 -0
  163. package/dist/src/model/service/index.d.ts.map +1 -1
  164. package/dist/src/model/service/index.js +2 -0
  165. package/dist/src/model/service/index.js.map +1 -1
  166. package/dist/src/model/type/Variables.d.ts +1 -1
  167. package/dist/src/model/type/Variables.d.ts.map +1 -1
  168. package/dist/src/model/utils/Response.d.ts +2 -2
  169. package/dist/src/model/utils/Response.d.ts.map +1 -1
  170. package/dist/src/model/utils/email.d.ts +2 -0
  171. package/dist/src/model/utils/email.d.ts.map +1 -0
  172. package/dist/src/model/utils/email.js +8 -0
  173. package/dist/src/model/utils/email.js.map +1 -0
  174. package/dist/src/model/utils/tokenUtils.d.ts +1 -1
  175. package/dist/src/model/utils/tokenUtils.d.ts.map +1 -1
  176. package/dist/src/model/utils/typeUtils.d.ts +1 -1
  177. package/dist/src/model/utils/typeUtils.d.ts.map +1 -1
  178. package/dist/src/resolvers/ResolverFactory.d.ts +4 -1
  179. package/dist/src/resolvers/ResolverFactory.d.ts.map +1 -1
  180. package/dist/src/resolvers/ResolverFactory.js +3 -0
  181. package/dist/src/resolvers/ResolverFactory.js.map +1 -1
  182. package/dist/src/resolvers/errorUtils.d.ts +3 -3
  183. package/dist/src/resolvers/errorUtils.d.ts.map +1 -1
  184. package/dist/src/resolvers/errorUtils.js.map +1 -1
  185. package/dist/src/resolvers/membershipUtils.d.ts +4 -9
  186. package/dist/src/resolvers/membershipUtils.d.ts.map +1 -1
  187. package/dist/src/resolvers/membershipUtils.js +10 -18
  188. package/dist/src/resolvers/membershipUtils.js.map +1 -1
  189. package/dist/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +1 -2
  190. package/dist/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
  191. package/dist/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +1 -2
  192. package/dist/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
  193. package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.d.ts +11 -0
  194. package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.d.ts.map +1 -0
  195. package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +44 -0
  196. package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -0
  197. package/dist/src/resolvers/mutation/identity/index.d.ts +2 -0
  198. package/dist/src/resolvers/mutation/identity/index.d.ts.map +1 -0
  199. package/dist/src/resolvers/mutation/identity/index.js +18 -0
  200. package/dist/src/resolvers/mutation/identity/index.js.map +1 -0
  201. package/dist/src/resolvers/mutation/index.d.ts +1 -0
  202. package/dist/src/resolvers/mutation/index.d.ts.map +1 -1
  203. package/dist/src/resolvers/mutation/index.js +1 -0
  204. package/dist/src/resolvers/mutation/index.js.map +1 -1
  205. package/dist/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +6 -7
  206. package/dist/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
  207. package/dist/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +2 -3
  208. package/dist/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
  209. package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.d.ts +11 -0
  210. package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.d.ts.map +1 -0
  211. package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.js +36 -0
  212. package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -0
  213. package/dist/src/resolvers/mutation/person/InviteMutationResolver.d.ts.map +1 -1
  214. package/dist/src/resolvers/mutation/person/InviteMutationResolver.js +3 -4
  215. package/dist/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
  216. package/dist/src/resolvers/mutation/person/OtpMutationResolver.d.ts.map +1 -1
  217. package/dist/src/resolvers/mutation/person/OtpMutationResolver.js +3 -4
  218. package/dist/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
  219. package/dist/src/resolvers/mutation/person/ResetPasswordMutationResolver.d.ts.map +1 -1
  220. package/dist/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +2 -10
  221. package/dist/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  222. package/dist/src/resolvers/mutation/person/SignInMutationResolver.d.ts.map +1 -1
  223. package/dist/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
  224. package/dist/src/resolvers/mutation/person/SignOutMutationResolver.d.ts.map +1 -1
  225. package/dist/src/resolvers/mutation/person/SignOutMutationResolver.js +5 -2
  226. package/dist/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
  227. package/dist/src/resolvers/mutation/project/CreateProjectMutationResolver.d.ts.map +1 -1
  228. package/dist/src/resolvers/mutation/project/CreateProjectMutationResolver.js +1 -2
  229. package/dist/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
  230. package/dist/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +1 -2
  231. package/dist/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
  232. package/dist/src/resolvers/mutation/project/UpdateProjectMutationResolver.d.ts.map +1 -1
  233. package/dist/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +1 -2
  234. package/dist/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
  235. package/dist/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +1 -2
  236. package/dist/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
  237. package/dist/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +1 -2
  238. package/dist/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
  239. package/dist/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +1 -2
  240. package/dist/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
  241. package/dist/src/resolvers/types/ProjectTypeResolver.d.ts.map +1 -1
  242. package/dist/src/resolvers/types/ProjectTypeResolver.js +5 -6
  243. package/dist/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  244. package/dist/src/schema/index.d.ts +431 -397
  245. package/dist/src/schema/index.d.ts.map +1 -1
  246. package/dist/src/schema/index.js +0 -188
  247. package/dist/src/schema/index.js.map +1 -1
  248. package/dist/src/schema/tenant.graphql.d.ts.map +1 -1
  249. package/dist/src/schema/tenant.graphql.js +97 -21
  250. package/dist/src/schema/tenant.graphql.js.map +1 -1
  251. package/dist/src/tsconfig.tsbuildinfo +1 -1
  252. package/dist/src/utils/Mailer.d.ts +1 -1
  253. package/dist/src/utils/Mailer.d.ts.map +1 -1
  254. package/dist/src/utils/array.d.ts +1 -1
  255. package/dist/src/utils/array.d.ts.map +1 -1
  256. package/dist/src/utils/batchQuery.d.ts +2 -2
  257. package/dist/src/utils/batchQuery.d.ts.map +1 -1
  258. package/dist/tests/cases/integration/db/updateRoles.test.d.ts +2 -0
  259. package/dist/tests/cases/integration/db/updateRoles.test.d.ts.map +1 -0
  260. package/dist/tests/cases/integration/db/updateRoles.test.js +67 -0
  261. package/dist/tests/cases/integration/db/updateRoles.test.js.map +1 -0
  262. package/dist/tests/cases/integration/mocked/confirmOtpMutation.test.js +1 -2
  263. package/dist/tests/cases/integration/mocked/confirmOtpMutation.test.js.map +1 -1
  264. package/dist/tests/cases/integration/mocked/gql/signUp.d.ts.map +1 -1
  265. package/dist/tests/cases/integration/mocked/gql/signUp.js +4 -0
  266. package/dist/tests/cases/integration/mocked/gql/signUp.js.map +1 -1
  267. package/dist/tests/cases/integration/mocked/gql/types.d.ts +1 -1
  268. package/dist/tests/cases/integration/mocked/gql/types.d.ts.map +1 -1
  269. package/dist/tests/cases/integration/mocked/signInMutation.test.js +36 -4
  270. package/dist/tests/cases/integration/mocked/signInMutation.test.js.map +1 -1
  271. package/dist/tests/cases/integration/mocked/signOutMutation.test.js +53 -0
  272. package/dist/tests/cases/integration/mocked/signOutMutation.test.js.map +1 -1
  273. package/dist/tests/cases/integration/mocked/signUpMutation.test.js +9 -0
  274. package/dist/tests/cases/integration/mocked/signUpMutation.test.js.map +1 -1
  275. package/dist/tests/cases/integration/mocked/sql/getApiKeySql.d.ts +11 -0
  276. package/dist/tests/cases/integration/mocked/sql/getApiKeySql.d.ts.map +1 -0
  277. package/dist/tests/cases/integration/mocked/sql/getApiKeySql.js +31 -0
  278. package/dist/tests/cases/integration/mocked/sql/getApiKeySql.js.map +1 -0
  279. package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.d.ts.map +1 -1
  280. package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.js +2 -1
  281. package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.js.map +1 -1
  282. package/dist/tests/cases/integration/mocked/sql/getPersonByIdSql.js +1 -1
  283. package/dist/tests/cases/integration/mocked/sql/getPersonByIdentity.js +1 -1
  284. package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.d.ts.map +1 -1
  285. package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.js +2 -1
  286. package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.js.map +1 -1
  287. package/dist/tests/cases/unit/authorization/membershipAwareAccessNode.test.js +27 -0
  288. package/dist/tests/cases/unit/authorization/membershipAwareAccessNode.test.js.map +1 -1
  289. package/dist/tests/src/mailer.d.ts +2 -2
  290. package/dist/tests/src/mailer.d.ts.map +1 -1
  291. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  292. package/graphql-tenant.codegen.yml +2 -1
  293. package/package.json +14 -14
  294. package/src/TenantContainer.ts +19 -2
  295. package/src/migrations/2023-01-20-135500-person-email-normalize.ts +28 -0
  296. package/src/migrations/2023-06-03-104000-person-disabled.ts +10 -0
  297. package/src/migrations/runner.ts +4 -0
  298. package/src/migrations/snapshot.ts +1 -0
  299. package/src/model/authorization/AclSchemaAccessNodeFactory.ts +16 -6
  300. package/src/model/authorization/PermissionActions.ts +5 -0
  301. package/src/model/authorization/PermissionsFactory.ts +11 -3
  302. package/src/model/commands/identity/PatchIdentityGlobalRoles.ts +28 -0
  303. package/src/model/commands/identity/index.ts +1 -0
  304. package/src/model/commands/membership/AddProjectMemberCommand.ts +9 -10
  305. package/src/model/commands/membership/RemoveProjectMemberCommand.ts +1 -1
  306. package/src/model/commands/membership/UpdateProjectMemberCommand.ts +2 -2
  307. package/src/model/commands/passwordReset/ResetPasswordCommand.ts +9 -16
  308. package/src/model/commands/person/CreatePersonCommand.ts +9 -4
  309. package/src/model/commands/person/DisablePersonCommand.ts +18 -0
  310. package/src/model/queries/apiKey/ApiKeyQuery.ts +64 -0
  311. package/src/model/queries/apiKey/index.ts +1 -1
  312. package/src/model/queries/idp/types.ts +2 -2
  313. package/src/model/queries/membership/ProjectMembersQuery.ts +3 -3
  314. package/src/model/queries/person/PersonQuery.ts +30 -3
  315. package/src/model/queries/person/PersonQueryBuilderFactory.ts +1 -0
  316. package/src/model/queries/person/types.ts +3 -2
  317. package/src/model/service/IDPSignInManager.ts +11 -6
  318. package/src/model/service/InviteManager.ts +2 -2
  319. package/src/model/service/PasswordChangeManager.ts +4 -4
  320. package/src/model/service/PasswordResetManager.ts +3 -5
  321. package/src/model/service/PersonAccessManager.ts +56 -0
  322. package/src/model/service/PersonManager.ts +14 -0
  323. package/src/model/service/ProjectManager.ts +3 -3
  324. package/src/model/service/ProjectMemberManager.ts +3 -15
  325. package/src/model/service/RolesManager.ts +40 -0
  326. package/src/model/service/SignInManager.ts +25 -7
  327. package/src/model/service/SignUpManager.ts +2 -2
  328. package/src/model/service/apiKey/ApiKeyManager.ts +8 -1
  329. package/src/model/service/idp/IDPManager.ts +8 -8
  330. package/src/model/service/index.ts +2 -0
  331. package/src/model/utils/Response.ts +1 -1
  332. package/src/model/utils/email.ts +5 -0
  333. package/src/resolvers/ResolverFactory.ts +10 -1
  334. package/src/resolvers/errorUtils.ts +1 -1
  335. package/src/resolvers/membershipUtils.ts +21 -21
  336. package/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.ts +2 -2
  337. package/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.ts +1 -1
  338. package/src/resolvers/mutation/identity/GlobalRolesMutationResolver.ts +69 -0
  339. package/src/resolvers/mutation/identity/index.ts +1 -0
  340. package/src/resolvers/mutation/index.ts +1 -0
  341. package/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.ts +6 -6
  342. package/src/resolvers/mutation/person/ChangePasswordMutationResolver.ts +2 -2
  343. package/src/resolvers/mutation/person/DisablePersonMutationResolver.ts +48 -0
  344. package/src/resolvers/mutation/person/InviteMutationResolver.ts +5 -12
  345. package/src/resolvers/mutation/person/OtpMutationResolver.ts +4 -6
  346. package/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts +2 -10
  347. package/src/resolvers/mutation/person/SignInMutationResolver.ts +1 -0
  348. package/src/resolvers/mutation/person/SignOutMutationResolver.ts +13 -3
  349. package/src/resolvers/mutation/project/CreateProjectMutationResolver.ts +2 -7
  350. package/src/resolvers/mutation/project/SetProjectSecretMutationResolver.ts +1 -1
  351. package/src/resolvers/mutation/project/UpdateProjectMutationResolver.ts +2 -7
  352. package/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.ts +2 -2
  353. package/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.ts +1 -1
  354. package/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.ts +2 -2
  355. package/src/resolvers/types/ProjectTypeResolver.ts +2 -2
  356. package/src/schema/index.ts +321 -159
  357. package/src/schema/tenant.graphql.ts +97 -21
  358. package/tests/cases/integration/db/updateRoles.test.ts +74 -0
  359. package/tests/cases/integration/mocked/confirmOtpMutation.test.ts +1 -1
  360. package/tests/cases/integration/mocked/gql/signUp.ts +4 -0
  361. package/tests/cases/integration/mocked/signInMutation.test.ts +37 -3
  362. package/tests/cases/integration/mocked/signOutMutation.test.ts +58 -0
  363. package/tests/cases/integration/mocked/signUpMutation.test.ts +9 -0
  364. package/tests/cases/integration/mocked/sql/getApiKeySql.ts +33 -0
  365. package/tests/cases/integration/mocked/sql/getPersonByEmailSql.ts +2 -1
  366. package/tests/cases/integration/mocked/sql/getPersonByIdSql.ts +1 -1
  367. package/tests/cases/integration/mocked/sql/getPersonByIdentity.ts +1 -1
  368. package/tests/cases/integration/mocked/sql/getPersonByIdpSql.ts +2 -1
  369. package/tests/cases/unit/authorization/membershipAwareAccessNode.test.ts +36 -0
  370. package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.d.ts +0 -22
  371. package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.d.ts.map +0 -1
  372. package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.js +0 -33
  373. package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.js.map +0 -1
  374. package/src/model/queries/apiKey/ApiKeyByTokenQuery.ts +0 -49
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PatchIdentityGlobalRoles = void 0;
4
+ const database_1 = require("@contember/database");
5
+ class PatchIdentityGlobalRoles {
6
+ constructor(id, add, remove) {
7
+ this.id = id;
8
+ this.add = add;
9
+ this.remove = remove;
10
+ }
11
+ async execute({ db, providers }) {
12
+ const result = await database_1.UpdateBuilder.create()
13
+ .table('identity')
14
+ .where({
15
+ id: this.id,
16
+ })
17
+ .values({
18
+ roles: it => it.raw(`(
19
+ SELECT JSONB_AGG(DISTINCT out_role)
20
+ FROM JSONB_ARRAY_ELEMENTS_TEXT(roles || ?::jsonb) t(out_role)
21
+ WHERE NOT(out_role = ANY (?::text[]))
22
+ )`, JSON.stringify(this.add), this.remove),
23
+ })
24
+ .execute(db);
25
+ return result > 0;
26
+ }
27
+ }
28
+ exports.PatchIdentityGlobalRoles = PatchIdentityGlobalRoles;
29
+ //# sourceMappingURL=PatchIdentityGlobalRoles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatchIdentityGlobalRoles.js","sourceRoot":"","sources":["../../../../../src/model/commands/identity/PatchIdentityGlobalRoles.ts"],"names":[],"mappings":";;;AACA,kDAAmD;AAEnD,MAAa,wBAAwB;IACpC,YACkB,EAAU,EACV,GAAsB,EACtB,MAAyB;QAFzB,OAAE,GAAF,EAAE,CAAQ;QACV,QAAG,GAAH,GAAG,CAAmB;QACtB,WAAM,GAAN,MAAM,CAAmB;IAE3C,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAgB;QACnD,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACzC,KAAK,CAAC,UAAU,CAAC;aACjB,KAAK,CAAC;YACN,EAAE,EAAE,IAAI,CAAC,EAAE;SACX,CAAC;aACD,MAAM,CAAC;YACP,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;;;;OAIjB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;SAC3C,CAAC;aACD,OAAO,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,MAAM,GAAG,CAAC,CAAA;IAClB,CAAC;CACD;AAxBD,4DAwBC"}
@@ -1,2 +1,3 @@
1
1
  export * from './CreateIdentityCommand';
2
+ export * from './PatchIdentityGlobalRoles';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./CreateIdentityCommand"), exports);
18
+ __exportStar(require("./PatchIdentityGlobalRoles"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/commands/identity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/commands/identity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,6DAA0C"}
@@ -6,7 +6,7 @@ export declare class UpdateIdpCommand implements Command<void> {
6
6
  constructor(id: string, data: UpdateIdpData);
7
7
  execute({ db, providers }: Command.Args): Promise<void>;
8
8
  }
9
- export declare type UpdateIdpData = {
9
+ export type UpdateIdpData = {
10
10
  options?: Partial<IdentityProviderData['options']>;
11
11
  configuration?: IdentityProviderData['configuration'];
12
12
  type?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateIdpCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/idp/UpdateIdpCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,qBAAa,gBAAiB,YAAW,OAAO,CAAC,IAAI,CAAC;IAEpD,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;gBADJ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,aAAa;IAItB,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAc7D;AAED,oBAAY,aAAa,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;IAClD,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAA;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"UpdateIdpCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/idp/UpdateIdpCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,qBAAa,gBAAiB,YAAW,OAAO,CAAC,IAAI,CAAC;IAEpD,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;gBADJ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,aAAa;IAItB,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAc7D;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;IAClD,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAA;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Command } from '../Command';
2
2
  import { Response } from '../../utils/Response';
3
3
  import { MembershipInput } from './types';
4
- declare type CommandResponse = Response<undefined, AddProjectMemberCommandError>;
4
+ type CommandResponse = Response<null, AddProjectMemberCommandError>;
5
5
  export declare class AddProjectMemberCommand implements Command<CommandResponse> {
6
6
  private readonly projectId;
7
7
  private readonly identityId;
@@ -9,10 +9,6 @@ export declare class AddProjectMemberCommand implements Command<CommandResponse>
9
9
  constructor(projectId: string, identityId: string, memberships: readonly MembershipInput[]);
10
10
  execute({ db, providers, bus }: Command.Args): Promise<CommandResponse>;
11
11
  }
12
- export declare enum AddProjectMemberCommandError {
13
- alreadyMember = 0,
14
- projectNotFound = 1,
15
- identityNotfound = 2
16
- }
12
+ export type AddProjectMemberCommandError = 'ALREADY_MEMBER' | 'PROJECT_NOT_FOUND' | 'IDENTITY_NOT_FOUND';
17
13
  export {};
18
14
  //# sourceMappingURL=AddProjectMemberCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddProjectMemberCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/AddProjectMemberCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,aAAK,eAAe,GAAG,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAA;AAExE,qBAAa,uBAAwB,YAAW,OAAO,CAAC,eAAe,CAAC;IAEtE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,eAAe,EAAE;IAGnD,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;CAmC7E;AAED,oBAAY,4BAA4B;IACvC,aAAa,IAAA;IACb,eAAe,IAAA;IACf,gBAAgB,IAAA;CAChB"}
1
+ {"version":3,"file":"AddProjectMemberCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/AddProjectMemberCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,KAAK,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA;AAEnE,qBAAa,uBAAwB,YAAW,OAAO,CAAC,eAAe,CAAC;IAEtE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,eAAe,EAAE;IAGnD,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;CAmC7E;AAED,MAAM,MAAM,4BAA4B,GACrC,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddProjectMemberCommandError = exports.AddProjectMemberCommand = void 0;
3
+ exports.AddProjectMemberCommand = void 0;
4
4
  const CreateOrUpdateProjectMembershipCommand_1 = require("./CreateOrUpdateProjectMembershipCommand");
5
5
  const Response_1 = require("../../utils/Response");
6
6
  const database_1 = require("@contember/database");
@@ -20,13 +20,13 @@ class AddProjectMemberCommand {
20
20
  })
21
21
  .getResult(db);
22
22
  if (result.length > 0) {
23
- return new Response_1.ResponseError(AddProjectMemberCommandError.alreadyMember, `This identity is already a project member. Use updateProjectMember mutation to change memberships.`);
23
+ return new Response_1.ResponseError('ALREADY_MEMBER', `This identity is already a project member. Use updateProjectMember mutation to change memberships.`);
24
24
  }
25
25
  try {
26
26
  for (const membership of this.memberships) {
27
27
  await bus.execute(new CreateOrUpdateProjectMembershipCommand_1.CreateOrUpdateProjectMembershipCommand(this.projectId, this.identityId, membership));
28
28
  }
29
- return new Response_1.ResponseOk(undefined);
29
+ return new Response_1.ResponseOk(null);
30
30
  }
31
31
  catch (e) {
32
32
  if (!(e instanceof Error)) {
@@ -34,9 +34,9 @@ class AddProjectMemberCommand {
34
34
  }
35
35
  switch (e.constraint) {
36
36
  case 'project_membership_project':
37
- return new Response_1.ResponseError(AddProjectMemberCommandError.projectNotFound, 'Project not found');
37
+ return new Response_1.ResponseError('PROJECT_NOT_FOUND', 'Project not found');
38
38
  case 'project_membership_identity':
39
- return new Response_1.ResponseError(AddProjectMemberCommandError.identityNotfound, 'Identity not found');
39
+ return new Response_1.ResponseError('IDENTITY_NOT_FOUND', 'Identity not found');
40
40
  default:
41
41
  throw e;
42
42
  }
@@ -44,10 +44,4 @@ class AddProjectMemberCommand {
44
44
  }
45
45
  }
46
46
  exports.AddProjectMemberCommand = AddProjectMemberCommand;
47
- var AddProjectMemberCommandError;
48
- (function (AddProjectMemberCommandError) {
49
- AddProjectMemberCommandError[AddProjectMemberCommandError["alreadyMember"] = 0] = "alreadyMember";
50
- AddProjectMemberCommandError[AddProjectMemberCommandError["projectNotFound"] = 1] = "projectNotFound";
51
- AddProjectMemberCommandError[AddProjectMemberCommandError["identityNotfound"] = 2] = "identityNotfound";
52
- })(AddProjectMemberCommandError = exports.AddProjectMemberCommandError || (exports.AddProjectMemberCommandError = {}));
53
47
  //# sourceMappingURL=AddProjectMemberCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddProjectMemberCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/membership/AddProjectMemberCommand.ts"],"names":[],"mappings":";;;AACA,qGAAiG;AACjG,mDAA0E;AAC1E,kDAAmD;AAKnD,MAAa,uBAAuB;IACnC,YACkB,SAAiB,EACjB,UAAkB,EAClB,WAAuC;QAFvC,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAA4B;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAgB;QACjD,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACzC,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC;YACN,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;aACD,SAAS,CAAC,EAAE,CAAC,CAAA;QACf,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,OAAO,IAAI,wBAAa,CACvB,4BAA4B,CAAC,aAAa,EAC1C,oGAAoG,CACpG,CAAA;SACD;QAED,IAAI;YACH,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC1C,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,+EAAsC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;aAC1G;YACD,OAAO,IAAI,qBAAU,CAAC,SAAS,CAAC,CAAA;SAChC;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC1B,MAAM,CAAC,CAAA;aACP;YACD,QAAS,CAAS,CAAC,UAAU,EAAE;gBAC9B,KAAK,4BAA4B;oBAChC,OAAO,IAAI,wBAAa,CAAC,4BAA4B,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAA;gBAC5F,KAAK,6BAA6B;oBACjC,OAAO,IAAI,wBAAa,CAAC,4BAA4B,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;gBAC9F;oBACC,MAAM,CAAC,CAAA;aACR;SACD;IACF,CAAC;CACD;AA1CD,0DA0CC;AAED,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACvC,iGAAa,CAAA;IACb,qGAAe,CAAA;IACf,uGAAgB,CAAA;AACjB,CAAC,EAJW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAIvC"}
1
+ {"version":3,"file":"AddProjectMemberCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/membership/AddProjectMemberCommand.ts"],"names":[],"mappings":";;;AACA,qGAAiG;AACjG,mDAA0E;AAC1E,kDAAmD;AAKnD,MAAa,uBAAuB;IACnC,YACkB,SAAiB,EACjB,UAAkB,EAClB,WAAuC;QAFvC,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAA4B;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAgB;QACjD,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACzC,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC;YACN,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;aACD,SAAS,CAAC,EAAE,CAAC,CAAA;QACf,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,OAAO,IAAI,wBAAa,CACvB,gBAAgB,EAChB,oGAAoG,CACpG,CAAA;SACD;QAED,IAAI;YACH,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC1C,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,+EAAsC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;aAC1G;YACD,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;SAC3B;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC1B,MAAM,CAAC,CAAA;aACP;YACD,QAAS,CAAS,CAAC,UAAU,EAAE;gBAC9B,KAAK,4BAA4B;oBAChC,OAAO,IAAI,wBAAa,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAA;gBACnE,KAAK,6BAA6B;oBACjC,OAAO,IAAI,wBAAa,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAA;gBACrE;oBACC,MAAM,CAAC,CAAA;aACR;SACD;IACF,CAAC;CACD;AA1CD,0DA0CC"}
@@ -7,5 +7,5 @@ export declare class RemoveProjectMemberCommand implements Command<RemoveProject
7
7
  constructor(projectId: string, identityId: string);
8
8
  execute({ db, bus }: Command.Args): Promise<RemoveProjectMemberResponse>;
9
9
  }
10
- export declare type RemoveProjectMemberResponse = Response<null, RemoveProjectMemberErrorCode>;
10
+ export type RemoveProjectMemberResponse = Response<null, RemoveProjectMemberErrorCode>;
11
11
  //# sourceMappingURL=RemoveProjectMemberCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveProjectMemberCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/RemoveProjectMemberCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAE9D,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,qBAAa,0BAA2B,YAAW,OAAO,CAAC,2BAA2B,CAAC;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAU,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAA9C,SAAS,EAAE,MAAM,EAAmB,UAAU,EAAE,MAAM;IAE7E,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAe9E;AAED,oBAAY,2BAA2B,GAAG,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA"}
1
+ {"version":3,"file":"RemoveProjectMemberCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/RemoveProjectMemberCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAE9D,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,qBAAa,0BAA2B,YAAW,OAAO,CAAC,2BAA2B,CAAC;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAU,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAA9C,SAAS,EAAE,MAAM,EAAmB,UAAU,EAAE,MAAM;IAE7E,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAe9E;AAED,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RemoveProjectMemberCommand = void 0;
4
- const schema_1 = require("../../../schema");
5
4
  const database_1 = require("@contember/database");
6
5
  const Response_1 = require("../../utils/Response");
7
6
  class RemoveProjectMemberCommand {
@@ -19,7 +18,7 @@ class RemoveProjectMemberCommand {
19
18
  .where(memberWhere)
20
19
  .execute(db);
21
20
  if (result === 0) {
22
- return new Response_1.ResponseError(schema_1.RemoveProjectMemberErrorCode.NotMember, 'Not a project member');
21
+ return new Response_1.ResponseError('NOT_MEMBER', 'Not a project member');
23
22
  }
24
23
  return new Response_1.ResponseOk(null);
25
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveProjectMemberCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/membership/RemoveProjectMemberCommand.ts"],"names":[],"mappings":";;;AACA,4CAA8D;AAC9D,kDAAmD;AACnD,mDAA0E;AAE1E,MAAa,0BAA0B;IACtC,YAA6B,SAAiB,EAAmB,UAAkB;QAAtD,cAAS,GAAT,SAAS,CAAQ;QAAmB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAEvF,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAgB;QACtC,MAAM,WAAW,GAAG;YACnB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE,CAAC,EAAE;aAC5C,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC,WAAW,CAAC;aAClB,OAAO,CAAC,EAAE,CAAC,CAAA;QAEb,IAAI,MAAM,KAAK,CAAC,EAAE;YACjB,OAAO,IAAI,wBAAa,CAAC,qCAA4B,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;SACxF;QACD,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;CACD;AAlBD,gEAkBC"}
1
+ {"version":3,"file":"RemoveProjectMemberCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/membership/RemoveProjectMemberCommand.ts"],"names":[],"mappings":";;;AAEA,kDAAmD;AACnD,mDAA0E;AAE1E,MAAa,0BAA0B;IACtC,YAA6B,SAAiB,EAAmB,UAAkB;QAAtD,cAAS,GAAT,SAAS,CAAQ;QAAmB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAEvF,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAgB;QACtC,MAAM,WAAW,GAAG;YACnB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE,CAAC,EAAE;aAC5C,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC,WAAW,CAAC;aAClB,OAAO,CAAC,EAAE,CAAC,CAAA;QAEb,IAAI,MAAM,KAAK,CAAC,EAAE;YACjB,OAAO,IAAI,wBAAa,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;SAC9D;QACD,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;CACD;AAlBD,gEAkBC"}
@@ -9,5 +9,5 @@ export declare class UpdateProjectMemberCommand implements Command<UpdateProject
9
9
  constructor(projectId: string, identityId: string, memberships: readonly MembershipUpdateInput[]);
10
10
  execute({ db, bus, providers }: Command.Args): Promise<UpdateProjectMemberResponse>;
11
11
  }
12
- export declare type UpdateProjectMemberResponse = Response<null, UpdateProjectMemberErrorCode>;
12
+ export type UpdateProjectMemberResponse = Response<null, UpdateProjectMemberErrorCode>;
13
13
  //# sourceMappingURL=UpdateProjectMemberCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateProjectMemberCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/UpdateProjectMemberCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,qBAAa,0BAA2B,YAAW,OAAO,CAAC,2BAA2B,CAAC;IAErF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,qBAAqB,EAAE;IAGzD,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAqCzF;AACD,oBAAY,2BAA2B,GAAG,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA"}
1
+ {"version":3,"file":"UpdateProjectMemberCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/UpdateProjectMemberCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,qBAAa,0BAA2B,YAAW,OAAO,CAAC,2BAA2B,CAAC;IAErF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,qBAAqB,EAAE;IAGzD,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAqCzF;AACD,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UpdateProjectMemberCommand = void 0;
4
- const schema_1 = require("../../../schema");
5
4
  const CreateOrUpdateProjectMembershipCommand_1 = require("./CreateOrUpdateProjectMembershipCommand");
6
5
  const database_1 = require("@contember/database");
7
6
  const RemoveProjectMembershipsCommand_1 = require("./RemoveProjectMembershipsCommand");
@@ -22,7 +21,7 @@ class UpdateProjectMemberCommand {
22
21
  })
23
22
  .getResult(db);
24
23
  if (result.length === 0) {
25
- return new Response_1.ResponseError(schema_1.UpdateProjectMemberErrorCode.NotMember, 'Not a project member');
24
+ return new Response_1.ResponseError('NOT_MEMBER', 'Not a project member');
26
25
  }
27
26
  try {
28
27
  for (const membershipUpdate of this.memberships) {
@@ -41,7 +40,7 @@ class UpdateProjectMemberCommand {
41
40
  }
42
41
  switch (e.constraint) {
43
42
  case 'project_membership_project':
44
- return new Response_1.ResponseError(schema_1.UpdateProjectMemberErrorCode.ProjectNotFound, 'Project not found');
43
+ return new Response_1.ResponseError('PROJECT_NOT_FOUND', 'Project not found');
45
44
  default:
46
45
  throw e;
47
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateProjectMemberCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/membership/UpdateProjectMemberCommand.ts"],"names":[],"mappings":";;;AACA,4CAA8D;AAC9D,qGAAiG;AACjG,kDAAmD;AAEnD,uFAAkF;AAClF,mDAA0E;AAE1E,MAAa,0BAA0B;IACtC,YACkB,SAAiB,EACjB,UAAkB,EAClB,WAA6C;QAF7C,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAkC;IAC5D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAgB;QACjD,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACzC,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC;YACN,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;aACD,SAAS,CAAC,EAAE,CAAC,CAAA;QACf,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,IAAI,wBAAa,CAAC,qCAA4B,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;SACxF;QAED,IAAI;YACH,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,WAAW,EAAE;gBAChD,IAAI,gBAAgB,CAAC,SAAS,KAAK,QAAQ,EAAE;oBAC5C,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,gEAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;iBAC7G;qBAAM;oBACN,MAAM,GAAG,CAAC,OAAO,CAChB,IAAI,+EAAsC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAC7F,CAAA;iBACD;aACD;YAED,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;SAC3B;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC1B,MAAM,CAAC,CAAA;aACP;YACD,QAAS,CAAS,CAAC,UAAU,EAAE;gBAC9B,KAAK,4BAA4B;oBAChC,OAAO,IAAI,wBAAa,CAAC,qCAA4B,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAA;gBAC5F;oBACC,MAAM,CAAC,CAAA;aACR;SACD;IACF,CAAC;CACD;AA5CD,gEA4CC"}
1
+ {"version":3,"file":"UpdateProjectMemberCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/membership/UpdateProjectMemberCommand.ts"],"names":[],"mappings":";;;AAEA,qGAAiG;AACjG,kDAAmD;AAEnD,uFAAkF;AAClF,mDAA0E;AAE1E,MAAa,0BAA0B;IACtC,YACkB,SAAiB,EACjB,UAAkB,EAClB,WAA6C;QAF7C,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAkC;IAC5D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAgB;QACjD,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACzC,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC;YACN,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;aACD,SAAS,CAAC,EAAE,CAAC,CAAA;QACf,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,IAAI,wBAAa,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;SAC9D;QAED,IAAI;YACH,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,WAAW,EAAE;gBAChD,IAAI,gBAAgB,CAAC,SAAS,KAAK,QAAQ,EAAE;oBAC5C,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,gEAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;iBAC7G;qBAAM;oBACN,MAAM,GAAG,CAAC,OAAO,CAChB,IAAI,+EAAsC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAC7F,CAAA;iBACD;aACD;YAED,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;SAC3B;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC1B,MAAM,CAAC,CAAA;aACP;YACD,QAAS,CAAS,CAAC,UAAU,EAAE;gBAC9B,KAAK,4BAA4B;oBAChC,OAAO,IAAI,wBAAa,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAA;gBACnE;oBACC,MAAM,CAAC,CAAA;aACR;SACD;IACF,CAAC;CACD;AA5CD,gEA4CC"}
@@ -1,4 +1,4 @@
1
- export declare type VariableUpdateInput = {
1
+ export type VariableUpdateInput = {
2
2
  name: string;
3
3
  } & ({
4
4
  set: ReadonlyArray<string>;
@@ -6,11 +6,11 @@ export declare type VariableUpdateInput = {
6
6
  remove: ReadonlyArray<string>;
7
7
  append: ReadonlyArray<string>;
8
8
  });
9
- export declare type MembershipInput = {
9
+ export type MembershipInput = {
10
10
  role: string;
11
11
  variables: VariableUpdateInput[];
12
12
  };
13
- export declare type MembershipUpdateInput = {
13
+ export type MembershipUpdateInput = {
14
14
  role: string;
15
15
  operation: 'update' | 'create' | 'remove';
16
16
  variables: VariableUpdateInput[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/types.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB,CACC;IACD,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACzB,GACA;IACD,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC5B,CACF,CAAA;AAEF,oBAAY,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA;AAED,oBAAY,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACzC,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/membership/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB,CACC;IACD,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACzB,GACA;IACD,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC5B,CACF,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACzC,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA"}
@@ -6,10 +6,6 @@ export declare class ResetPasswordCommand implements Command<ResetPasswordComman
6
6
  constructor(token: string, password: string);
7
7
  execute({ db, providers, bus }: Command.Args): Promise<ResetPasswordCommandResponse>;
8
8
  }
9
- export declare enum ResetPasswordCommandErrorCode {
10
- TOKEN_NOT_FOUND = "TOKEN_NOT_FOUND",
11
- TOKEN_USED = "TOKEN_USED",
12
- TOKEN_EXPIRED = "TOKEN_EXPIRED"
13
- }
14
- export declare type ResetPasswordCommandResponse = Response<undefined, ResetPasswordCommandErrorCode>;
9
+ export type ResetPasswordCommandErrorCode = 'TOKEN_NOT_FOUND' | 'TOKEN_USED' | 'TOKEN_EXPIRED';
10
+ export type ResetPasswordCommandResponse = Response<null, ResetPasswordCommandErrorCode>;
15
11
  //# sourceMappingURL=ResetPasswordCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResetPasswordCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/passwordReset/ResetPasswordCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAKpC,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,qBAAa,oBAAqB,YAAW,OAAO,CAAC,4BAA4B,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAU,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAxC,KAAK,EAAE,MAAM,EAAmB,QAAQ,EAAE,MAAM;IAEvE,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,4BAA4B,CAAC;CA8C1F;AACD,oBAAY,6BAA6B;IACxC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,aAAa,kBAAkB;CAC/B;AAED,oBAAY,4BAA4B,GAAG,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAA"}
1
+ {"version":3,"file":"ResetPasswordCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/passwordReset/ResetPasswordCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAKpC,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAE1E,qBAAa,oBAAqB,YAAW,OAAO,CAAC,4BAA4B,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAU,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAxC,KAAK,EAAE,MAAM,EAAmB,QAAQ,EAAE,MAAM;IAEvE,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,4BAA4B,CAAC;CAwC1F;AACD,MAAM,MAAM,6BAA6B,GACrC,iBAAiB,GACjB,YAAY,GACZ,eAAe,CAAA;AAEnB,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResetPasswordCommandErrorCode = exports.ResetPasswordCommand = void 0;
3
+ exports.ResetPasswordCommand = void 0;
4
4
  const database_1 = require("@contember/database");
5
5
  const utils_1 = require("../../utils");
6
6
  const exceptions_1 = require("../../../exceptions");
@@ -22,14 +22,14 @@ class ResetPasswordCommand {
22
22
  .where({ token_hash: tokenHash })
23
23
  .getResult(db))[0] || null;
24
24
  if (!result) {
25
- return new Response_1.ResponseError(ResetPasswordCommandErrorCode.TOKEN_NOT_FOUND, 'Token was not found');
25
+ return new Response_1.ResponseError('TOKEN_NOT_FOUND', 'Token was not found');
26
26
  }
27
27
  if (result.used_at) {
28
- return new Response_1.ResponseError(ResetPasswordCommandErrorCode.TOKEN_USED, `Token was used at ${result.used_at.toISOString()}`);
28
+ return new Response_1.ResponseError('TOKEN_USED', `Token was used at ${result.used_at.toISOString()}`);
29
29
  }
30
30
  const now = providers.now();
31
31
  if (result.expires_at < now) {
32
- return new Response_1.ResponseError(ResetPasswordCommandErrorCode.TOKEN_EXPIRED, `Token expired at ${result.expires_at.toISOString()}`);
32
+ return new Response_1.ResponseError('TOKEN_EXPIRED', `Token expired at ${result.expires_at.toISOString()}`);
33
33
  }
34
34
  const count = await database_1.UpdateBuilder.create()
35
35
  .table('person_password_reset')
@@ -43,14 +43,8 @@ class ResetPasswordCommand {
43
43
  throw new exceptions_1.ImplementationException();
44
44
  }
45
45
  await bus.execute(new ChangePasswordCommand_1.ChangePasswordCommand(result.person_id, this.password));
46
- return new Response_1.ResponseOk(undefined);
46
+ return new Response_1.ResponseOk(null);
47
47
  }
48
48
  }
49
49
  exports.ResetPasswordCommand = ResetPasswordCommand;
50
- var ResetPasswordCommandErrorCode;
51
- (function (ResetPasswordCommandErrorCode) {
52
- ResetPasswordCommandErrorCode["TOKEN_NOT_FOUND"] = "TOKEN_NOT_FOUND";
53
- ResetPasswordCommandErrorCode["TOKEN_USED"] = "TOKEN_USED";
54
- ResetPasswordCommandErrorCode["TOKEN_EXPIRED"] = "TOKEN_EXPIRED";
55
- })(ResetPasswordCommandErrorCode = exports.ResetPasswordCommandErrorCode || (exports.ResetPasswordCommandErrorCode = {}));
56
50
  //# sourceMappingURL=ResetPasswordCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResetPasswordCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/passwordReset/ResetPasswordCommand.ts"],"names":[],"mappings":";;;AACA,kDAAkE;AAClE,uCAA8C;AAC9C,oDAA6D;AAC7D,2EAAuE;AACvE,mDAA0E;AAE1E,MAAa,oBAAoB;IAChC,YAA6B,KAAa,EAAmB,QAAgB;QAAhD,UAAK,GAAL,KAAK,CAAQ;QAAmB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjF,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAgB;QACjD,MAAM,SAAS,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE9C,MAAM,MAAM,GACX,CACC,MAAM,wBAAa,CAAC,MAAM,EAA6E;aACrG,IAAI,CAAC,uBAAuB,CAAC;aAC7B,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,SAAS,CAAC;aACjB,MAAM,CAAC,YAAY,CAAC;aACpB,KAAK,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;aAChC,SAAS,CAAC,EAAE,CAAC,CACf,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACb,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,IAAI,wBAAa,CAAC,6BAA6B,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;SAC9F;QACD,IAAI,MAAM,CAAC,OAAO,EAAE;YACnB,OAAO,IAAI,wBAAa,CACvB,6BAA6B,CAAC,UAAU,EACxC,qBAAqB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CACnD,CAAA;SACD;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YAC5B,OAAO,IAAI,wBAAa,CACvB,6BAA6B,CAAC,aAAa,EAC3C,oBAAoB,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CACrD,CAAA;SACD;QACD,MAAM,KAAK,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACxC,KAAK,CAAC,uBAAuB,CAAC;aAC9B,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aACrC,MAAM,CAAC;YACP,OAAO,EAAE,GAAG;SACZ,CAAC;aACD,OAAO,CAAC,EAAE,CAAC,CAAA;QACb,IAAI,KAAK,KAAK,CAAC,EAAE;YAChB,MAAM,IAAI,oCAAuB,EAAE,CAAA;SACnC;QAED,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,6CAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QAE7E,OAAO,IAAI,qBAAU,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;CACD;AAjDD,oDAiDC;AACD,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACxC,oEAAmC,CAAA;IACnC,0DAAyB,CAAA;IACzB,gEAA+B,CAAA;AAChC,CAAC,EAJW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAIxC"}
1
+ {"version":3,"file":"ResetPasswordCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/passwordReset/ResetPasswordCommand.ts"],"names":[],"mappings":";;;AACA,kDAAkE;AAClE,uCAA8C;AAC9C,oDAA6D;AAC7D,2EAAuE;AACvE,mDAA0E;AAE1E,MAAa,oBAAoB;IAChC,YAA6B,KAAa,EAAmB,QAAgB;QAAhD,UAAK,GAAL,KAAK,CAAQ;QAAmB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjF,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAgB;QACjD,MAAM,SAAS,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE9C,MAAM,MAAM,GACX,CACC,MAAM,wBAAa,CAAC,MAAM,EAA6E;aACrG,IAAI,CAAC,uBAAuB,CAAC;aAC7B,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,SAAS,CAAC;aACjB,MAAM,CAAC,YAAY,CAAC;aACpB,KAAK,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;aAChC,SAAS,CAAC,EAAE,CAAC,CACf,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACb,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,IAAI,wBAAa,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAA;SAClE;QACD,IAAI,MAAM,CAAC,OAAO,EAAE;YACnB,OAAO,IAAI,wBAAa,CAAC,YAAY,EAAE,qBAAqB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;SAC3F;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YAC5B,OAAO,IAAI,wBAAa,CAAC,eAAe,EAAE,oBAAoB,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;SAChG;QACD,MAAM,KAAK,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACxC,KAAK,CAAC,uBAAuB,CAAC;aAC9B,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aACrC,MAAM,CAAC;YACP,OAAO,EAAE,GAAG;SACZ,CAAC;aACD,OAAO,CAAC,EAAE,CAAC,CAAA;QACb,IAAI,KAAK,KAAK,CAAC,EAAE;YAChB,MAAM,IAAI,oCAAuB,EAAE,CAAA;SACnC;QAED,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,6CAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QAE7E,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;CACD;AA3CD,oDA2CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePersonCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/person/CreatePersonCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,qBAAa,mBAAoB,YAAW,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAClC,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,aAAa,CAAA;QACvB,OAAO,CAAC,EAAE,OAAO,CAAA;KACjB;IAEK,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CAyBjF"}
1
+ {"version":3,"file":"CreatePersonCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/person/CreatePersonCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,qBAAa,mBAAoB,YAAW,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAClC,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,aAAa,CAAA;QACvB,OAAO,CAAC,EAAE,OAAO,CAAA;KACjB;IAEK,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CA6BjF"}
@@ -2,31 +2,36 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CreatePersonCommand = void 0;
4
4
  const database_1 = require("@contember/database");
5
+ const email_1 = require("../../utils/email");
5
6
  class CreatePersonCommand {
6
7
  constructor(data) {
7
8
  this.data = data;
8
9
  }
9
10
  async execute({ db, providers }) {
10
- var _a, _b, _c, _d, _e;
11
+ var _a, _b, _c, _d;
11
12
  const id = providers.uuid();
12
13
  const password_hash = await this.data.password.getHash(providers);
14
+ const email = this.data.email ? (0, email_1.normalizeEmail)(this.data.email) : null;
15
+ const name = (_c = (_a = this.data.name) !== null && _a !== void 0 ? _a : (_b = this.data.email) === null || _b === void 0 ? void 0 : _b.split('@')[0]) !== null && _c !== void 0 ? _c : null;
13
16
  await database_1.InsertBuilder.create()
14
17
  .into('person')
15
18
  .values({
16
19
  id: id,
17
- email: (_a = this.data.email) !== null && _a !== void 0 ? _a : null,
18
- name: (_d = (_b = this.data.name) !== null && _b !== void 0 ? _b : (_c = this.data.email) === null || _c === void 0 ? void 0 : _c.split('@')[0]) !== null && _d !== void 0 ? _d : null,
20
+ email,
21
+ name: name,
19
22
  password_hash,
20
23
  identity_id: this.data.identityId,
21
- idp_only: (_e = this.data.idpOnly) !== null && _e !== void 0 ? _e : false,
24
+ idp_only: (_d = this.data.idpOnly) !== null && _d !== void 0 ? _d : false,
22
25
  })
23
26
  .execute(db);
24
27
  return {
25
28
  id,
26
- email: this.data.email,
29
+ email,
30
+ name,
27
31
  password_hash, identity_id: this.data.identityId,
28
32
  otp_uri: null,
29
33
  otp_activated_at: null,
34
+ disabled_at: null,
30
35
  };
31
36
  }
32
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePersonCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/person/CreatePersonCommand.ts"],"names":[],"mappings":";;;AAEA,kDAAmD;AAGnD,MAAa,mBAAmB;IAC/B,YAA6B,IAM5B;QAN4B,SAAI,GAAJ,IAAI,CAMhC;IAAG,CAAC;IAEL,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAgB;;QAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAE3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACjE,MAAM,wBAAa,CAAC,MAAM,EAAE;aAC1B,IAAI,CAAC,QAAQ,CAAC;aACd,MAAM,CAAC;YACP,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,mCAAI,IAAI;YAC9B,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAI,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,IAAI;YAC9D,aAAa;YACb,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YACjC,QAAQ,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,mCAAI,KAAK;SACpC,CAAC;aACD,OAAO,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO;YACN,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,aAAa,EAAE,WAAW,EAC1B,IAAI,CAAC,IAAI,CAAC,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,IAAI;SACtB,CAAA;IACF,CAAC;CACD;AAlCD,kDAkCC"}
1
+ {"version":3,"file":"CreatePersonCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/person/CreatePersonCommand.ts"],"names":[],"mappings":";;;AAEA,kDAA4D;AAE5D,6CAAkD;AAElD,MAAa,mBAAmB;IAC/B,YAA6B,IAM5B;QAN4B,SAAI,GAAJ,IAAI,CAMhC;IAAG,CAAC;IAEL,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAgB;;QAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAE3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACtE,MAAM,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAI,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,IAAI,CAAA;QACrE,MAAM,wBAAa,CAAC,MAAM,EAAE;aAC1B,IAAI,CAAC,QAAQ,CAAC;aACd,MAAM,CAAC;YACP,EAAE,EAAE,EAAE;YACN,KAAK;YACL,IAAI,EAAE,IAAI;YACV,aAAa;YACb,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YACjC,QAAQ,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,mCAAI,KAAK;SACpC,CAAC;aACD,OAAO,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO;YACN,EAAE;YACF,KAAK;YACL,IAAI;YACJ,aAAa,EAAE,WAAW,EAC1B,IAAI,CAAC,IAAI,CAAC,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,IAAI;SACjB,CAAA;IACF,CAAC;CACD;AAtCD,kDAsCC"}
@@ -0,0 +1,7 @@
1
+ import { Command } from '../Command';
2
+ export declare class DisablePersonCommand implements Command<void> {
3
+ private readonly personId;
4
+ constructor(personId: string);
5
+ execute({ db, providers }: Command.Args): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=DisablePersonCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisablePersonCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/person/DisablePersonCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,qBAAa,oBAAqB,YAAW,OAAO,CAAC,IAAI,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAW7D"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DisablePersonCommand = void 0;
4
+ const database_1 = require("@contember/database");
5
+ class DisablePersonCommand {
6
+ constructor(personId) {
7
+ this.personId = personId;
8
+ }
9
+ async execute({ db, providers }) {
10
+ await database_1.UpdateBuilder.create()
11
+ .table('person')
12
+ .values({
13
+ disabled_at: new Date(),
14
+ })
15
+ .where({
16
+ id: this.personId,
17
+ })
18
+ .execute(db);
19
+ }
20
+ }
21
+ exports.DisablePersonCommand = DisablePersonCommand;
22
+ //# sourceMappingURL=DisablePersonCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisablePersonCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/person/DisablePersonCommand.ts"],"names":[],"mappings":";;;AACA,kDAAmD;AAEnD,MAAa,oBAAoB;IAChC,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAgB;QAC5C,MAAM,wBAAa,CAAC,MAAM,EAAE;aAC1B,KAAK,CAAC,QAAQ,CAAC;aACf,MAAM,CAAC;YACP,WAAW,EAAE,IAAI,IAAI,EAAE;SACvB,CAAC;aACD,KAAK,CAAC;YACN,EAAE,EAAE,IAAI,CAAC,QAAQ;SACjB,CAAC;aACD,OAAO,CAAC,EAAE,CAAC,CAAA;IACd,CAAC;CACD;AAdD,oDAcC"}
@@ -1,5 +1,5 @@
1
1
  import { Providers } from '../providers';
2
- export declare type MaybePassword = Password | typeof NoPassword;
2
+ export type MaybePassword = Password | typeof NoPassword;
3
3
  export declare const NoPassword: {
4
4
  getPlain: () => null;
5
5
  getHash: () => null;
@@ -1 +1 @@
1
- {"version":3,"file":"Password.d.ts","sourceRoot":"","sources":["../../../../src/model/dtos/Password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,oBAAY,aAAa,GAAG,QAAQ,GAAG,OAAO,UAAU,CAAA;AAExD,eAAO,MAAM,UAAU;;;CAGtB,CAAA;AAED,MAAM,WAAW,QAAQ;IACxB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAA;IAEzB,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC9C;AAED,qBAAa,YAAa,YAAW,QAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAGzC,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,QAAQ,IAAI,MAAM,GAAG,IAAI;CAGzB;AAED,qBAAa,aAAc,YAAW,QAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAG1C,OAAO,CAAC,SAAS,EAAE,SAAS;IAI5B,QAAQ;CAGR"}
1
+ {"version":3,"file":"Password.d.ts","sourceRoot":"","sources":["../../../../src/model/dtos/Password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,UAAU,CAAA;AAExD,eAAO,MAAM,UAAU;;;CAGtB,CAAA;AAED,MAAM,WAAW,QAAQ;IACxB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAA;IAEzB,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC9C;AAED,qBAAa,YAAa,YAAW,QAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAGzC,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,QAAQ,IAAI,MAAM,GAAG,IAAI;CAGzB;AAED,qBAAa,aAAc,YAAW,QAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAG1C,OAAO,CAAC,SAAS,EAAE,SAAS;IAI5B,QAAQ;CAGR"}
@@ -6,5 +6,5 @@ var MailType;
6
6
  MailType["existingUserInvited"] = "existingUserInvited";
7
7
  MailType["newUserInvited"] = "newUserInvited";
8
8
  MailType["passwordReset"] = "passwordReset";
9
- })(MailType = exports.MailType || (exports.MailType = {}));
9
+ })(MailType || (exports.MailType = MailType = {}));
10
10
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../src/model/mailing/type.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IACnB,uDAA2C,CAAA;IAC3C,6CAAiC,CAAA;IACjC,2CAA+B,CAAA;AAChC,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../src/model/mailing/type.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IACnB,uDAA2C,CAAA;IAC3C,6CAAiC,CAAA;IACjC,2CAA+B,CAAA;AAChC,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"}
@@ -0,0 +1,23 @@
1
+ import { DatabaseQuery, DatabaseQueryable } from '@contember/database';
2
+ import { ApiKey } from '../../type';
3
+ export declare class ApiKeyByIdQuery extends DatabaseQuery<null | ApiKeyRow> {
4
+ private readonly apiKeyId;
5
+ constructor(apiKeyId: string);
6
+ fetch({ db }: DatabaseQueryable): Promise<null | ApiKeyRow>;
7
+ }
8
+ export declare class ApiKeyByTokenQuery extends DatabaseQuery<null | ApiKeyRow> {
9
+ private readonly token;
10
+ constructor(token: string);
11
+ fetch({ db }: DatabaseQueryable): Promise<null | ApiKeyRow>;
12
+ }
13
+ export type ApiKeyRow = {
14
+ readonly id: string;
15
+ readonly type: ApiKey.Type;
16
+ readonly identity_id: string;
17
+ readonly disabled_at: Date | null;
18
+ readonly expires_at: Date | null;
19
+ readonly expiration: number | null;
20
+ readonly roles: string[];
21
+ readonly person_id: string | null;
22
+ };
23
+ //# sourceMappingURL=ApiKeyQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiKeyQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/apiKey/ApiKeyQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAA;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGnC,qBAAa,eAAgB,SAAQ,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAIvC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;CASjE;AAED,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAIpC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;CAQjE;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiKeyByTokenQuery = exports.ApiKeyByIdQuery = void 0;
4
+ const database_1 = require("@contember/database");
5
+ const utils_1 = require("../../utils");
6
+ class ApiKeyByIdQuery extends database_1.DatabaseQuery {
7
+ constructor(apiKeyId) {
8
+ super();
9
+ this.apiKeyId = apiKeyId;
10
+ }
11
+ async fetch({ db }) {
12
+ const rows = await apiKeyBaseQuery
13
+ .where(where => where.compare(['api_key', 'id'], database_1.Operator.eq, this.apiKeyId))
14
+ .getResult(db);
15
+ return this.fetchOneOrNull(rows);
16
+ }
17
+ }
18
+ exports.ApiKeyByIdQuery = ApiKeyByIdQuery;
19
+ class ApiKeyByTokenQuery extends database_1.DatabaseQuery {
20
+ constructor(token) {
21
+ super();
22
+ this.token = token;
23
+ }
24
+ async fetch({ db }) {
25
+ const tokenHash = (0, utils_1.computeTokenHash)(this.token);
26
+ const rows = await apiKeyBaseQuery
27
+ .where({ token_hash: tokenHash })
28
+ .getResult(db);
29
+ return this.fetchOneOrNull(rows);
30
+ }
31
+ }
32
+ exports.ApiKeyByTokenQuery = ApiKeyByTokenQuery;
33
+ const apiKeyBaseQuery = database_1.SelectBuilder.create()
34
+ .select(['api_key', 'id'])
35
+ .select(['api_key', 'type'])
36
+ .select(['api_key', 'identity_id'])
37
+ .select(['api_key', 'disabled_at'])
38
+ .select(['api_key', 'expires_at'])
39
+ .select(['identity', 'roles'])
40
+ .select(['api_key', 'expiration'])
41
+ .select(['person', 'id'], 'person_id')
42
+ .from('api_key')
43
+ .join('identity', 'identity', joinClause => joinClause.compareColumns(['api_key', 'identity_id'], database_1.Operator.eq, ['identity', 'id']))
44
+ .leftJoin('person', 'person', on => on.compareColumns(['person', 'identity_id'], database_1.Operator.eq, ['identity', 'id']));
45
+ //# sourceMappingURL=ApiKeyQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiKeyQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/apiKey/ApiKeyQuery.ts"],"names":[],"mappings":";;;AAAA,kDAA+F;AAE/F,uCAA8C;AAE9C,MAAa,eAAgB,SAAQ,wBAA+B;IACnE,YAA6B,QAAgB;QAC5C,KAAK,EAAE,CAAA;QADqB,aAAQ,GAAR,QAAQ,CAAQ;IAE7C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;QACpC,MAAM,IAAI,GAAG,MAAM,eAAe;aAChC,KAAK,CACL,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CACrE;aACA,SAAS,CAAC,EAAE,CAAC,CAAA;QAEf,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACD;AAdD,0CAcC;AAED,MAAa,kBAAmB,SAAQ,wBAA+B;IACtE,YAA6B,KAAa;QACzC,KAAK,EAAE,CAAA;QADqB,UAAK,GAAL,KAAK,CAAQ;IAE1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;QACpC,MAAM,SAAS,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,MAAM,eAAe;aAChC,KAAK,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;aAChC,SAAS,CAAC,EAAE,CAAC,CAAA;QAEf,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACD;AAbD,gDAaC;AAaD,MAAM,eAAe,GAAG,wBAAa,CAAC,MAAM,EAAoB;KAC9D,MAAM,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KACzB,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KAC3B,MAAM,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;KAClC,MAAM,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;KAClC,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;KACjC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAC7B,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;KACjC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC;KACrC,IAAI,CAAC,SAAS,CAAC;KACf,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAC1C,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CACtF;KACA,QAAQ,CACR,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAC1C,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAC1D,CACD,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './ApiKeyByTokenQuery';
1
+ export * from './ApiKeyQuery';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/apiKey/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/apiKey/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ApiKeyByTokenQuery"), exports);
17
+ __exportStar(require("./ApiKeyQuery"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/queries/apiKey/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/queries/apiKey/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B"}