@contember/engine-tenant-api 2.0.0-alpha.14 → 2.0.0-alpha.16

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 (534) hide show
  1. package/dist/development/index.cjs +18 -6
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +20 -8
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/src/TenantContainer.cjs +7 -1
  6. package/dist/development/src/TenantContainer.cjs.map +1 -1
  7. package/dist/development/src/TenantContainer.js +7 -1
  8. package/dist/development/src/TenantContainer.js.map +1 -1
  9. package/dist/development/src/migrations/2024-08-26-120000-passwordless.cjs +31 -0
  10. package/dist/development/src/migrations/2024-08-26-120000-passwordless.cjs.map +1 -0
  11. package/dist/development/src/migrations/2024-08-26-120000-passwordless.js +32 -0
  12. package/dist/development/src/migrations/2024-08-26-120000-passwordless.js.map +1 -0
  13. package/dist/development/src/migrations/runner.cjs +3 -1
  14. package/dist/development/src/migrations/runner.cjs.map +1 -1
  15. package/dist/development/src/migrations/runner.js +3 -1
  16. package/dist/development/src/migrations/runner.js.map +1 -1
  17. package/dist/development/src/migrations/snapshot.cjs +33 -5
  18. package/dist/development/src/migrations/snapshot.cjs.map +1 -1
  19. package/dist/development/src/migrations/snapshot.js +33 -5
  20. package/dist/development/src/migrations/snapshot.js.map +1 -1
  21. package/dist/development/src/model/authorization/PermissionActions.cjs +5 -0
  22. package/dist/development/src/model/authorization/PermissionActions.cjs.map +1 -1
  23. package/dist/development/src/model/authorization/PermissionActions.js +5 -0
  24. package/dist/development/src/model/authorization/PermissionActions.js.map +1 -1
  25. package/dist/development/src/model/authorization/PermissionsFactory.cjs +5 -0
  26. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  27. package/dist/development/src/model/authorization/PermissionsFactory.js +5 -0
  28. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
  29. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.cjs +20 -0
  30. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.cjs.map +1 -0
  31. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.js +20 -0
  32. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.js.map +1 -0
  33. package/dist/development/src/model/commands/person/CreatePersonCommand.cjs +2 -1
  34. package/dist/development/src/model/commands/person/CreatePersonCommand.cjs.map +1 -1
  35. package/dist/development/src/model/commands/person/CreatePersonCommand.js +2 -1
  36. package/dist/development/src/model/commands/person/CreatePersonCommand.js.map +1 -1
  37. package/dist/development/src/model/commands/person/TogglePersonPasswordlessCommand.cjs +18 -0
  38. package/dist/development/src/model/commands/person/TogglePersonPasswordlessCommand.cjs.map +1 -0
  39. package/dist/development/src/model/commands/person/TogglePersonPasswordlessCommand.js +18 -0
  40. package/dist/development/src/model/commands/person/TogglePersonPasswordlessCommand.js.map +1 -0
  41. package/dist/development/src/model/commands/personToken/ActivateOtpCommand.cjs +20 -0
  42. package/dist/development/src/model/commands/personToken/ActivateOtpCommand.cjs.map +1 -0
  43. package/dist/development/src/model/commands/personToken/ActivateOtpCommand.js +20 -0
  44. package/dist/development/src/model/commands/personToken/ActivateOtpCommand.js.map +1 -0
  45. package/dist/development/src/model/commands/personToken/CreatePersonTokenCommand.cjs +33 -0
  46. package/dist/development/src/model/commands/personToken/CreatePersonTokenCommand.cjs.map +1 -0
  47. package/dist/development/src/model/commands/personToken/CreatePersonTokenCommand.js +33 -0
  48. package/dist/development/src/model/commands/personToken/CreatePersonTokenCommand.js.map +1 -0
  49. package/dist/development/src/model/commands/personToken/IncreaseOtpAttemptCommand.cjs +19 -0
  50. package/dist/development/src/model/commands/personToken/IncreaseOtpAttemptCommand.cjs.map +1 -0
  51. package/dist/development/src/model/commands/personToken/IncreaseOtpAttemptCommand.js +19 -0
  52. package/dist/development/src/model/commands/personToken/IncreaseOtpAttemptCommand.js.map +1 -0
  53. package/dist/development/src/model/commands/personToken/InvalidateTokenCommand.cjs +19 -0
  54. package/dist/development/src/model/commands/personToken/InvalidateTokenCommand.cjs.map +1 -0
  55. package/dist/development/src/model/commands/personToken/InvalidateTokenCommand.js +19 -0
  56. package/dist/development/src/model/commands/personToken/InvalidateTokenCommand.js.map +1 -0
  57. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.cjs +28 -0
  58. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.cjs.map +1 -0
  59. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.js +28 -0
  60. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.js.map +1 -0
  61. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.cjs +28 -0
  62. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.cjs.map +1 -0
  63. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.js +28 -0
  64. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.js.map +1 -0
  65. package/dist/development/src/model/consts/expirations.cjs +7 -0
  66. package/dist/development/src/model/consts/expirations.cjs.map +1 -0
  67. package/dist/development/src/model/consts/expirations.js +7 -0
  68. package/dist/development/src/model/consts/expirations.js.map +1 -0
  69. package/dist/development/src/model/mailing/UserMailer.cjs +10 -1
  70. package/dist/development/src/model/mailing/UserMailer.cjs.map +1 -1
  71. package/dist/development/src/model/mailing/UserMailer.js +10 -1
  72. package/dist/development/src/model/mailing/UserMailer.js.map +1 -1
  73. package/dist/development/src/model/mailing/templates/PasswordlessSignIn.mustache.cjs +17 -0
  74. package/dist/development/src/model/mailing/templates/PasswordlessSignIn.mustache.cjs.map +1 -0
  75. package/dist/development/src/model/mailing/templates/PasswordlessSignIn.mustache.js +18 -0
  76. package/dist/development/src/model/mailing/templates/PasswordlessSignIn.mustache.js.map +1 -0
  77. package/dist/development/src/model/mailing/type.cjs +9 -3
  78. package/dist/development/src/model/mailing/type.cjs.map +1 -1
  79. package/dist/development/src/model/mailing/type.js +9 -3
  80. package/dist/development/src/model/mailing/type.js.map +1 -1
  81. package/dist/development/src/model/queries/configuration/ConfigurationQuery.cjs +21 -0
  82. package/dist/development/src/model/queries/configuration/ConfigurationQuery.cjs.map +1 -0
  83. package/dist/development/src/model/queries/configuration/ConfigurationQuery.js +21 -0
  84. package/dist/development/src/model/queries/configuration/ConfigurationQuery.js.map +1 -0
  85. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.cjs +1 -1
  86. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.cjs.map +1 -1
  87. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.js +1 -1
  88. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.js.map +1 -1
  89. package/dist/development/src/model/queries/personToken/PersonTokenQuery.cjs +29 -0
  90. package/dist/development/src/model/queries/personToken/PersonTokenQuery.cjs.map +1 -0
  91. package/dist/development/src/model/queries/personToken/PersonTokenQuery.js +29 -0
  92. package/dist/development/src/model/queries/personToken/PersonTokenQuery.js.map +1 -0
  93. package/dist/development/src/model/service/ConfigurationManager.cjs +27 -0
  94. package/dist/development/src/model/service/ConfigurationManager.cjs.map +1 -0
  95. package/dist/development/src/model/service/ConfigurationManager.js +27 -0
  96. package/dist/development/src/model/service/ConfigurationManager.js.map +1 -0
  97. package/dist/development/src/model/service/InviteManager.cjs +7 -7
  98. package/dist/development/src/model/service/InviteManager.cjs.map +1 -1
  99. package/dist/development/src/model/service/InviteManager.js +6 -6
  100. package/dist/development/src/model/service/InviteManager.js.map +1 -1
  101. package/dist/development/src/model/service/PasswordChangeManager.cjs +1 -1
  102. package/dist/development/src/model/service/PasswordChangeManager.js +1 -1
  103. package/dist/development/src/model/service/PasswordResetManager.cjs +7 -15
  104. package/dist/development/src/model/service/PasswordResetManager.cjs.map +1 -1
  105. package/dist/development/src/model/service/PasswordResetManager.js +7 -15
  106. package/dist/development/src/model/service/PasswordResetManager.js.map +1 -1
  107. package/dist/development/src/model/service/PasswordlessSignInManager.cjs +135 -0
  108. package/dist/development/src/model/service/PasswordlessSignInManager.cjs.map +1 -0
  109. package/dist/development/src/model/service/PasswordlessSignInManager.js +135 -0
  110. package/dist/development/src/model/service/PasswordlessSignInManager.js.map +1 -0
  111. package/dist/development/src/model/service/PersonManager.cjs +7 -0
  112. package/dist/development/src/model/service/PersonManager.cjs.map +1 -1
  113. package/dist/development/src/model/service/PersonManager.js +7 -0
  114. package/dist/development/src/model/service/PersonManager.js.map +1 -1
  115. package/dist/development/src/model/service/ProjectManager.cjs +2 -2
  116. package/dist/development/src/model/service/ProjectManager.js +2 -2
  117. package/dist/development/src/model/service/RolesManager.cjs +1 -1
  118. package/dist/development/src/model/service/RolesManager.js +1 -1
  119. package/dist/development/src/model/service/SignUpManager.cjs +1 -1
  120. package/dist/development/src/model/service/SignUpManager.js +1 -1
  121. package/dist/development/src/model/service/helpers/getPreferredProject.cjs +13 -0
  122. package/dist/development/src/model/service/helpers/getPreferredProject.cjs.map +1 -0
  123. package/dist/development/src/model/service/helpers/getPreferredProject.js +13 -0
  124. package/dist/development/src/model/service/helpers/getPreferredProject.js.map +1 -0
  125. package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs +2 -1
  126. package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
  127. package/dist/development/src/model/service/idp/providers/OIDCProvider.js +2 -1
  128. package/dist/development/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
  129. package/dist/development/src/model/service/idp/providers/OIDCTypes.cjs +2 -1
  130. package/dist/development/src/model/service/idp/providers/OIDCTypes.cjs.map +1 -1
  131. package/dist/development/src/model/service/idp/providers/OIDCTypes.js +2 -1
  132. package/dist/development/src/model/service/idp/providers/OIDCTypes.js.map +1 -1
  133. package/dist/development/src/model/utils/tokenUtils.cjs +39 -0
  134. package/dist/development/src/model/utils/tokenUtils.cjs.map +1 -1
  135. package/dist/development/src/model/utils/tokenUtils.js +40 -1
  136. package/dist/development/src/model/utils/tokenUtils.js.map +1 -1
  137. package/dist/development/src/resolvers/ResolverFactory.cjs +8 -1
  138. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  139. package/dist/development/src/resolvers/ResolverFactory.js +8 -1
  140. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  141. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +41 -0
  142. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -0
  143. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +41 -0
  144. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -0
  145. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +83 -0
  146. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -0
  147. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js +83 -0
  148. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -0
  149. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  150. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  151. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +52 -0
  152. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -0
  153. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +52 -0
  154. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -0
  155. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs +34 -0
  156. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -0
  157. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js +34 -0
  158. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -0
  159. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.cjs +1 -0
  160. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.cjs.map +1 -1
  161. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.js +1 -0
  162. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.js.map +1 -1
  163. package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  164. package/dist/development/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  165. package/dist/development/src/schema/tenant.graphql.cjs +161 -10
  166. package/dist/development/src/schema/tenant.graphql.cjs.map +1 -1
  167. package/dist/development/src/schema/tenant.graphql.js +161 -10
  168. package/dist/development/src/schema/tenant.graphql.js.map +1 -1
  169. package/dist/production/index.cjs +18 -6
  170. package/dist/production/index.cjs.map +1 -1
  171. package/dist/production/index.js +20 -8
  172. package/dist/production/index.js.map +1 -1
  173. package/dist/production/src/TenantContainer.cjs +7 -1
  174. package/dist/production/src/TenantContainer.cjs.map +1 -1
  175. package/dist/production/src/TenantContainer.js +7 -1
  176. package/dist/production/src/TenantContainer.js.map +1 -1
  177. package/dist/production/src/migrations/2024-08-26-120000-passwordless.cjs +31 -0
  178. package/dist/production/src/migrations/2024-08-26-120000-passwordless.cjs.map +1 -0
  179. package/dist/production/src/migrations/2024-08-26-120000-passwordless.js +32 -0
  180. package/dist/production/src/migrations/2024-08-26-120000-passwordless.js.map +1 -0
  181. package/dist/production/src/migrations/runner.cjs +3 -1
  182. package/dist/production/src/migrations/runner.cjs.map +1 -1
  183. package/dist/production/src/migrations/runner.js +3 -1
  184. package/dist/production/src/migrations/runner.js.map +1 -1
  185. package/dist/production/src/migrations/snapshot.cjs +33 -5
  186. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  187. package/dist/production/src/migrations/snapshot.js +33 -5
  188. package/dist/production/src/migrations/snapshot.js.map +1 -1
  189. package/dist/production/src/model/authorization/PermissionActions.cjs +5 -0
  190. package/dist/production/src/model/authorization/PermissionActions.cjs.map +1 -1
  191. package/dist/production/src/model/authorization/PermissionActions.js +5 -0
  192. package/dist/production/src/model/authorization/PermissionActions.js.map +1 -1
  193. package/dist/production/src/model/authorization/PermissionsFactory.cjs +5 -0
  194. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  195. package/dist/production/src/model/authorization/PermissionsFactory.js +5 -0
  196. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  197. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.cjs +20 -0
  198. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.cjs.map +1 -0
  199. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.js +20 -0
  200. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.js.map +1 -0
  201. package/dist/production/src/model/commands/person/CreatePersonCommand.cjs +2 -1
  202. package/dist/production/src/model/commands/person/CreatePersonCommand.cjs.map +1 -1
  203. package/dist/production/src/model/commands/person/CreatePersonCommand.js +2 -1
  204. package/dist/production/src/model/commands/person/CreatePersonCommand.js.map +1 -1
  205. package/dist/production/src/model/commands/person/TogglePersonPasswordlessCommand.cjs +18 -0
  206. package/dist/production/src/model/commands/person/TogglePersonPasswordlessCommand.cjs.map +1 -0
  207. package/dist/production/src/model/commands/person/TogglePersonPasswordlessCommand.js +18 -0
  208. package/dist/production/src/model/commands/person/TogglePersonPasswordlessCommand.js.map +1 -0
  209. package/dist/production/src/model/commands/personToken/ActivateOtpCommand.cjs +20 -0
  210. package/dist/production/src/model/commands/personToken/ActivateOtpCommand.cjs.map +1 -0
  211. package/dist/production/src/model/commands/personToken/ActivateOtpCommand.js +20 -0
  212. package/dist/production/src/model/commands/personToken/ActivateOtpCommand.js.map +1 -0
  213. package/dist/production/src/model/commands/personToken/CreatePersonTokenCommand.cjs +33 -0
  214. package/dist/production/src/model/commands/personToken/CreatePersonTokenCommand.cjs.map +1 -0
  215. package/dist/production/src/model/commands/personToken/CreatePersonTokenCommand.js +33 -0
  216. package/dist/production/src/model/commands/personToken/CreatePersonTokenCommand.js.map +1 -0
  217. package/dist/production/src/model/commands/personToken/IncreaseOtpAttemptCommand.cjs +19 -0
  218. package/dist/production/src/model/commands/personToken/IncreaseOtpAttemptCommand.cjs.map +1 -0
  219. package/dist/production/src/model/commands/personToken/IncreaseOtpAttemptCommand.js +19 -0
  220. package/dist/production/src/model/commands/personToken/IncreaseOtpAttemptCommand.js.map +1 -0
  221. package/dist/production/src/model/commands/personToken/InvalidateTokenCommand.cjs +19 -0
  222. package/dist/production/src/model/commands/personToken/InvalidateTokenCommand.cjs.map +1 -0
  223. package/dist/production/src/model/commands/personToken/InvalidateTokenCommand.js +19 -0
  224. package/dist/production/src/model/commands/personToken/InvalidateTokenCommand.js.map +1 -0
  225. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.cjs +28 -0
  226. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.cjs.map +1 -0
  227. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.js +28 -0
  228. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.js.map +1 -0
  229. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.cjs +28 -0
  230. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.cjs.map +1 -0
  231. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.js +28 -0
  232. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.js.map +1 -0
  233. package/dist/production/src/model/consts/expirations.cjs +7 -0
  234. package/dist/production/src/model/consts/expirations.cjs.map +1 -0
  235. package/dist/production/src/model/consts/expirations.js +7 -0
  236. package/dist/production/src/model/consts/expirations.js.map +1 -0
  237. package/dist/production/src/model/mailing/UserMailer.cjs +10 -1
  238. package/dist/production/src/model/mailing/UserMailer.cjs.map +1 -1
  239. package/dist/production/src/model/mailing/UserMailer.js +10 -1
  240. package/dist/production/src/model/mailing/UserMailer.js.map +1 -1
  241. package/dist/production/src/model/mailing/templates/PasswordlessSignIn.mustache.cjs +17 -0
  242. package/dist/production/src/model/mailing/templates/PasswordlessSignIn.mustache.cjs.map +1 -0
  243. package/dist/production/src/model/mailing/templates/PasswordlessSignIn.mustache.js +18 -0
  244. package/dist/production/src/model/mailing/templates/PasswordlessSignIn.mustache.js.map +1 -0
  245. package/dist/production/src/model/mailing/type.cjs +9 -3
  246. package/dist/production/src/model/mailing/type.cjs.map +1 -1
  247. package/dist/production/src/model/mailing/type.js +9 -3
  248. package/dist/production/src/model/mailing/type.js.map +1 -1
  249. package/dist/production/src/model/queries/configuration/ConfigurationQuery.cjs +21 -0
  250. package/dist/production/src/model/queries/configuration/ConfigurationQuery.cjs.map +1 -0
  251. package/dist/production/src/model/queries/configuration/ConfigurationQuery.js +21 -0
  252. package/dist/production/src/model/queries/configuration/ConfigurationQuery.js.map +1 -0
  253. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.cjs +1 -1
  254. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.cjs.map +1 -1
  255. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.js +1 -1
  256. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.js.map +1 -1
  257. package/dist/production/src/model/queries/personToken/PersonTokenQuery.cjs +29 -0
  258. package/dist/production/src/model/queries/personToken/PersonTokenQuery.cjs.map +1 -0
  259. package/dist/production/src/model/queries/personToken/PersonTokenQuery.js +29 -0
  260. package/dist/production/src/model/queries/personToken/PersonTokenQuery.js.map +1 -0
  261. package/dist/production/src/model/service/ConfigurationManager.cjs +27 -0
  262. package/dist/production/src/model/service/ConfigurationManager.cjs.map +1 -0
  263. package/dist/production/src/model/service/ConfigurationManager.js +27 -0
  264. package/dist/production/src/model/service/ConfigurationManager.js.map +1 -0
  265. package/dist/production/src/model/service/InviteManager.cjs +7 -7
  266. package/dist/production/src/model/service/InviteManager.cjs.map +1 -1
  267. package/dist/production/src/model/service/InviteManager.js +6 -6
  268. package/dist/production/src/model/service/InviteManager.js.map +1 -1
  269. package/dist/production/src/model/service/PasswordChangeManager.cjs +1 -1
  270. package/dist/production/src/model/service/PasswordChangeManager.js +1 -1
  271. package/dist/production/src/model/service/PasswordResetManager.cjs +7 -15
  272. package/dist/production/src/model/service/PasswordResetManager.cjs.map +1 -1
  273. package/dist/production/src/model/service/PasswordResetManager.js +7 -15
  274. package/dist/production/src/model/service/PasswordResetManager.js.map +1 -1
  275. package/dist/production/src/model/service/PasswordlessSignInManager.cjs +135 -0
  276. package/dist/production/src/model/service/PasswordlessSignInManager.cjs.map +1 -0
  277. package/dist/production/src/model/service/PasswordlessSignInManager.js +135 -0
  278. package/dist/production/src/model/service/PasswordlessSignInManager.js.map +1 -0
  279. package/dist/production/src/model/service/PersonManager.cjs +7 -0
  280. package/dist/production/src/model/service/PersonManager.cjs.map +1 -1
  281. package/dist/production/src/model/service/PersonManager.js +7 -0
  282. package/dist/production/src/model/service/PersonManager.js.map +1 -1
  283. package/dist/production/src/model/service/ProjectManager.cjs +2 -2
  284. package/dist/production/src/model/service/ProjectManager.js +2 -2
  285. package/dist/production/src/model/service/RolesManager.cjs +1 -1
  286. package/dist/production/src/model/service/RolesManager.js +1 -1
  287. package/dist/production/src/model/service/SignUpManager.cjs +1 -1
  288. package/dist/production/src/model/service/SignUpManager.js +1 -1
  289. package/dist/production/src/model/service/helpers/getPreferredProject.cjs +13 -0
  290. package/dist/production/src/model/service/helpers/getPreferredProject.cjs.map +1 -0
  291. package/dist/production/src/model/service/helpers/getPreferredProject.js +13 -0
  292. package/dist/production/src/model/service/helpers/getPreferredProject.js.map +1 -0
  293. package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs +2 -1
  294. package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
  295. package/dist/production/src/model/service/idp/providers/OIDCProvider.js +2 -1
  296. package/dist/production/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
  297. package/dist/production/src/model/service/idp/providers/OIDCTypes.cjs +2 -1
  298. package/dist/production/src/model/service/idp/providers/OIDCTypes.cjs.map +1 -1
  299. package/dist/production/src/model/service/idp/providers/OIDCTypes.js +2 -1
  300. package/dist/production/src/model/service/idp/providers/OIDCTypes.js.map +1 -1
  301. package/dist/production/src/model/utils/tokenUtils.cjs +39 -0
  302. package/dist/production/src/model/utils/tokenUtils.cjs.map +1 -1
  303. package/dist/production/src/model/utils/tokenUtils.js +40 -1
  304. package/dist/production/src/model/utils/tokenUtils.js.map +1 -1
  305. package/dist/production/src/resolvers/ResolverFactory.cjs +8 -1
  306. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  307. package/dist/production/src/resolvers/ResolverFactory.js +8 -1
  308. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  309. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +41 -0
  310. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -0
  311. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +41 -0
  312. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -0
  313. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +83 -0
  314. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -0
  315. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js +83 -0
  316. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -0
  317. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  318. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  319. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +52 -0
  320. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -0
  321. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +52 -0
  322. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -0
  323. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs +34 -0
  324. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -0
  325. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js +34 -0
  326. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -0
  327. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.cjs +1 -0
  328. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.cjs.map +1 -1
  329. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.js +1 -0
  330. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.js.map +1 -1
  331. package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  332. package/dist/production/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  333. package/dist/production/src/schema/tenant.graphql.cjs +161 -10
  334. package/dist/production/src/schema/tenant.graphql.cjs.map +1 -1
  335. package/dist/production/src/schema/tenant.graphql.js +161 -10
  336. package/dist/production/src/schema/tenant.graphql.js.map +1 -1
  337. package/dist/tests/cases/integration/mocked/sql/{createPasswordResetSql.d.ts → createPersonTokenSql.d.ts} +3 -2
  338. package/dist/tests/cases/integration/mocked/sql/createPersonTokenSql.d.ts.map +1 -0
  339. package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.d.ts.map +1 -1
  340. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  341. package/dist/types/TenantContainer.d.ts +18 -0
  342. package/dist/types/TenantContainer.d.ts.map +1 -1
  343. package/dist/types/migrations/2024-08-26-120000-passwordless.d.ts +3 -0
  344. package/dist/types/migrations/2024-08-26-120000-passwordless.d.ts.map +1 -0
  345. package/dist/types/migrations/runner.d.ts.map +1 -1
  346. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  347. package/dist/types/model/authorization/PermissionActions.d.ts +25 -0
  348. package/dist/types/model/authorization/PermissionActions.d.ts.map +1 -1
  349. package/dist/types/model/authorization/PermissionsFactory.d.ts.map +1 -1
  350. package/dist/types/model/commands/configuration/UpdateConfigurationCommand.d.ts +8 -0
  351. package/dist/types/model/commands/configuration/UpdateConfigurationCommand.d.ts.map +1 -0
  352. package/dist/types/model/commands/configuration/index.d.ts +2 -0
  353. package/dist/types/model/commands/configuration/index.d.ts.map +1 -0
  354. package/dist/types/model/commands/index.d.ts +2 -2
  355. package/dist/types/model/commands/index.d.ts.map +1 -1
  356. package/dist/types/model/commands/person/CreatePersonCommand.d.ts.map +1 -1
  357. package/dist/types/model/commands/person/TogglePersonPasswordlessCommand.d.ts +8 -0
  358. package/dist/types/model/commands/person/TogglePersonPasswordlessCommand.d.ts.map +1 -0
  359. package/dist/types/model/commands/person/index.d.ts +1 -0
  360. package/dist/types/model/commands/person/index.d.ts.map +1 -1
  361. package/dist/types/model/commands/personToken/ActivateOtpCommand.d.ts +8 -0
  362. package/dist/types/model/commands/personToken/ActivateOtpCommand.d.ts.map +1 -0
  363. package/dist/types/model/commands/personToken/CreatePersonTokenCommand.d.ts +19 -0
  364. package/dist/types/model/commands/personToken/CreatePersonTokenCommand.d.ts.map +1 -0
  365. package/dist/types/model/commands/personToken/IncreaseOtpAttemptCommand.d.ts +7 -0
  366. package/dist/types/model/commands/personToken/IncreaseOtpAttemptCommand.d.ts.map +1 -0
  367. package/dist/types/model/commands/personToken/InvalidateTokenCommand.d.ts +7 -0
  368. package/dist/types/model/commands/personToken/InvalidateTokenCommand.d.ts.map +1 -0
  369. package/dist/types/model/commands/{passwordReset → personToken}/ResetPasswordCommand.d.ts +3 -2
  370. package/dist/types/model/commands/personToken/ResetPasswordCommand.d.ts.map +1 -0
  371. package/dist/types/model/commands/personToken/SavePersonTokenCommand.d.ts +19 -0
  372. package/dist/types/model/commands/personToken/SavePersonTokenCommand.d.ts.map +1 -0
  373. package/dist/types/model/commands/personToken/index.d.ts +7 -0
  374. package/dist/types/model/commands/personToken/index.d.ts.map +1 -0
  375. package/dist/types/model/consts/expirations.d.ts +3 -0
  376. package/dist/types/model/consts/expirations.d.ts.map +1 -0
  377. package/dist/types/model/mailing/UserMailer.d.ts +10 -0
  378. package/dist/types/model/mailing/UserMailer.d.ts.map +1 -1
  379. package/dist/types/model/mailing/templates/PasswordlessSignIn.mustache.d.ts +3 -0
  380. package/dist/types/model/mailing/templates/PasswordlessSignIn.mustache.d.ts.map +1 -0
  381. package/dist/types/model/mailing/type.d.ts +2 -1
  382. package/dist/types/model/mailing/type.d.ts.map +1 -1
  383. package/dist/types/model/queries/configuration/ConfigurationQuery.d.ts +6 -0
  384. package/dist/types/model/queries/configuration/ConfigurationQuery.d.ts.map +1 -0
  385. package/dist/types/model/queries/configuration/index.d.ts +2 -0
  386. package/dist/types/model/queries/configuration/index.d.ts.map +1 -0
  387. package/dist/types/model/queries/index.d.ts +1 -0
  388. package/dist/types/model/queries/index.d.ts.map +1 -1
  389. package/dist/types/model/queries/person/PersonQueryBuilderFactory.d.ts.map +1 -1
  390. package/dist/types/model/queries/person/types.d.ts +1 -0
  391. package/dist/types/model/queries/person/types.d.ts.map +1 -1
  392. package/dist/types/model/queries/personToken/PersonTokenQuery.d.ts +12 -0
  393. package/dist/types/model/queries/personToken/PersonTokenQuery.d.ts.map +1 -0
  394. package/dist/types/model/service/ConfigurationManager.d.ts +9 -0
  395. package/dist/types/model/service/ConfigurationManager.d.ts.map +1 -0
  396. package/dist/types/model/service/InviteManager.d.ts.map +1 -1
  397. package/dist/types/model/service/PasswordResetManager.d.ts +1 -1
  398. package/dist/types/model/service/PasswordResetManager.d.ts.map +1 -1
  399. package/dist/types/model/service/PasswordlessSignInManager.d.ts +54 -0
  400. package/dist/types/model/service/PasswordlessSignInManager.d.ts.map +1 -0
  401. package/dist/types/model/service/PersonManager.d.ts +1 -0
  402. package/dist/types/model/service/PersonManager.d.ts.map +1 -1
  403. package/dist/types/model/service/PersonTokenManager.d.ts +3 -0
  404. package/dist/types/model/service/PersonTokenManager.d.ts.map +1 -0
  405. package/dist/types/model/service/helpers/getPreferredProject.d.ts +3 -0
  406. package/dist/types/model/service/helpers/getPreferredProject.d.ts.map +1 -0
  407. package/dist/types/model/service/idp/providers/AppleProvider.d.ts +2 -0
  408. package/dist/types/model/service/idp/providers/AppleProvider.d.ts.map +1 -1
  409. package/dist/types/model/service/idp/providers/FacebookProvider.d.ts +2 -0
  410. package/dist/types/model/service/idp/providers/FacebookProvider.d.ts.map +1 -1
  411. package/dist/types/model/service/idp/providers/OIDCProvider.d.ts +1 -0
  412. package/dist/types/model/service/idp/providers/OIDCProvider.d.ts.map +1 -1
  413. package/dist/types/model/service/idp/providers/OIDCTypes.d.ts +9 -5
  414. package/dist/types/model/service/idp/providers/OIDCTypes.d.ts.map +1 -1
  415. package/dist/types/model/type/PersonToken.d.ts +16 -0
  416. package/dist/types/model/type/PersonToken.d.ts.map +1 -0
  417. package/dist/types/model/type/index.d.ts +1 -0
  418. package/dist/types/model/type/index.d.ts.map +1 -1
  419. package/dist/types/model/utils/tokenUtils.d.ts +8 -0
  420. package/dist/types/model/utils/tokenUtils.d.ts.map +1 -1
  421. package/dist/types/resolvers/ResolverFactory.d.ts +8 -0
  422. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  423. package/dist/types/resolvers/mutation/configuration/ConfigurationMutationResolver.d.ts +9 -0
  424. package/dist/types/resolvers/mutation/configuration/ConfigurationMutationResolver.d.ts.map +1 -0
  425. package/dist/types/resolvers/mutation/person/PasswordlessMutationResolver.d.ts +13 -0
  426. package/dist/types/resolvers/mutation/person/PasswordlessMutationResolver.d.ts.map +1 -0
  427. package/dist/types/resolvers/mutation/person/ResetPasswordMutationResolver.d.ts.map +1 -1
  428. package/dist/types/resolvers/mutation/person/TogglePasswordlessMutationResolver.d.ts +13 -0
  429. package/dist/types/resolvers/mutation/person/TogglePasswordlessMutationResolver.d.ts.map +1 -0
  430. package/dist/types/resolvers/query/ConfigurationQueryResolver.d.ts +9 -0
  431. package/dist/types/resolvers/query/ConfigurationQueryResolver.d.ts.map +1 -0
  432. package/dist/types/resolvers/responseHelpers/PersonResponseFactory.d.ts.map +1 -1
  433. package/dist/types/resolvers/types/ProjectTypeResolver.d.ts +3 -3
  434. package/dist/types/schema/index.d.ts +360 -38
  435. package/dist/types/schema/index.d.ts.map +1 -1
  436. package/dist/types/schema/tenant.graphql.d.ts.map +1 -1
  437. package/dist/types/tsconfig.tsbuildinfo +1 -1
  438. package/dist/types/utils/batchQuery.d.ts.map +1 -1
  439. package/{graphql-tenant.codegen.yml → graphql.codegen.yml} +1 -1
  440. package/package.json +22 -26
  441. package/src/TenantContainer.ts +18 -0
  442. package/src/migrations/2024-08-26-120000-passwordless.ts +31 -0
  443. package/src/migrations/runner.ts +2 -0
  444. package/src/migrations/snapshot-template-end.txt +3 -0
  445. package/src/migrations/snapshot.ts +33 -5
  446. package/src/model/authorization/PermissionActions.ts +7 -0
  447. package/src/model/authorization/PermissionsFactory.ts +5 -0
  448. package/src/model/commands/configuration/UpdateConfigurationCommand.ts +26 -0
  449. package/src/model/commands/configuration/index.ts +1 -0
  450. package/src/model/commands/index.ts +2 -2
  451. package/src/model/commands/person/CreatePersonCommand.ts +1 -0
  452. package/src/model/commands/person/TogglePersonPasswordlessCommand.ts +18 -0
  453. package/src/model/commands/person/index.ts +1 -0
  454. package/src/model/commands/personToken/ActivateOtpCommand.ts +24 -0
  455. package/src/model/commands/personToken/CreatePersonTokenCommand.ts +42 -0
  456. package/src/model/commands/personToken/IncreaseOtpAttemptCommand.ts +23 -0
  457. package/src/model/commands/personToken/InvalidateTokenCommand.ts +22 -0
  458. package/src/model/commands/personToken/ResetPasswordCommand.ts +28 -0
  459. package/src/model/commands/personToken/SavePersonTokenCommand.ts +42 -0
  460. package/src/model/commands/personToken/index.ts +6 -0
  461. package/src/model/consts/expirations.ts +2 -0
  462. package/src/model/mailing/UserMailer.ts +14 -0
  463. package/src/model/mailing/templates/PasswordlessSignIn.mustache.ts +15 -0
  464. package/src/model/mailing/type.ts +3 -0
  465. package/src/model/queries/configuration/ConfigurationQuery.ts +30 -0
  466. package/src/model/queries/configuration/index.ts +1 -0
  467. package/src/model/queries/index.ts +1 -0
  468. package/src/model/queries/person/PersonQueryBuilderFactory.ts +1 -0
  469. package/src/model/queries/person/types.ts +1 -0
  470. package/src/model/queries/personToken/PersonTokenQuery.ts +35 -0
  471. package/src/model/service/ConfigurationManager.ts +22 -0
  472. package/src/model/service/InviteManager.ts +5 -6
  473. package/src/model/service/PasswordResetManager.ts +4 -10
  474. package/src/model/service/PasswordlessSignInManager.ts +190 -0
  475. package/src/model/service/PersonManager.ts +6 -0
  476. package/src/model/service/PersonTokenManager.ts +2 -0
  477. package/src/model/service/helpers/getPreferredProject.ts +11 -0
  478. package/src/model/service/idp/providers/OIDCProvider.ts +1 -0
  479. package/src/model/service/idp/providers/OIDCTypes.ts +1 -0
  480. package/src/model/type/PersonToken.ts +21 -0
  481. package/src/model/type/index.ts +1 -0
  482. package/src/model/utils/tokenUtils.ts +47 -0
  483. package/src/resolvers/ResolverFactory.ts +19 -0
  484. package/src/resolvers/mutation/configuration/ConfigurationMutationResolver.ts +29 -0
  485. package/src/resolvers/mutation/person/PasswordlessMutationResolver.ts +81 -0
  486. package/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts +1 -10
  487. package/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.ts +44 -0
  488. package/src/resolvers/query/ConfigurationQueryResolver.ts +21 -0
  489. package/src/resolvers/responseHelpers/PersonResponseFactory.ts +1 -0
  490. package/src/resolvers/types/ProjectTypeResolver.ts +3 -3
  491. package/src/schema/index.ts +360 -35
  492. package/src/schema/tenant.graphql.ts +161 -10
  493. package/tests/cases/integration/mocked/inviteMutations.test.ts +2 -2
  494. package/tests/cases/integration/mocked/sql/{createPasswordResetSql.ts → createPersonTokenSql.ts} +5 -3
  495. package/tests/cases/integration/mocked/sql/getPersonByEmailSql.ts +2 -1
  496. package/tests/cases/integration/mocked/sql/getPersonByIdSql.ts +1 -1
  497. package/tests/cases/integration/mocked/sql/getPersonByIdentity.ts +1 -1
  498. package/tests/cases/integration/mocked/sql/getPersonByIdpSql.ts +1 -1
  499. package/dist/development/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.cjs +0 -30
  500. package/dist/development/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.cjs.map +0 -1
  501. package/dist/development/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.js +0 -30
  502. package/dist/development/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.js.map +0 -1
  503. package/dist/development/src/model/commands/passwordReset/ResetPasswordCommand.cjs +0 -38
  504. package/dist/development/src/model/commands/passwordReset/ResetPasswordCommand.cjs.map +0 -1
  505. package/dist/development/src/model/commands/passwordReset/ResetPasswordCommand.js +0 -38
  506. package/dist/development/src/model/commands/passwordReset/ResetPasswordCommand.js.map +0 -1
  507. package/dist/development/src/model/commands/passwordReset/SavePasswordResetRequestCommand.cjs +0 -24
  508. package/dist/development/src/model/commands/passwordReset/SavePasswordResetRequestCommand.cjs.map +0 -1
  509. package/dist/development/src/model/commands/passwordReset/SavePasswordResetRequestCommand.js +0 -24
  510. package/dist/development/src/model/commands/passwordReset/SavePasswordResetRequestCommand.js.map +0 -1
  511. package/dist/production/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.cjs +0 -30
  512. package/dist/production/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.cjs.map +0 -1
  513. package/dist/production/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.js +0 -30
  514. package/dist/production/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.js.map +0 -1
  515. package/dist/production/src/model/commands/passwordReset/ResetPasswordCommand.cjs +0 -38
  516. package/dist/production/src/model/commands/passwordReset/ResetPasswordCommand.cjs.map +0 -1
  517. package/dist/production/src/model/commands/passwordReset/ResetPasswordCommand.js +0 -38
  518. package/dist/production/src/model/commands/passwordReset/ResetPasswordCommand.js.map +0 -1
  519. package/dist/production/src/model/commands/passwordReset/SavePasswordResetRequestCommand.cjs +0 -24
  520. package/dist/production/src/model/commands/passwordReset/SavePasswordResetRequestCommand.cjs.map +0 -1
  521. package/dist/production/src/model/commands/passwordReset/SavePasswordResetRequestCommand.js +0 -24
  522. package/dist/production/src/model/commands/passwordReset/SavePasswordResetRequestCommand.js.map +0 -1
  523. package/dist/tests/cases/integration/mocked/sql/createPasswordResetSql.d.ts.map +0 -1
  524. package/dist/types/model/commands/passwordReset/CreatePasswordResetRequestCommand.d.ts +0 -12
  525. package/dist/types/model/commands/passwordReset/CreatePasswordResetRequestCommand.d.ts.map +0 -1
  526. package/dist/types/model/commands/passwordReset/ResetPasswordCommand.d.ts.map +0 -1
  527. package/dist/types/model/commands/passwordReset/SavePasswordResetRequestCommand.d.ts +0 -10
  528. package/dist/types/model/commands/passwordReset/SavePasswordResetRequestCommand.d.ts.map +0 -1
  529. package/dist/types/model/commands/passwordReset/index.d.ts +0 -4
  530. package/dist/types/model/commands/passwordReset/index.d.ts.map +0 -1
  531. package/src/model/commands/passwordReset/CreatePasswordResetRequestCommand.ts +0 -25
  532. package/src/model/commands/passwordReset/ResetPasswordCommand.ts +0 -57
  533. package/src/model/commands/passwordReset/SavePasswordResetRequestCommand.ts +0 -28
  534. package/src/model/commands/passwordReset/index.ts +0 -3
@@ -0,0 +1,81 @@
1
+ import {
2
+ ActivatePasswordlessOtpResponse,
3
+ InitSignInPasswordlessResponse, MutationActivatePasswordlessOtpArgs,
4
+ MutationInitSignInPasswordlessArgs,
5
+ MutationResolvers,
6
+ MutationSignInPasswordlessArgs,
7
+ SignInPasswordlessResponse,
8
+ } from '../../../schema'
9
+ import { TenantResolverContext } from '../../TenantResolverContext'
10
+ import { PermissionActions } from '../../../model'
11
+ import { createErrorResponse } from '../../errorUtils'
12
+ import { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'
13
+ import { PasswordlessSignInManager } from '../../../model/service/PasswordlessSignInManager'
14
+
15
+ export class PasswordlessMutationResolver implements Pick<MutationResolvers, 'initSignInPasswordless' | 'signInPasswordless' | 'activatePasswordlessOtp'> {
16
+ constructor(
17
+ private readonly passwordlessSignInManager: PasswordlessSignInManager,
18
+ private readonly signInResponseFactory: SignInResponseFactory,
19
+ ) {}
20
+
21
+ async initSignInPasswordless(
22
+ parent: any,
23
+ args: MutationInitSignInPasswordlessArgs,
24
+ context: TenantResolverContext,
25
+ ): Promise<InitSignInPasswordlessResponse> {
26
+ await context.requireAccess({
27
+ action: PermissionActions.PERSON_REQUEST_PASSWORDLESS_SIGN_IN,
28
+ message: 'You are not allowed to request passwordless sign in',
29
+ })
30
+ const result = await this.passwordlessSignInManager.initSignInPasswordless({
31
+ db: context.db,
32
+ permissionContext: context.permissionContext,
33
+ email: args.email,
34
+ mailVariant: args.options?.mailVariant ?? undefined,
35
+ mailProject: args.options?.mailProject ?? undefined,
36
+ })
37
+ if (!result.ok) {
38
+ return createErrorResponse(result.error, result.errorMessage)
39
+ }
40
+ return { ok: true, result: result.result }
41
+ }
42
+
43
+ async signInPasswordless(parent: any, args: MutationSignInPasswordlessArgs, context: TenantResolverContext): Promise<SignInPasswordlessResponse> {
44
+ await context.requireAccess({
45
+ action: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,
46
+ message: 'You are not allowed to sign in using passwordless',
47
+ })
48
+ const signIn = await this.passwordlessSignInManager.signInPasswordless({
49
+ db: context.db,
50
+ requestId: args.requestId,
51
+ token: args.token,
52
+ mfaOtp: args.mfaOtp ?? undefined,
53
+ validationType: args.validationType,
54
+ expiration: args.expiration ?? undefined,
55
+ })
56
+ if (!signIn.ok) {
57
+ return createErrorResponse(signIn.error, signIn.errorMessage)
58
+ }
59
+ return {
60
+ ok: true,
61
+ result: await this.signInResponseFactory.createResponse(signIn.result, context),
62
+ }
63
+ }
64
+
65
+ async activatePasswordlessOtp(parent: any, args: MutationActivatePasswordlessOtpArgs, context: TenantResolverContext): Promise<ActivatePasswordlessOtpResponse> {
66
+ await context.requireAccess({
67
+ action: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,
68
+ message: 'You are not allowed to activate passwordless OTP',
69
+ })
70
+ const result = await this.passwordlessSignInManager.activatePasswordlessOtp({
71
+ db: context.db,
72
+ requestId: args.requestId,
73
+ token: args.token,
74
+ otpHash: args.otpHash,
75
+ })
76
+ if (!result.ok) {
77
+ return createErrorResponse(result.error, result.errorMessage)
78
+ }
79
+ return { ok: true }
80
+ }
81
+ }
@@ -1,22 +1,13 @@
1
1
  import {
2
- CreatePasswordResetRequestErrorCode,
3
2
  CreatePasswordResetRequestResponse,
4
3
  MutationCreateResetPasswordRequestArgs,
5
4
  MutationResetPasswordArgs,
6
5
  MutationResolvers,
7
- ResetPasswordErrorCode as SchemaResetPasswordErrorCode,
8
6
  ResetPasswordResponse,
9
7
  } from '../../../schema'
10
8
  import { GraphQLResolveInfo } from 'graphql'
11
9
  import { TenantResolverContext } from '../../TenantResolverContext'
12
- import {
13
- PasswordResetManager,
14
- PermissionActions,
15
- PermissionContextFactory,
16
- PersonQuery,
17
- ResetPasswordCommandErrorCode,
18
- ResetPasswordErrorCode,
19
- } from '../../../model'
10
+ import { PasswordResetManager, PermissionActions, PermissionContextFactory, PersonQuery } from '../../../model'
20
11
  import { createErrorResponse } from '../../errorUtils'
21
12
 
22
13
  export class ResetPasswordMutationResolver implements MutationResolvers {
@@ -0,0 +1,44 @@
1
+ import { MutationResolvers, ToggleMyPasswordlessResponse } from '../../../schema'
2
+ import { ConfigurationManager } from '../../../model/service/ConfigurationManager'
3
+ import { TenantResolverContext } from '../../TenantResolverContext'
4
+ import { PermissionActions, PersonManager, PersonQuery } from '../../../model'
5
+ import { createErrorResponse } from '../../errorUtils'
6
+
7
+ export class TogglePasswordlessMutationResolver implements Pick<MutationResolvers, 'enableMyPasswordless' | 'disableMyPasswordless'> {
8
+ constructor(
9
+ private readonly configurationManager: ConfigurationManager,
10
+ private readonly personManager: PersonManager,
11
+ ) {
12
+ }
13
+
14
+ async enableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {
15
+ return this.doTogglePasswordless(context, true)
16
+ }
17
+
18
+ async disableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {
19
+ return this.doTogglePasswordless(context, false)
20
+ }
21
+
22
+ private async doTogglePasswordless(
23
+ context: TenantResolverContext,
24
+ value: boolean,
25
+ ): Promise<ToggleMyPasswordlessResponse> {
26
+ const person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))
27
+ if (!person) {
28
+ return createErrorResponse('NOT_A_PERSON', 'Only a person can change a password')
29
+ }
30
+ await context.requireAccess({
31
+ action: PermissionActions.PERSON_TOGGLE_PASSWORDLESS,
32
+ message: 'You are not allowed to enable passwordless',
33
+ })
34
+ const config = await this.configurationManager.fetchConfiguration(context.db)
35
+ if (config.passwordless?.enabled === 'always' || config.passwordless?.enabled === 'never') {
36
+ return createErrorResponse('CANNOT_TOGGLE', 'Passwordless is configured globally and cannot be toggled')
37
+ }
38
+
39
+ await this.personManager.togglePasswordless(context.db, person, value)
40
+
41
+ return { ok: true }
42
+ }
43
+
44
+ }
@@ -0,0 +1,21 @@
1
+ import { Config, QueryResolvers } from '../../schema'
2
+ import { PermissionActions } from '../../model'
3
+ import { TenantResolverContext } from '../TenantResolverContext'
4
+ import { ConfigurationManager } from '../../model/service/ConfigurationManager'
5
+
6
+ export class ConfigurationQueryResolver implements Pick<QueryResolvers, 'configuration'> {
7
+
8
+ constructor(
9
+ private readonly configurationManager: ConfigurationManager,
10
+ ) {
11
+ }
12
+
13
+ async configuration(parent: unknown, args: unknown, context: TenantResolverContext): Promise<Config> {
14
+ await context.requireAccess({
15
+ action: PermissionActions.CONFIG_VIEW,
16
+ message: 'You are not allowed to view configuration',
17
+ })
18
+
19
+ return await this.configurationManager.fetchConfiguration(context.db)
20
+ }
21
+ }
@@ -8,6 +8,7 @@ export class PersonResponseFactory {
8
8
  otpEnabled: !!personRow.otp_activated_at,
9
9
  email: personRow.email,
10
10
  name: personRow.name,
11
+ passwordlessEnabled: personRow.passwordless_enabled,
11
12
  identity: {
12
13
  id: personRow.identity_id,
13
14
  projects,
@@ -48,11 +48,11 @@ export class ProjectTypeResolver implements ProjectResolvers {
48
48
  variables: Object.entries(getRoleVariables(role, schema.acl)).map(([name, variableDef]) => {
49
49
  switch (variableDef.type) {
50
50
  case Acl.VariableType.entity:
51
- return { __typename: 'RoleEntityVariableDefinition', name, entityName: variableDef.entityName }
51
+ return { __typename: 'RoleEntityVariableDefinition' as const, name, entityName: variableDef.entityName }
52
52
  case Acl.VariableType.predefined:
53
- return { __typename: 'RolePredefinedVariableDefinition', name, value: variableDef.value }
53
+ return { __typename: 'RolePredefinedVariableDefinition' as const, name, value: variableDef.value }
54
54
  case Acl.VariableType.condition:
55
- return { __typename: 'RoleConditionVariableDefinition', name }
55
+ return { __typename: 'RoleConditionVariableDefinition' as const, name }
56
56
  }
57
57
  }),
58
58
  }))