@contember/engine-tenant-api 2.1.0-alpha.16 → 2.1.0-alpha.17

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 (740) hide show
  1. package/dist/development/index.cjs +5 -6
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +2 -3
  4. package/dist/development/src/TenantContainer.cjs +4 -2
  5. package/dist/development/src/TenantContainer.cjs.map +1 -1
  6. package/dist/development/src/TenantContainer.js +4 -2
  7. package/dist/development/src/TenantContainer.js.map +1 -1
  8. package/dist/development/src/bridges/system/IdentityFetcher.cjs +1 -0
  9. package/dist/development/src/bridges/system/IdentityFetcher.cjs.map +1 -1
  10. package/dist/development/src/bridges/system/IdentityFetcher.js +1 -0
  11. package/dist/development/src/bridges/system/IdentityFetcher.js.map +1 -1
  12. package/dist/development/src/migrations/2025-04-16-180000-config-up.cjs +39 -0
  13. package/dist/development/src/migrations/2025-04-16-180000-config-up.cjs.map +1 -0
  14. package/dist/development/src/migrations/2025-04-16-180000-config-up.js +40 -0
  15. package/dist/development/src/migrations/2025-04-16-180000-config-up.js.map +1 -0
  16. package/dist/development/src/migrations/2025-04-17-160000-auth-log.cjs +45 -0
  17. package/dist/development/src/migrations/2025-04-17-160000-auth-log.cjs.map +1 -0
  18. package/dist/development/src/migrations/2025-04-17-160000-auth-log.js +46 -0
  19. package/dist/development/src/migrations/2025-04-17-160000-auth-log.js.map +1 -0
  20. package/dist/development/src/migrations/runner.cjs +9 -4
  21. package/dist/development/src/migrations/runner.cjs.map +1 -1
  22. package/dist/development/src/migrations/runner.js +7 -2
  23. package/dist/development/src/migrations/runner.js.map +1 -1
  24. package/dist/development/src/migrations/snapshot.cjs +56 -1
  25. package/dist/development/src/migrations/snapshot.cjs.map +1 -1
  26. package/dist/development/src/migrations/snapshot.js +56 -1
  27. package/dist/development/src/migrations/snapshot.js.map +1 -1
  28. package/dist/development/src/model/commands/apiKey/CreateApiKeyCommand.cjs +7 -7
  29. package/dist/development/src/model/commands/apiKey/CreateApiKeyCommand.cjs.map +1 -1
  30. package/dist/development/src/model/commands/apiKey/CreateApiKeyCommand.js +1 -1
  31. package/dist/development/src/model/commands/authLog/CreateAuthLogEntryCommand.cjs +27 -0
  32. package/dist/development/src/model/commands/authLog/CreateAuthLogEntryCommand.cjs.map +1 -0
  33. package/dist/development/src/model/commands/authLog/CreateAuthLogEntryCommand.js +27 -0
  34. package/dist/development/src/model/commands/authLog/CreateAuthLogEntryCommand.js.map +1 -0
  35. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.cjs +15 -2
  36. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.cjs.map +1 -1
  37. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.js +15 -2
  38. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.js.map +1 -1
  39. package/dist/development/src/model/commands/personToken/CreatePersonTokenCommand.cjs +4 -4
  40. package/dist/development/src/model/commands/personToken/CreatePersonTokenCommand.cjs.map +1 -1
  41. package/dist/development/src/model/commands/personToken/CreatePersonTokenCommand.js +1 -1
  42. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.cjs +5 -5
  43. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.cjs.map +1 -1
  44. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.js +1 -1
  45. package/dist/development/src/model/queries/apiKey/ApiKeyQuery.cjs +4 -4
  46. package/dist/development/src/model/queries/apiKey/ApiKeyQuery.cjs.map +1 -1
  47. package/dist/development/src/model/queries/apiKey/ApiKeyQuery.js +1 -1
  48. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.cjs +46 -0
  49. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.cjs.map +1 -0
  50. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.js +46 -0
  51. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.js.map +1 -0
  52. package/dist/development/src/model/queries/configuration/ConfigurationQuery.cjs +18 -1
  53. package/dist/development/src/model/queries/configuration/ConfigurationQuery.cjs.map +1 -1
  54. package/dist/development/src/model/queries/configuration/ConfigurationQuery.js +18 -1
  55. package/dist/development/src/model/queries/configuration/ConfigurationQuery.js.map +1 -1
  56. package/dist/development/src/model/queries/personToken/PersonTokenQuery.cjs +3 -3
  57. package/dist/development/src/model/queries/personToken/PersonTokenQuery.cjs.map +1 -1
  58. package/dist/development/src/model/queries/personToken/PersonTokenQuery.js +1 -1
  59. package/dist/development/src/model/service/AuthLogService.cjs +34 -0
  60. package/dist/development/src/model/service/AuthLogService.cjs.map +1 -0
  61. package/dist/development/src/model/service/AuthLogService.js +34 -0
  62. package/dist/development/src/model/service/AuthLogService.js.map +1 -0
  63. package/dist/development/src/model/service/ConfigurationManager.cjs +0 -10
  64. package/dist/development/src/model/service/ConfigurationManager.cjs.map +1 -1
  65. package/dist/development/src/model/service/ConfigurationManager.js +0 -10
  66. package/dist/development/src/model/service/ConfigurationManager.js.map +1 -1
  67. package/dist/development/src/model/service/IDPSignInManager.cjs +37 -5
  68. package/dist/development/src/model/service/IDPSignInManager.cjs.map +1 -1
  69. package/dist/development/src/model/service/IDPSignInManager.js +37 -5
  70. package/dist/development/src/model/service/IDPSignInManager.js.map +1 -1
  71. package/dist/development/src/model/service/PasswordChangeManager.cjs +21 -12
  72. package/dist/development/src/model/service/PasswordChangeManager.cjs.map +1 -1
  73. package/dist/development/src/model/service/PasswordChangeManager.js +20 -11
  74. package/dist/development/src/model/service/PasswordChangeManager.js.map +1 -1
  75. package/dist/development/src/model/service/PasswordResetManager.cjs +40 -8
  76. package/dist/development/src/model/service/PasswordResetManager.cjs.map +1 -1
  77. package/dist/development/src/model/service/PasswordResetManager.js +40 -8
  78. package/dist/development/src/model/service/PasswordResetManager.js.map +1 -1
  79. package/dist/development/src/model/service/PasswordStrengthValidator.cjs +63 -0
  80. package/dist/development/src/model/service/PasswordStrengthValidator.cjs.map +1 -0
  81. package/dist/development/src/model/service/PasswordStrengthValidator.js +63 -0
  82. package/dist/development/src/model/service/PasswordStrengthValidator.js.map +1 -0
  83. package/dist/development/src/model/service/PasswordlessSignInManager.cjs +89 -24
  84. package/dist/development/src/model/service/PasswordlessSignInManager.cjs.map +1 -1
  85. package/dist/development/src/model/service/PasswordlessSignInManager.js +81 -16
  86. package/dist/development/src/model/service/PasswordlessSignInManager.js.map +1 -1
  87. package/dist/development/src/model/service/PersonAccessManager.cjs +7 -29
  88. package/dist/development/src/model/service/PersonAccessManager.cjs.map +1 -1
  89. package/dist/development/src/model/service/PersonAccessManager.js +7 -29
  90. package/dist/development/src/model/service/PersonAccessManager.js.map +1 -1
  91. package/dist/development/src/model/service/SignInManager.cjs +56 -31
  92. package/dist/development/src/model/service/SignInManager.cjs.map +1 -1
  93. package/dist/development/src/model/service/SignInManager.js +57 -32
  94. package/dist/development/src/model/service/SignInManager.js.map +1 -1
  95. package/dist/development/src/model/service/SignUpManager.cjs +13 -8
  96. package/dist/development/src/model/service/SignUpManager.cjs.map +1 -1
  97. package/dist/development/src/model/service/SignUpManager.js +11 -6
  98. package/dist/development/src/model/service/SignUpManager.js.map +1 -1
  99. package/dist/development/src/model/service/apiKey/ApiKeyManager.cjs +6 -1
  100. package/dist/development/src/model/service/apiKey/ApiKeyManager.cjs.map +1 -1
  101. package/dist/development/src/model/service/apiKey/ApiKeyManager.js +6 -1
  102. package/dist/development/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
  103. package/dist/development/src/model/utils/Response.cjs +2 -1
  104. package/dist/development/src/model/utils/Response.cjs.map +1 -1
  105. package/dist/development/src/model/utils/Response.js +2 -1
  106. package/dist/development/src/model/utils/Response.js.map +1 -1
  107. package/dist/development/src/model/utils/blacklist.cjs +10006 -0
  108. package/dist/development/src/model/utils/blacklist.cjs.map +1 -0
  109. package/dist/development/src/model/utils/blacklist.js +10006 -0
  110. package/dist/development/src/model/utils/blacklist.js.map +1 -0
  111. package/dist/{production/src/model/utils/typeUtils.cjs → development/src/model/utils/hex.cjs} +1 -1
  112. package/dist/development/src/model/utils/hex.cjs.map +1 -0
  113. package/dist/development/src/model/utils/{typeUtils.js → hex.js} +1 -1
  114. package/dist/development/src/model/utils/hex.js.map +1 -0
  115. package/dist/development/src/model/utils/interval.cjs +8 -0
  116. package/dist/development/src/model/utils/interval.cjs.map +1 -0
  117. package/dist/development/src/model/utils/interval.js +8 -0
  118. package/dist/development/src/model/utils/interval.js.map +1 -0
  119. package/dist/development/src/model/utils/{tokenUtils.cjs → token.cjs} +3 -3
  120. package/dist/development/src/model/utils/token.cjs.map +1 -0
  121. package/dist/development/src/model/utils/{tokenUtils.js → token.js} +2 -2
  122. package/dist/development/src/model/utils/token.js.map +1 -0
  123. package/dist/development/src/resolvers/ResolverFactory.cjs +1 -0
  124. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  125. package/dist/development/src/resolvers/ResolverFactory.js +2 -1
  126. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  127. package/dist/development/src/resolvers/TenantResolverContextFactory.cjs +10 -2
  128. package/dist/development/src/resolvers/TenantResolverContextFactory.cjs.map +1 -1
  129. package/dist/development/src/resolvers/TenantResolverContextFactory.js +10 -2
  130. package/dist/development/src/resolvers/TenantResolverContextFactory.js.map +1 -1
  131. package/dist/development/src/resolvers/errorUtils.cjs +15 -4
  132. package/dist/development/src/resolvers/errorUtils.cjs.map +1 -1
  133. package/dist/development/src/resolvers/errorUtils.js +15 -4
  134. package/dist/development/src/resolvers/errorUtils.js.map +1 -1
  135. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +4 -3
  136. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
  137. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +2 -1
  138. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
  139. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +1 -0
  140. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
  141. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +1 -0
  142. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
  143. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +1 -0
  144. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
  145. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +1 -0
  146. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
  147. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +1 -0
  148. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
  149. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +1 -0
  150. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
  151. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +1 -0
  152. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
  153. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js +1 -0
  154. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
  155. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +1 -0
  156. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
  157. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +1 -0
  158. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
  159. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +1 -0
  160. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
  161. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +1 -0
  162. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
  163. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +1 -0
  164. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
  165. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +1 -0
  166. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
  167. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +1 -0
  168. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
  169. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +1 -0
  170. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
  171. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +17 -6
  172. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
  173. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +17 -6
  174. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
  175. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +14 -0
  176. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
  177. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +14 -0
  178. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
  179. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +7 -1
  180. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  181. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js +7 -1
  182. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  183. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs +5 -0
  184. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
  185. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js +5 -0
  186. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
  187. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs +3 -2
  188. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
  189. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js +2 -1
  190. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
  191. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs +26 -1
  192. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
  193. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js +26 -1
  194. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
  195. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +20 -0
  196. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
  197. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js +20 -0
  198. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
  199. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +25 -2
  200. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  201. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +25 -2
  202. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  203. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs +22 -0
  204. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
  205. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js +22 -0
  206. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
  207. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs +1 -0
  208. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
  209. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js +1 -0
  210. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
  211. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs +2 -1
  212. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
  213. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js +2 -1
  214. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
  215. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +3 -1
  216. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
  217. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +3 -1
  218. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
  219. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +3 -2
  220. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
  221. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js +2 -1
  222. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
  223. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +1 -0
  224. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
  225. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +1 -0
  226. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
  227. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +1 -0
  228. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
  229. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +1 -0
  230. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
  231. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +1 -0
  232. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
  233. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +1 -0
  234. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
  235. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +1 -0
  236. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
  237. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +1 -0
  238. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
  239. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +1 -0
  240. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
  241. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +1 -0
  242. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
  243. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs +3 -1
  244. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
  245. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js +3 -1
  246. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
  247. package/dist/development/src/resolvers/query/IDPQueryResolver.cjs +1 -0
  248. package/dist/development/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
  249. package/dist/development/src/resolvers/query/IDPQueryResolver.js +1 -0
  250. package/dist/development/src/resolvers/query/IDPQueryResolver.js.map +1 -1
  251. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs +1 -0
  252. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
  253. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js +1 -0
  254. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
  255. package/dist/development/src/resolvers/query/PersonQueryResolver.cjs +1 -0
  256. package/dist/development/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
  257. package/dist/development/src/resolvers/query/PersonQueryResolver.js +1 -0
  258. package/dist/development/src/resolvers/query/PersonQueryResolver.js.map +1 -1
  259. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs +1 -0
  260. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
  261. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js +1 -0
  262. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
  263. package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs +1 -0
  264. package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
  265. package/dist/development/src/resolvers/query/ProjectQueryResolver.js +1 -0
  266. package/dist/development/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
  267. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs +1 -0
  268. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
  269. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js +1 -0
  270. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
  271. package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs +1 -0
  272. package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
  273. package/dist/development/src/resolvers/types/IdentityTypeResolver.js +1 -0
  274. package/dist/development/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
  275. package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs +1 -0
  276. package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  277. package/dist/development/src/resolvers/types/ProjectTypeResolver.js +1 -0
  278. package/dist/development/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  279. package/dist/development/src/schema/tenant.graphql.cjs +64 -2
  280. package/dist/development/src/schema/tenant.graphql.cjs.map +1 -1
  281. package/dist/development/src/schema/tenant.graphql.js +64 -2
  282. package/dist/development/src/schema/tenant.graphql.js.map +1 -1
  283. package/dist/production/index.cjs +5 -6
  284. package/dist/production/index.cjs.map +1 -1
  285. package/dist/production/index.js +2 -3
  286. package/dist/production/src/TenantContainer.cjs +4 -2
  287. package/dist/production/src/TenantContainer.cjs.map +1 -1
  288. package/dist/production/src/TenantContainer.js +4 -2
  289. package/dist/production/src/TenantContainer.js.map +1 -1
  290. package/dist/production/src/bridges/system/IdentityFetcher.cjs +1 -0
  291. package/dist/production/src/bridges/system/IdentityFetcher.cjs.map +1 -1
  292. package/dist/production/src/bridges/system/IdentityFetcher.js +1 -0
  293. package/dist/production/src/bridges/system/IdentityFetcher.js.map +1 -1
  294. package/dist/production/src/migrations/2025-04-16-180000-config-up.cjs +39 -0
  295. package/dist/production/src/migrations/2025-04-16-180000-config-up.cjs.map +1 -0
  296. package/dist/production/src/migrations/2025-04-16-180000-config-up.js +40 -0
  297. package/dist/production/src/migrations/2025-04-16-180000-config-up.js.map +1 -0
  298. package/dist/production/src/migrations/2025-04-17-160000-auth-log.cjs +45 -0
  299. package/dist/production/src/migrations/2025-04-17-160000-auth-log.cjs.map +1 -0
  300. package/dist/production/src/migrations/2025-04-17-160000-auth-log.js +46 -0
  301. package/dist/production/src/migrations/2025-04-17-160000-auth-log.js.map +1 -0
  302. package/dist/production/src/migrations/runner.cjs +9 -4
  303. package/dist/production/src/migrations/runner.cjs.map +1 -1
  304. package/dist/production/src/migrations/runner.js +7 -2
  305. package/dist/production/src/migrations/runner.js.map +1 -1
  306. package/dist/production/src/migrations/snapshot.cjs +56 -1
  307. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  308. package/dist/production/src/migrations/snapshot.js +56 -1
  309. package/dist/production/src/migrations/snapshot.js.map +1 -1
  310. package/dist/production/src/model/commands/apiKey/CreateApiKeyCommand.cjs +7 -7
  311. package/dist/production/src/model/commands/apiKey/CreateApiKeyCommand.cjs.map +1 -1
  312. package/dist/production/src/model/commands/apiKey/CreateApiKeyCommand.js +1 -1
  313. package/dist/production/src/model/commands/authLog/CreateAuthLogEntryCommand.cjs +27 -0
  314. package/dist/production/src/model/commands/authLog/CreateAuthLogEntryCommand.cjs.map +1 -0
  315. package/dist/production/src/model/commands/authLog/CreateAuthLogEntryCommand.js +27 -0
  316. package/dist/production/src/model/commands/authLog/CreateAuthLogEntryCommand.js.map +1 -0
  317. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.cjs +15 -2
  318. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.cjs.map +1 -1
  319. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.js +15 -2
  320. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.js.map +1 -1
  321. package/dist/production/src/model/commands/personToken/CreatePersonTokenCommand.cjs +4 -4
  322. package/dist/production/src/model/commands/personToken/CreatePersonTokenCommand.cjs.map +1 -1
  323. package/dist/production/src/model/commands/personToken/CreatePersonTokenCommand.js +1 -1
  324. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.cjs +5 -5
  325. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.cjs.map +1 -1
  326. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.js +1 -1
  327. package/dist/production/src/model/queries/apiKey/ApiKeyQuery.cjs +4 -4
  328. package/dist/production/src/model/queries/apiKey/ApiKeyQuery.cjs.map +1 -1
  329. package/dist/production/src/model/queries/apiKey/ApiKeyQuery.js +1 -1
  330. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.cjs +46 -0
  331. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.cjs.map +1 -0
  332. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.js +46 -0
  333. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.js.map +1 -0
  334. package/dist/production/src/model/queries/configuration/ConfigurationQuery.cjs +18 -1
  335. package/dist/production/src/model/queries/configuration/ConfigurationQuery.cjs.map +1 -1
  336. package/dist/production/src/model/queries/configuration/ConfigurationQuery.js +18 -1
  337. package/dist/production/src/model/queries/configuration/ConfigurationQuery.js.map +1 -1
  338. package/dist/production/src/model/queries/personToken/PersonTokenQuery.cjs +3 -3
  339. package/dist/production/src/model/queries/personToken/PersonTokenQuery.cjs.map +1 -1
  340. package/dist/production/src/model/queries/personToken/PersonTokenQuery.js +1 -1
  341. package/dist/production/src/model/service/AuthLogService.cjs +34 -0
  342. package/dist/production/src/model/service/AuthLogService.cjs.map +1 -0
  343. package/dist/production/src/model/service/AuthLogService.js +34 -0
  344. package/dist/production/src/model/service/AuthLogService.js.map +1 -0
  345. package/dist/production/src/model/service/ConfigurationManager.cjs +0 -10
  346. package/dist/production/src/model/service/ConfigurationManager.cjs.map +1 -1
  347. package/dist/production/src/model/service/ConfigurationManager.js +0 -10
  348. package/dist/production/src/model/service/ConfigurationManager.js.map +1 -1
  349. package/dist/production/src/model/service/IDPSignInManager.cjs +37 -5
  350. package/dist/production/src/model/service/IDPSignInManager.cjs.map +1 -1
  351. package/dist/production/src/model/service/IDPSignInManager.js +37 -5
  352. package/dist/production/src/model/service/IDPSignInManager.js.map +1 -1
  353. package/dist/production/src/model/service/PasswordChangeManager.cjs +21 -12
  354. package/dist/production/src/model/service/PasswordChangeManager.cjs.map +1 -1
  355. package/dist/production/src/model/service/PasswordChangeManager.js +20 -11
  356. package/dist/production/src/model/service/PasswordChangeManager.js.map +1 -1
  357. package/dist/production/src/model/service/PasswordResetManager.cjs +40 -8
  358. package/dist/production/src/model/service/PasswordResetManager.cjs.map +1 -1
  359. package/dist/production/src/model/service/PasswordResetManager.js +40 -8
  360. package/dist/production/src/model/service/PasswordResetManager.js.map +1 -1
  361. package/dist/production/src/model/service/PasswordStrengthValidator.cjs +63 -0
  362. package/dist/production/src/model/service/PasswordStrengthValidator.cjs.map +1 -0
  363. package/dist/production/src/model/service/PasswordStrengthValidator.js +63 -0
  364. package/dist/production/src/model/service/PasswordStrengthValidator.js.map +1 -0
  365. package/dist/production/src/model/service/PasswordlessSignInManager.cjs +89 -24
  366. package/dist/production/src/model/service/PasswordlessSignInManager.cjs.map +1 -1
  367. package/dist/production/src/model/service/PasswordlessSignInManager.js +81 -16
  368. package/dist/production/src/model/service/PasswordlessSignInManager.js.map +1 -1
  369. package/dist/production/src/model/service/PersonAccessManager.cjs +7 -29
  370. package/dist/production/src/model/service/PersonAccessManager.cjs.map +1 -1
  371. package/dist/production/src/model/service/PersonAccessManager.js +7 -29
  372. package/dist/production/src/model/service/PersonAccessManager.js.map +1 -1
  373. package/dist/production/src/model/service/SignInManager.cjs +56 -31
  374. package/dist/production/src/model/service/SignInManager.cjs.map +1 -1
  375. package/dist/production/src/model/service/SignInManager.js +57 -32
  376. package/dist/production/src/model/service/SignInManager.js.map +1 -1
  377. package/dist/production/src/model/service/SignUpManager.cjs +13 -8
  378. package/dist/production/src/model/service/SignUpManager.cjs.map +1 -1
  379. package/dist/production/src/model/service/SignUpManager.js +11 -6
  380. package/dist/production/src/model/service/SignUpManager.js.map +1 -1
  381. package/dist/production/src/model/service/apiKey/ApiKeyManager.cjs +6 -1
  382. package/dist/production/src/model/service/apiKey/ApiKeyManager.cjs.map +1 -1
  383. package/dist/production/src/model/service/apiKey/ApiKeyManager.js +6 -1
  384. package/dist/production/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
  385. package/dist/production/src/model/utils/Response.cjs +2 -1
  386. package/dist/production/src/model/utils/Response.cjs.map +1 -1
  387. package/dist/production/src/model/utils/Response.js +2 -1
  388. package/dist/production/src/model/utils/Response.js.map +1 -1
  389. package/dist/production/src/model/utils/blacklist.cjs +10006 -0
  390. package/dist/production/src/model/utils/blacklist.cjs.map +1 -0
  391. package/dist/production/src/model/utils/blacklist.js +10006 -0
  392. package/dist/production/src/model/utils/blacklist.js.map +1 -0
  393. package/dist/{development/src/model/utils/typeUtils.cjs → production/src/model/utils/hex.cjs} +1 -1
  394. package/dist/production/src/model/utils/hex.cjs.map +1 -0
  395. package/dist/production/src/model/utils/{typeUtils.js → hex.js} +1 -1
  396. package/dist/production/src/model/utils/hex.js.map +1 -0
  397. package/dist/production/src/model/utils/interval.cjs +8 -0
  398. package/dist/production/src/model/utils/interval.cjs.map +1 -0
  399. package/dist/production/src/model/utils/interval.js +8 -0
  400. package/dist/production/src/model/utils/interval.js.map +1 -0
  401. package/dist/production/src/model/utils/{tokenUtils.cjs → token.cjs} +3 -3
  402. package/dist/production/src/model/utils/token.cjs.map +1 -0
  403. package/dist/production/src/model/utils/{tokenUtils.js → token.js} +2 -2
  404. package/dist/production/src/model/utils/token.js.map +1 -0
  405. package/dist/production/src/resolvers/ResolverFactory.cjs +1 -0
  406. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  407. package/dist/production/src/resolvers/ResolverFactory.js +2 -1
  408. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  409. package/dist/production/src/resolvers/TenantResolverContextFactory.cjs +10 -2
  410. package/dist/production/src/resolvers/TenantResolverContextFactory.cjs.map +1 -1
  411. package/dist/production/src/resolvers/TenantResolverContextFactory.js +10 -2
  412. package/dist/production/src/resolvers/TenantResolverContextFactory.js.map +1 -1
  413. package/dist/production/src/resolvers/errorUtils.cjs +15 -4
  414. package/dist/production/src/resolvers/errorUtils.cjs.map +1 -1
  415. package/dist/production/src/resolvers/errorUtils.js +15 -4
  416. package/dist/production/src/resolvers/errorUtils.js.map +1 -1
  417. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +4 -3
  418. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
  419. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +2 -1
  420. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
  421. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +1 -0
  422. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
  423. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +1 -0
  424. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
  425. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +1 -0
  426. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
  427. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +1 -0
  428. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
  429. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +1 -0
  430. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
  431. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +1 -0
  432. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
  433. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +1 -0
  434. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
  435. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js +1 -0
  436. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
  437. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +1 -0
  438. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
  439. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +1 -0
  440. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
  441. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +1 -0
  442. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
  443. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +1 -0
  444. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
  445. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +1 -0
  446. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
  447. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +1 -0
  448. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
  449. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +1 -0
  450. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
  451. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +1 -0
  452. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
  453. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +17 -6
  454. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
  455. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +17 -6
  456. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
  457. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +14 -0
  458. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
  459. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +14 -0
  460. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
  461. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +7 -1
  462. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  463. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js +7 -1
  464. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  465. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs +5 -0
  466. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
  467. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js +5 -0
  468. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
  469. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs +3 -2
  470. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
  471. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js +2 -1
  472. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
  473. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs +26 -1
  474. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
  475. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js +26 -1
  476. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
  477. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +20 -0
  478. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
  479. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js +20 -0
  480. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
  481. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +25 -2
  482. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  483. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +25 -2
  484. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  485. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs +22 -0
  486. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
  487. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js +22 -0
  488. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
  489. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs +1 -0
  490. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
  491. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js +1 -0
  492. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
  493. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs +2 -1
  494. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
  495. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js +2 -1
  496. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
  497. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +3 -1
  498. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
  499. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +3 -1
  500. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
  501. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +3 -2
  502. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
  503. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js +2 -1
  504. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
  505. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +1 -0
  506. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
  507. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +1 -0
  508. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
  509. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +1 -0
  510. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
  511. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +1 -0
  512. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
  513. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +1 -0
  514. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
  515. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +1 -0
  516. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
  517. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +1 -0
  518. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
  519. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +1 -0
  520. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
  521. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +1 -0
  522. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
  523. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +1 -0
  524. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
  525. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs +3 -1
  526. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
  527. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js +3 -1
  528. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
  529. package/dist/production/src/resolvers/query/IDPQueryResolver.cjs +1 -0
  530. package/dist/production/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
  531. package/dist/production/src/resolvers/query/IDPQueryResolver.js +1 -0
  532. package/dist/production/src/resolvers/query/IDPQueryResolver.js.map +1 -1
  533. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs +1 -0
  534. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
  535. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js +1 -0
  536. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
  537. package/dist/production/src/resolvers/query/PersonQueryResolver.cjs +1 -0
  538. package/dist/production/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
  539. package/dist/production/src/resolvers/query/PersonQueryResolver.js +1 -0
  540. package/dist/production/src/resolvers/query/PersonQueryResolver.js.map +1 -1
  541. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs +1 -0
  542. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
  543. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js +1 -0
  544. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
  545. package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs +1 -0
  546. package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
  547. package/dist/production/src/resolvers/query/ProjectQueryResolver.js +1 -0
  548. package/dist/production/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
  549. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs +1 -0
  550. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
  551. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js +1 -0
  552. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
  553. package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs +1 -0
  554. package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
  555. package/dist/production/src/resolvers/types/IdentityTypeResolver.js +1 -0
  556. package/dist/production/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
  557. package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs +1 -0
  558. package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  559. package/dist/production/src/resolvers/types/ProjectTypeResolver.js +1 -0
  560. package/dist/production/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  561. package/dist/production/src/schema/tenant.graphql.cjs +64 -2
  562. package/dist/production/src/schema/tenant.graphql.cjs.map +1 -1
  563. package/dist/production/src/schema/tenant.graphql.js +64 -2
  564. package/dist/production/src/schema/tenant.graphql.js.map +1 -1
  565. package/dist/tests/cases/integration/mocked/sql/createSessionKeySql.d.ts +1 -1
  566. package/dist/tests/cases/integration/mocked/sql/getConfigSql.d.ts +3 -0
  567. package/dist/tests/cases/integration/mocked/sql/getConfigSql.d.ts.map +1 -0
  568. package/dist/tests/cases/integration/mocked/sql/getNextLoginAttemptSql.d.ts +3 -0
  569. package/dist/tests/cases/integration/mocked/sql/getNextLoginAttemptSql.d.ts.map +1 -0
  570. package/dist/tests/src/testTenant.d.ts +2 -0
  571. package/dist/tests/src/testTenant.d.ts.map +1 -1
  572. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  573. package/dist/types/TenantContainer.d.ts +6 -0
  574. package/dist/types/TenantContainer.d.ts.map +1 -1
  575. package/dist/types/migrations/2025-04-16-180000-config-up.d.ts +3 -0
  576. package/dist/types/migrations/2025-04-16-180000-config-up.d.ts.map +1 -0
  577. package/dist/types/migrations/2025-04-17-160000-auth-log.d.ts +3 -0
  578. package/dist/types/migrations/2025-04-17-160000-auth-log.d.ts.map +1 -0
  579. package/dist/types/migrations/runner.d.ts.map +1 -1
  580. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  581. package/dist/types/model/commands/authLog/CreateAuthLogEntryCommand.d.ts +26 -0
  582. package/dist/types/model/commands/authLog/CreateAuthLogEntryCommand.d.ts.map +1 -0
  583. package/dist/types/model/commands/configuration/UpdateConfigurationCommand.d.ts.map +1 -1
  584. package/dist/types/model/dtos/AuthLogBag.d.ts +3 -0
  585. package/dist/types/model/dtos/AuthLogBag.d.ts.map +1 -0
  586. package/dist/types/model/queries/authLog/NextLoginAttemptQuery.d.ts +7 -0
  587. package/dist/types/model/queries/authLog/NextLoginAttemptQuery.d.ts.map +1 -0
  588. package/dist/types/model/queries/configuration/ConfigurationQuery.d.ts +1 -1
  589. package/dist/types/model/queries/configuration/ConfigurationQuery.d.ts.map +1 -1
  590. package/dist/types/model/service/AuthLogService.d.ts +34 -0
  591. package/dist/types/model/service/AuthLogService.d.ts.map +1 -0
  592. package/dist/types/model/service/ConfigurationManager.d.ts +1 -2
  593. package/dist/types/model/service/ConfigurationManager.d.ts.map +1 -1
  594. package/dist/types/model/service/IDPSignInManager.d.ts +5 -1
  595. package/dist/types/model/service/IDPSignInManager.d.ts.map +1 -1
  596. package/dist/types/model/service/PasswordChangeManager.d.ts +8 -4
  597. package/dist/types/model/service/PasswordChangeManager.d.ts.map +1 -1
  598. package/dist/types/model/service/PasswordResetManager.d.ts +11 -4
  599. package/dist/types/model/service/PasswordResetManager.d.ts.map +1 -1
  600. package/dist/types/model/service/PasswordStrengthValidator.d.ts +11 -0
  601. package/dist/types/model/service/PasswordStrengthValidator.d.ts.map +1 -0
  602. package/dist/types/model/service/PasswordlessSignInManager.d.ts +16 -6
  603. package/dist/types/model/service/PasswordlessSignInManager.d.ts.map +1 -1
  604. package/dist/types/model/service/PersonAccessManager.d.ts +2 -1
  605. package/dist/types/model/service/PersonAccessManager.d.ts.map +1 -1
  606. package/dist/types/model/service/SignInManager.d.ts +9 -4
  607. package/dist/types/model/service/SignInManager.d.ts.map +1 -1
  608. package/dist/types/model/service/SignUpManager.d.ts +7 -3
  609. package/dist/types/model/service/SignUpManager.d.ts.map +1 -1
  610. package/dist/types/model/service/apiKey/ApiKeyManager.d.ts.map +1 -1
  611. package/dist/types/model/type/AuthLog.d.ts +2 -0
  612. package/dist/types/model/type/AuthLog.d.ts.map +1 -0
  613. package/dist/types/model/type/Config.d.ts +28 -0
  614. package/dist/types/model/type/Config.d.ts.map +1 -0
  615. package/dist/types/model/utils/Response.d.ts +4 -3
  616. package/dist/types/model/utils/Response.d.ts.map +1 -1
  617. package/dist/types/model/utils/blacklist.d.ts +2 -0
  618. package/dist/types/model/utils/blacklist.d.ts.map +1 -0
  619. package/dist/types/model/utils/{typeUtils.d.ts → hex.d.ts} +1 -1
  620. package/dist/types/model/utils/hex.d.ts.map +1 -0
  621. package/dist/types/model/utils/index.d.ts +1 -1
  622. package/dist/types/model/utils/index.d.ts.map +1 -1
  623. package/dist/types/model/utils/interval.d.ts +3 -0
  624. package/dist/types/model/utils/interval.d.ts.map +1 -0
  625. package/dist/types/model/utils/{tokenUtils.d.ts → token.d.ts} +2 -2
  626. package/dist/types/model/utils/token.d.ts.map +1 -0
  627. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  628. package/dist/types/resolvers/TenantResolverContext.d.ts +2 -0
  629. package/dist/types/resolvers/TenantResolverContext.d.ts.map +1 -1
  630. package/dist/types/resolvers/TenantResolverContextFactory.d.ts +6 -1
  631. package/dist/types/resolvers/TenantResolverContextFactory.d.ts.map +1 -1
  632. package/dist/types/resolvers/errorUtils.d.ts +7 -5
  633. package/dist/types/resolvers/errorUtils.d.ts.map +1 -1
  634. package/dist/types/resolvers/mutation/person/ChangePasswordMutationResolver.d.ts.map +1 -1
  635. package/dist/types/resolvers/mutation/person/ChangeProfileMutationResolver.d.ts.map +1 -1
  636. package/dist/types/resolvers/mutation/person/DisablePersonMutationResolver.d.ts.map +1 -1
  637. package/dist/types/resolvers/mutation/person/IDPMutationResolver.d.ts.map +1 -1
  638. package/dist/types/resolvers/mutation/person/OtpMutationResolver.d.ts.map +1 -1
  639. package/dist/types/resolvers/mutation/person/PasswordlessMutationResolver.d.ts.map +1 -1
  640. package/dist/types/resolvers/mutation/person/ResetPasswordMutationResolver.d.ts.map +1 -1
  641. package/dist/types/resolvers/mutation/person/SignInMutationResolver.d.ts.map +1 -1
  642. package/dist/types/resolvers/mutation/person/TogglePasswordlessMutationResolver.d.ts.map +1 -1
  643. package/dist/types/resolvers/types/ProjectTypeResolver.d.ts +2 -2
  644. package/dist/types/resolvers/types/ProjectTypeResolver.d.ts.map +1 -1
  645. package/dist/types/schema/index.d.ts +103 -8
  646. package/dist/types/schema/index.d.ts.map +1 -1
  647. package/dist/types/schema/tenant.graphql.d.ts.map +1 -1
  648. package/dist/types/schema/types.d.ts +8 -0
  649. package/dist/types/schema/types.d.ts.map +1 -0
  650. package/dist/types/tsconfig.tsbuildinfo +1 -1
  651. package/graphql.codegen.yml +7 -3
  652. package/package.json +2 -1
  653. package/src/TenantContainer.ts +16 -10
  654. package/src/migrations/2025-04-16-180000-config-up.ts +39 -0
  655. package/src/migrations/2025-04-17-160000-auth-log.ts +45 -0
  656. package/src/migrations/runner.ts +4 -1
  657. package/src/migrations/snapshot.ts +56 -1
  658. package/src/model/commands/authLog/CreateAuthLogEntryCommand.ts +51 -0
  659. package/src/model/commands/configuration/UpdateConfigurationCommand.ts +20 -2
  660. package/src/model/dtos/AuthLogBag.ts +3 -0
  661. package/src/model/queries/authLog/NextLoginAttemptQuery.ts +63 -0
  662. package/src/model/queries/configuration/ConfigurationQuery.ts +20 -8
  663. package/src/model/service/AuthLogService.ts +62 -0
  664. package/src/model/service/ConfigurationManager.ts +1 -6
  665. package/src/model/service/IDPSignInManager.ts +41 -6
  666. package/src/model/service/PasswordChangeManager.ts +17 -12
  667. package/src/model/service/PasswordResetManager.ts +42 -11
  668. package/src/model/service/PasswordStrengthValidator.ts +85 -0
  669. package/src/model/service/PasswordlessSignInManager.ts +95 -28
  670. package/src/model/service/PersonAccessManager.ts +8 -27
  671. package/src/model/service/SignInManager.ts +68 -33
  672. package/src/model/service/SignUpManager.ts +16 -8
  673. package/src/model/service/apiKey/ApiKeyManager.ts +8 -2
  674. package/src/model/type/AuthLog.ts +14 -0
  675. package/src/model/type/Config.ts +29 -0
  676. package/src/model/utils/Response.ts +10 -3
  677. package/src/model/utils/blacklist.ts +4 -0
  678. package/src/model/utils/index.ts +1 -1
  679. package/src/model/utils/interval.ts +14 -0
  680. package/src/model/utils/{tokenUtils.ts → token.ts} +1 -1
  681. package/src/resolvers/ResolverFactory.ts +2 -1
  682. package/src/resolvers/TenantResolverContext.ts +2 -0
  683. package/src/resolvers/TenantResolverContextFactory.ts +10 -0
  684. package/src/resolvers/errorUtils.ts +23 -5
  685. package/src/resolvers/mutation/idp/AddIDPMutationResolver.ts +1 -1
  686. package/src/resolvers/mutation/idp/UpdateIDPMutationResolver.ts +1 -1
  687. package/src/resolvers/mutation/person/ChangePasswordMutationResolver.ts +17 -15
  688. package/src/resolvers/mutation/person/ChangeProfileMutationResolver.ts +13 -0
  689. package/src/resolvers/mutation/person/DisablePersonMutationResolver.ts +7 -7
  690. package/src/resolvers/mutation/person/IDPMutationResolver.ts +4 -0
  691. package/src/resolvers/mutation/person/OtpMutationResolver.ts +25 -1
  692. package/src/resolvers/mutation/person/PasswordlessMutationResolver.ts +21 -1
  693. package/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts +27 -3
  694. package/src/resolvers/mutation/person/SignInMutationResolver.ts +26 -8
  695. package/src/resolvers/mutation/person/SignUpMutationResolver.ts +1 -1
  696. package/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.ts +2 -2
  697. package/src/resolvers/mutation/project/CreateProjectMutationResolver.ts +1 -1
  698. package/src/resolvers/mutation/project/UpdateProjectMutationResolver.ts +1 -1
  699. package/src/resolvers/query/ConfigurationQueryResolver.ts +2 -2
  700. package/src/resolvers/types/ProjectTypeResolver.ts +2 -2
  701. package/src/schema/index.ts +114 -5
  702. package/src/schema/tenant.graphql.ts +64 -2
  703. package/src/schema/types.ts +4 -0
  704. package/tests/cases/integration/mocked/changeMyPasswordMutation.test.ts +42 -2
  705. package/tests/cases/integration/mocked/changeMyProfileMutation.test.ts +25 -4
  706. package/tests/cases/integration/mocked/changePasswordMutation.test.ts +10 -2
  707. package/tests/cases/integration/mocked/changeProfileMutation.test.ts +7 -1
  708. package/tests/cases/integration/mocked/confirmOtpMutation.test.ts +13 -8
  709. package/tests/cases/integration/mocked/createSessionKeyMutation.test.ts +9 -21
  710. package/tests/cases/integration/mocked/inviteMutations.test.ts +0 -24
  711. package/tests/cases/integration/mocked/signInIdpMutation.test.ts +16 -1
  712. package/tests/cases/integration/mocked/signInMutation.test.ts +54 -22
  713. package/tests/cases/integration/mocked/signOutMutation.test.ts +0 -5
  714. package/tests/cases/integration/mocked/signUpMutation.test.ts +3 -12
  715. package/tests/cases/integration/mocked/sql/createSessionKeySql.ts +1 -1
  716. package/tests/cases/integration/mocked/sql/getConfigSql.ts +29 -0
  717. package/tests/cases/integration/mocked/sql/getNextLoginAttemptSql.ts +20 -0
  718. package/tests/src/testTenant.ts +13 -0
  719. package/dist/development/src/model/utils/password.cjs +0 -12
  720. package/dist/development/src/model/utils/password.cjs.map +0 -1
  721. package/dist/development/src/model/utils/password.js +0 -12
  722. package/dist/development/src/model/utils/password.js.map +0 -1
  723. package/dist/development/src/model/utils/tokenUtils.cjs.map +0 -1
  724. package/dist/development/src/model/utils/tokenUtils.js.map +0 -1
  725. package/dist/development/src/model/utils/typeUtils.cjs.map +0 -1
  726. package/dist/development/src/model/utils/typeUtils.js.map +0 -1
  727. package/dist/production/src/model/utils/password.cjs +0 -12
  728. package/dist/production/src/model/utils/password.cjs.map +0 -1
  729. package/dist/production/src/model/utils/password.js +0 -12
  730. package/dist/production/src/model/utils/password.js.map +0 -1
  731. package/dist/production/src/model/utils/tokenUtils.cjs.map +0 -1
  732. package/dist/production/src/model/utils/tokenUtils.js.map +0 -1
  733. package/dist/production/src/model/utils/typeUtils.cjs.map +0 -1
  734. package/dist/production/src/model/utils/typeUtils.js.map +0 -1
  735. package/dist/types/model/utils/password.d.ts +0 -4
  736. package/dist/types/model/utils/password.d.ts.map +0 -1
  737. package/dist/types/model/utils/tokenUtils.d.ts.map +0 -1
  738. package/dist/types/model/utils/typeUtils.d.ts.map +0 -1
  739. package/src/model/utils/password.ts +0 -8
  740. /package/src/model/utils/{typeUtils.ts → hex.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TenantContainer.cjs","sources":["../../../../packages/engine-tenant-api/src/TenantContainer.ts"],"sourcesContent":["import { AccessEvaluator, Authorizator } from '@contember/authorization'\nimport { Connection, DatabaseConfig } from '@contember/database'\nimport { Builder } from '@contember/dic'\nimport {\n\tAclSchemaAccessNodeFactory,\n\tApiKeyManager,\n\tApiKeyService,\n\tAppleProvider,\n\tDatabaseContext,\n\tEmailValidator,\n\tFacebookProvider,\n\tIdentity,\n\tIdentityFactory,\n\tIDPHandlerRegistry,\n\tIDPManager,\n\tIDPSignInManager,\n\tInviteManager,\n\tMailTemplateManager,\n\tMembershipValidator,\n\tOIDCProvider,\n\tOtpAuthenticator,\n\tOtpManager,\n\tPasswordChangeManager,\n\tPasswordResetManager,\n\tPermissionContextFactory,\n\tPermissionsFactory,\n\tPersonAccessManager,\n\tPersonManager,\n\tProjectInitializer,\n\tProjectManager,\n\tProjectMemberManager,\n\tProjectSchemaResolver,\n\tProjectScopeFactory,\n\tProviders,\n\tRolesManager,\n\tSecretsManager,\n\tSignInManager,\n\tSignUpManager,\n\tUserMailer,\n} from './model'\nimport {\n\tAddIDPMutationResolver,\n\tAddProjectMemberMutationResolver,\n\tChangePasswordMutationResolver,\n\tChangeProfileMutationResolver,\n\tCreateApiKeyMutationResolver,\n\tCreateProjectMutationResolver,\n\tDisableApiKeyMutationResolver,\n\tDisableIDPMutationResolver,\n\tEnableIDPMutationResolver,\n\tIdentityGlobalRolesMutationResolver,\n\tIdentityTypeResolver,\n\tIDPMutationResolver,\n\tInviteMutationResolver,\n\tMailTemplateMutationResolver,\n\tMeQueryResolver,\n\tOtpMutationResolver,\n\tPersonQueryResolver,\n\tProjectMembersQueryResolver,\n\tProjectQueryResolver,\n\tProjectTypeResolver,\n\tRemoveProjectMemberMutationResolver,\n\tResetPasswordMutationResolver,\n\tResolverFactory,\n\tSetProjectSecretMutationResolver,\n\tSignInMutationResolver,\n\tSignOutMutationResolver,\n\tSignUpMutationResolver,\n\tTenantResolverContextFactory,\n\tUpdateProjectMemberMutationResolver,\n\tUpdateProjectMutationResolver,\n} from './resolvers'\nimport * as Schema from './schema'\nimport { createMailer, MailerOptions, TemplateRenderer } from './utils'\nimport { IdentityFetcher } from './bridges/system/IdentityFetcher'\nimport { SignInResponseFactory } from './resolvers/responseHelpers/SignInResponseFactory'\nimport { IDPQueryResolver } from './resolvers/query/IDPQueryResolver'\nimport { UpdateIDPMutationResolver } from './resolvers/mutation/idp/UpdateIDPMutationResolver'\nimport { TenantCredentials, TenantMigrationsRunner } from './migrations'\nimport { DisablePersonMutationResolver } from './resolvers/mutation/person/DisablePersonMutationResolver'\nimport { MailTemplateQueryResolver } from './resolvers/query/MailTemplateQueryResolver'\nimport { ConfigurationManager } from './model/service/ConfigurationManager'\nimport { ConfigurationMutationResolver } from './resolvers/mutation/configuration/ConfigurationMutationResolver'\nimport { ConfigurationQueryResolver } from './resolvers/query/ConfigurationQueryResolver'\nimport { PasswordlessMutationResolver } from './resolvers/mutation/person/PasswordlessMutationResolver'\nimport { PasswordlessSignInManager } from './model/service/PasswordlessSignInManager'\nimport { TogglePasswordlessMutationResolver } from './resolvers/mutation/person/TogglePasswordlessMutationResolver'\n\nexport interface TenantContainer {\n\tprojectMemberManager: ProjectMemberManager\n\tapiKeyManager: ApiKeyManager\n\tsignUpManager: SignUpManager\n\tprojectManager: ProjectManager\n\tresolvers: Schema.Resolvers\n\tresolverContextFactory: TenantResolverContextFactory\n\tauthorizator: Authorizator<Identity>\n\tidentityFetcher: IdentityFetcher\n\tdatabaseContext: DatabaseContext\n\treadDatabaseContext: DatabaseContext\n\tmigrationsRunner: TenantMigrationsRunner\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n}\n\nexport interface TenantContainerArgs {\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n\tdbCredentials: DatabaseConfig\n\tmailOptions: MailerOptions\n\tprojectSchemaResolver: ProjectSchemaResolver\n\tprojectInitializer: ProjectInitializer\n\ttenantCredentials: TenantCredentials\n\tcryptoProviders: Pick<Providers, 'encrypt' | 'decrypt'>\n}\n\nexport class TenantContainerFactory {\n\tconstructor(\n\t\tprivate readonly providers: Omit<Providers, 'encrypt' | 'decrypt'>,\n\t) { }\n\n\tcreate(args: TenantContainerArgs): TenantContainer {\n\t\treturn this.createBuilder(args)\n\t\t\t.build()\n\t\t\t.pick(\n\t\t\t\t'apiKeyManager',\n\t\t\t\t'projectMemberManager',\n\t\t\t\t'projectManager',\n\t\t\t\t'signUpManager',\n\t\t\t\t'resolvers',\n\t\t\t\t'authorizator',\n\t\t\t\t'resolverContextFactory',\n\t\t\t\t'identityFetcher',\n\t\t\t\t'databaseContext',\n\t\t\t\t'readDatabaseContext',\n\t\t\t\t'migrationsRunner',\n\t\t\t\t'connection',\n\t\t\t\t'readConnection',\n\t\t\t)\n\t}\n\n\tcreateBuilder(args: TenantContainerArgs) {\n\t\treturn new Builder({})\n\t\t\t.addService('providers', () =>\n\t\t\t\t({ ...this.providers, ...args.cryptoProviders }))\n\t\t\t.addService('mailer', () =>\n\t\t\t\tcreateMailer(args.mailOptions))\n\t\t\t.addService('projectSchemaResolver', () =>\n\t\t\t\targs.projectSchemaResolver)\n\t\t\t.addService('templateRenderer', () =>\n\t\t\t\tnew TemplateRenderer())\n\t\t\t.addService('accessEvaluator', ({ }) =>\n\t\t\t\tnew AccessEvaluator.PermissionEvaluator(new PermissionsFactory().create()))\n\t\t\t.addService('authorizator', ({ accessEvaluator }) =>\n\t\t\t\tnew Authorizator.Default(accessEvaluator))\n\t\t\t.addService('userMailer', ({ mailer, templateRenderer }) =>\n\t\t\t\tnew UserMailer(mailer, templateRenderer))\n\t\t\t.addService('apiKeyService', () =>\n\t\t\t\tnew ApiKeyService())\n\t\t\t.addService('apiKeyManager', ({ apiKeyService }) =>\n\t\t\t\tnew ApiKeyManager(apiKeyService))\n\t\t\t.addService('emailValidator', () =>\n\t\t\t\tnew EmailValidator())\n\t\t\t.addService('signUpManager', ({ emailValidator }) =>\n\t\t\t\tnew SignUpManager(emailValidator))\n\t\t\t.addService('passwordChangeManager', ({ providers }) =>\n\t\t\t\tnew PasswordChangeManager(providers))\n\t\t\t.addService('projectMemberManager', () =>\n\t\t\t\tnew ProjectMemberManager())\n\t\t\t.addService('identityFactory', ({ projectMemberManager }) =>\n\t\t\t\tnew IdentityFactory(projectMemberManager))\n\t\t\t.addService('projectScopeFactory', () =>\n\t\t\t\tnew ProjectScopeFactory(new AclSchemaAccessNodeFactory()))\n\t\t\t.addService('permissionContextFactory', ({ authorizator, identityFactory, projectScopeFactory, projectSchemaResolver }) =>\n\t\t\t\tnew PermissionContextFactory(authorizator, identityFactory, projectScopeFactory, projectSchemaResolver))\n\t\t\t.addService('secretManager', ({ providers }) =>\n\t\t\t\tnew SecretsManager(providers))\n\t\t\t.addService('projectManager', ({ secretManager, apiKeyService }) =>\n\t\t\t\tnew ProjectManager(secretManager, args.projectInitializer, apiKeyService))\n\t\t\t.addService('personAccessManager', ({ apiKeyManager }) =>\n\t\t\t\tnew PersonAccessManager(apiKeyManager))\n\t\t\t.addService('personManager', ({ emailValidator }) =>\n\t\t\t\tnew PersonManager(emailValidator))\n\t\t\t.addService('passwordResetManager', ({ userMailer, projectManager }) =>\n\t\t\t\tnew PasswordResetManager(userMailer, projectManager))\n\t\t\t.addService('idpRegistry', () => {\n\t\t\t\tconst idpRegistry = new IDPHandlerRegistry()\n\t\t\t\tidpRegistry.registerHandler('oidc', new OIDCProvider())\n\t\t\t\tidpRegistry.registerHandler('facebook', new FacebookProvider())\n\t\t\t\tidpRegistry.registerHandler('apple', new AppleProvider())\n\t\t\t\treturn idpRegistry\n\t\t\t})\n\t\t\t.addService('idpSignInManager', ({ apiKeyManager, idpRegistry }) =>\n\t\t\t\tnew IDPSignInManager(apiKeyManager, idpRegistry))\n\t\t\t.addService('idpManager', ({ idpRegistry }) =>\n\t\t\t\tnew IDPManager(idpRegistry))\n\t\t\t.addService('otpAuthenticator', ({ providers }) =>\n\t\t\t\tnew OtpAuthenticator(providers))\n\t\t\t.addService('signInManager', ({ apiKeyManager, providers, otpAuthenticator }) =>\n\t\t\t\tnew SignInManager(apiKeyManager, providers, otpAuthenticator))\n\t\t\t.addService('membershipValidator', ({ projectSchemaResolver }) =>\n\t\t\t\tnew MembershipValidator(projectSchemaResolver))\n\t\t\t.addService('inviteManager', ({ providers, userMailer, projectSchemaResolver }) =>\n\t\t\t\tnew InviteManager(providers, userMailer, projectSchemaResolver))\n\t\t\t.addService('otpManager', ({ otpAuthenticator }) =>\n\t\t\t\tnew OtpManager(otpAuthenticator))\n\t\t\t.addService('mailTemplateManager', () =>\n\t\t\t\tnew MailTemplateManager())\n\t\t\t.addService('rolesManager', () =>\n\t\t\t\tnew RolesManager())\n\t\t\t.addService('configurationManager', () =>\n\t\t\t\tnew ConfigurationManager())\n\t\t\t.addService('passwordlessSignInManager', ({ apiKeyManager, configurationManager, userMailer, projectManager, otpAuthenticator }) =>\n\t\t\t\tnew PasswordlessSignInManager(apiKeyManager, configurationManager, userMailer, projectManager, otpAuthenticator))\n\n\t\t\t.addService('identityTypeResolver', ({ projectMemberManager, projectManager, permissionContextFactory }) =>\n\t\t\t\tnew IdentityTypeResolver(projectMemberManager, projectManager, permissionContextFactory))\n\t\t\t.addService('projectTypeResolver', ({ projectMemberManager, projectSchemaResolver }) =>\n\t\t\t\tnew ProjectTypeResolver(projectMemberManager, projectSchemaResolver))\n\t\t\t.addService('signInResponseFactory', ({ permissionContextFactory, identityTypeResolver }) =>\n\t\t\t\tnew SignInResponseFactory(permissionContextFactory, identityTypeResolver))\n\t\t\t.addService('meQueryResolver', () =>\n\t\t\t\tnew MeQueryResolver())\n\t\t\t.addService('personQueryResolver', ({ personManager }) =>\n\t\t\t\tnew PersonQueryResolver(personManager))\n\t\t\t.addService('idpQueryResolver', ({ idpManager }) =>\n\t\t\t\tnew IDPQueryResolver(idpManager))\n\t\t\t.addService('projectQueryResolver', ({ projectManager }) =>\n\t\t\t\tnew ProjectQueryResolver(projectManager))\n\t\t\t.addService('projectMembersQueryResolver', ({ projectManager, projectMemberManager }) =>\n\t\t\t\tnew ProjectMembersQueryResolver(projectManager, projectMemberManager))\n\t\t\t.addService('mailTemplateQueryResolver', () =>\n\t\t\t\tnew MailTemplateQueryResolver())\n\t\t\t.addService('signUpMutationResolver', ({ signUpManager, apiKeyManager }) =>\n\t\t\t\tnew SignUpMutationResolver(signUpManager, apiKeyManager))\n\t\t\t.addService('signInMutationResolver', ({ signInManager, signInResponseFactory }) =>\n\t\t\t\tnew SignInMutationResolver(signInManager, signInResponseFactory))\n\t\t\t.addService('signOutMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew SignOutMutationResolver(apiKeyManager))\n\t\t\t.addService('changeProfileMutationResolver', ({ personManager }) =>\n\t\t\t\tnew ChangeProfileMutationResolver(personManager))\n\t\t\t.addService('changePasswordMutationResolver', ({ passwordChangeManager }) =>\n\t\t\t\tnew ChangePasswordMutationResolver(passwordChangeManager))\n\t\t\t.addService('resetPasswordMutationResolver', ({ passwordResetManager, permissionContextFactory }) =>\n\t\t\t\tnew ResetPasswordMutationResolver(passwordResetManager, permissionContextFactory))\n\t\t\t.addService('inviteMutationResolver', ({ inviteManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew InviteMutationResolver(inviteManager, projectManager, membershipValidator))\n\t\t\t.addService('addProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew AddProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('updateProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew UpdateProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('removeProjectMemberMutationResolver', ({ projectMemberManager, projectManager }) =>\n\t\t\t\tnew RemoveProjectMemberMutationResolver(projectMemberManager, projectManager))\n\t\t\t.addService('createApiKeyMutationResolver', ({ apiKeyManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew CreateApiKeyMutationResolver(apiKeyManager, projectManager, membershipValidator))\n\t\t\t.addService('disableApiKeyMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew DisableApiKeyMutationResolver(apiKeyManager))\n\t\t\t.addService('otpMutationResolver', ({ otpManager }) =>\n\t\t\t\tnew OtpMutationResolver(otpManager))\n\t\t\t.addService('mailTemplateMutationResolver', ({ projectManager, mailTemplateManager }) =>\n\t\t\t\tnew MailTemplateMutationResolver(projectManager, mailTemplateManager))\n\t\t\t.addService('idpMutationResolver', ({ idpSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew IDPMutationResolver(idpSignInManager, signInResponseFactory))\n\t\t\t.addService('registerIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew AddIDPMutationResolver(idpManager))\n\t\t\t.addService('updateIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew UpdateIDPMutationResolver(idpManager))\n\t\t\t.addService('disableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew DisableIDPMutationResolver(idpManager))\n\t\t\t.addService('enableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew EnableIDPMutationResolver(idpManager))\n\t\t\t.addService('createProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew CreateProjectMutationResolver(projectManager))\n\t\t\t.addService('disablePersonMutationResolver', ({ personAccessManager, personManager }) =>\n\t\t\t\tnew DisablePersonMutationResolver(personAccessManager, personManager))\n\t\t\t.addService('updateProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew UpdateProjectMutationResolver(projectManager))\n\t\t\t.addService('setProjectSecretMutationResolver', ({ projectManager, secretManager }) =>\n\t\t\t\tnew SetProjectSecretMutationResolver(projectManager, secretManager))\n\t\t\t.addService('identityGlobalRolesMutationResolver', ({ rolesManager }) =>\n\t\t\t\tnew IdentityGlobalRolesMutationResolver(rolesManager))\n\t\t\t.addService('configurationMutationResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationMutationResolver(configurationManager))\n\t\t\t.addService('configurationQueryResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationQueryResolver(configurationManager))\n\t\t\t.addService('passwordlessMutationResolver', ({ passwordlessSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew PasswordlessMutationResolver(passwordlessSignInManager, signInResponseFactory))\n\t\t\t.addService('togglePasswordlessMutationResolver', ({ configurationManager, personManager }) =>\n\t\t\t\tnew TogglePasswordlessMutationResolver(configurationManager, personManager))\n\t\t\t.addService('resolverContextFactory', ({ permissionContextFactory }) =>\n\t\t\t\tnew TenantResolverContextFactory(permissionContextFactory))\n\t\t\t.addService('resolvers', container =>\n\t\t\t\tnew ResolverFactory(container).create())\n\t\t\t.addService('connection', () =>\n\t\t\t\targs.connection)\n\t\t\t.addService('readConnection', () =>\n\t\t\t\targs.readConnection)\n\t\t\t.addService('databaseContext', ({ connection, providers }) =>\n\t\t\t\tnew DatabaseContext(connection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('readDatabaseContext', ({ readConnection, providers }) =>\n\t\t\t\tnew DatabaseContext(readConnection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('identityFetcher', ({ databaseContext }) =>\n\t\t\t\tnew IdentityFetcher(databaseContext.client))\n\t\t\t.addService('migrationsRunner', ({ providers }) =>\n\t\t\t\tnew TenantMigrationsRunner(args.dbCredentials, 'tenant', args.tenantCredentials, providers))\n\t}\n}\n"],"names":["Builder","createMailer","TemplateRenderer","AccessEvaluator","PermissionsFactory","Authorizator","UserMailer","ApiKeyService","ApiKeyManager","EmailValidator","SignUpManager","PasswordChangeManager","ProjectMemberManager","IdentityFactory","ProjectScopeFactory","AclSchemaAccessNodeFactory","PermissionContextFactory","SecretsManager","ProjectManager","PersonAccessManager","PersonManager","PasswordResetManager","IDPHandlerRegistry","OIDCProvider","FacebookProvider","AppleProvider","IDPSignInManager","IDPManager","OtpAuthenticator","SignInManager","MembershipValidator","InviteManager","OtpManager","MailTemplateManager","RolesManager","ConfigurationManager","PasswordlessSignInManager","IdentityTypeResolver","ProjectTypeResolver","SignInResponseFactory","MeQueryResolver","PersonQueryResolver","IDPQueryResolver","ProjectQueryResolver","ProjectMembersQueryResolver","MailTemplateQueryResolver","SignUpMutationResolver","SignInMutationResolver","SignOutMutationResolver","ChangeProfileMutationResolver","ChangePasswordMutationResolver","ResetPasswordMutationResolver","InviteMutationResolver","AddProjectMemberMutationResolver","UpdateProjectMemberMutationResolver","RemoveProjectMemberMutationResolver","CreateApiKeyMutationResolver","DisableApiKeyMutationResolver","OtpMutationResolver","MailTemplateMutationResolver","IDPMutationResolver","AddIDPMutationResolver","UpdateIDPMutationResolver","DisableIDPMutationResolver","EnableIDPMutationResolver","CreateProjectMutationResolver","DisablePersonMutationResolver","UpdateProjectMutationResolver","SetProjectSecretMutationResolver","IdentityGlobalRolesMutationResolver","ConfigurationMutationResolver","ConfigurationQueryResolver","PasswordlessMutationResolver","TogglePasswordlessMutationResolver","TenantResolverContextFactory","ResolverFactory","DatabaseContext","IdentityFetcher","TenantMigrationsRunner"],"mappings":"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"}
1
+ {"version":3,"file":"TenantContainer.cjs","sources":["../../../../packages/engine-tenant-api/src/TenantContainer.ts"],"sourcesContent":["import { AccessEvaluator, Authorizator } from '@contember/authorization'\nimport { Connection, DatabaseConfig } from '@contember/database'\nimport { Builder } from '@contember/dic'\nimport {\n\tAclSchemaAccessNodeFactory,\n\tApiKeyManager,\n\tApiKeyService,\n\tAppleProvider,\n\tDatabaseContext,\n\tEmailValidator,\n\tFacebookProvider,\n\tIdentity,\n\tIdentityFactory,\n\tIDPHandlerRegistry,\n\tIDPManager,\n\tIDPSignInManager,\n\tInviteManager,\n\tMailTemplateManager,\n\tMembershipValidator,\n\tOIDCProvider,\n\tOtpAuthenticator,\n\tOtpManager,\n\tPasswordChangeManager,\n\tPasswordResetManager,\n\tPermissionContextFactory,\n\tPermissionsFactory,\n\tPersonAccessManager,\n\tPersonManager,\n\tProjectInitializer,\n\tProjectManager,\n\tProjectMemberManager,\n\tProjectSchemaResolver,\n\tProjectScopeFactory,\n\tProviders,\n\tRolesManager,\n\tSecretsManager,\n\tSignInManager,\n\tSignUpManager,\n\tUserMailer,\n} from './model'\nimport {\n\tAddIDPMutationResolver,\n\tAddProjectMemberMutationResolver,\n\tChangePasswordMutationResolver,\n\tChangeProfileMutationResolver,\n\tCreateApiKeyMutationResolver,\n\tCreateProjectMutationResolver,\n\tDisableApiKeyMutationResolver,\n\tDisableIDPMutationResolver,\n\tEnableIDPMutationResolver,\n\tIdentityGlobalRolesMutationResolver,\n\tIdentityTypeResolver,\n\tIDPMutationResolver,\n\tInviteMutationResolver,\n\tMailTemplateMutationResolver,\n\tMeQueryResolver,\n\tOtpMutationResolver,\n\tPersonQueryResolver,\n\tProjectMembersQueryResolver,\n\tProjectQueryResolver,\n\tProjectTypeResolver,\n\tRemoveProjectMemberMutationResolver,\n\tResetPasswordMutationResolver,\n\tResolverFactory,\n\tSetProjectSecretMutationResolver,\n\tSignInMutationResolver,\n\tSignOutMutationResolver,\n\tSignUpMutationResolver,\n\tTenantResolverContextFactory,\n\tUpdateProjectMemberMutationResolver,\n\tUpdateProjectMutationResolver,\n} from './resolvers'\nimport * as Schema from './schema'\nimport { createMailer, MailerOptions, TemplateRenderer } from './utils'\nimport { IdentityFetcher } from './bridges/system/IdentityFetcher'\nimport { SignInResponseFactory } from './resolvers/responseHelpers/SignInResponseFactory'\nimport { IDPQueryResolver } from './resolvers/query/IDPQueryResolver'\nimport { UpdateIDPMutationResolver } from './resolvers/mutation/idp/UpdateIDPMutationResolver'\nimport { TenantCredentials, TenantMigrationsRunner } from './migrations'\nimport { DisablePersonMutationResolver } from './resolvers/mutation/person/DisablePersonMutationResolver'\nimport { MailTemplateQueryResolver } from './resolvers/query/MailTemplateQueryResolver'\nimport { ConfigurationManager } from './model/service/ConfigurationManager'\nimport { ConfigurationMutationResolver } from './resolvers/mutation/configuration/ConfigurationMutationResolver'\nimport { ConfigurationQueryResolver } from './resolvers/query/ConfigurationQueryResolver'\nimport { PasswordlessMutationResolver } from './resolvers/mutation/person/PasswordlessMutationResolver'\nimport { PasswordlessSignInManager } from './model/service/PasswordlessSignInManager'\nimport { TogglePasswordlessMutationResolver } from './resolvers/mutation/person/TogglePasswordlessMutationResolver'\nimport { PasswordStrengthValidator } from './model/service/PasswordStrengthValidator'\nimport { AuthLogService } from './model/service/AuthLogService'\n\nexport interface TenantContainer {\n\tprojectMemberManager: ProjectMemberManager\n\tapiKeyManager: ApiKeyManager\n\tsignUpManager: SignUpManager\n\tprojectManager: ProjectManager\n\tresolvers: Schema.Resolvers\n\tresolverContextFactory: TenantResolverContextFactory\n\tauthorizator: Authorizator<Identity>\n\tidentityFetcher: IdentityFetcher\n\tdatabaseContext: DatabaseContext\n\treadDatabaseContext: DatabaseContext\n\tmigrationsRunner: TenantMigrationsRunner\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n}\n\nexport interface TenantContainerArgs {\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n\tdbCredentials: DatabaseConfig\n\tmailOptions: MailerOptions\n\tprojectSchemaResolver: ProjectSchemaResolver\n\tprojectInitializer: ProjectInitializer\n\ttenantCredentials: TenantCredentials\n\tcryptoProviders: Pick<Providers, 'encrypt' | 'decrypt'>\n}\n\nexport class TenantContainerFactory {\n\tconstructor(\n\t\tprivate readonly providers: Omit<Providers, 'encrypt' | 'decrypt'>,\n\t) { }\n\n\tcreate(args: TenantContainerArgs): TenantContainer {\n\t\treturn this.createBuilder(args)\n\t\t\t.build()\n\t\t\t.pick(\n\t\t\t\t'apiKeyManager',\n\t\t\t\t'projectMemberManager',\n\t\t\t\t'projectManager',\n\t\t\t\t'signUpManager',\n\t\t\t\t'resolvers',\n\t\t\t\t'authorizator',\n\t\t\t\t'resolverContextFactory',\n\t\t\t\t'identityFetcher',\n\t\t\t\t'databaseContext',\n\t\t\t\t'readDatabaseContext',\n\t\t\t\t'migrationsRunner',\n\t\t\t\t'connection',\n\t\t\t\t'readConnection',\n\t\t\t)\n\t}\n\n\tcreateBuilder(args: TenantContainerArgs) {\n\t\treturn new Builder({})\n\t\t\t.addService('providers', () =>\n\t\t\t\t({ ...this.providers, ...args.cryptoProviders }))\n\t\t\t.addService('mailer', () =>\n\t\t\t\tcreateMailer(args.mailOptions))\n\t\t\t.addService('projectSchemaResolver', () =>\n\t\t\t\targs.projectSchemaResolver)\n\t\t\t.addService('templateRenderer', () =>\n\t\t\t\tnew TemplateRenderer())\n\t\t\t.addService('accessEvaluator', ({ }) =>\n\t\t\t\tnew AccessEvaluator.PermissionEvaluator(new PermissionsFactory().create()))\n\t\t\t.addService('authorizator', ({ accessEvaluator }) =>\n\t\t\t\tnew Authorizator.Default(accessEvaluator))\n\t\t\t.addService('userMailer', ({ mailer, templateRenderer }) =>\n\t\t\t\tnew UserMailer(mailer, templateRenderer))\n\t\t\t.addService('apiKeyService', () =>\n\t\t\t\tnew ApiKeyService())\n\t\t\t.addService('apiKeyManager', ({ apiKeyService }) =>\n\t\t\t\tnew ApiKeyManager(apiKeyService))\n\t\t\t.addService('emailValidator', () =>\n\t\t\t\tnew EmailValidator())\n\t\t\t.addService('passwordStrengthValidator', () =>\n\t\t\t\tnew PasswordStrengthValidator())\n\t\t\t.addService('signUpManager', ({ emailValidator, passwordStrengthValidator }) =>\n\t\t\t\tnew SignUpManager(emailValidator, passwordStrengthValidator))\n\t\t\t.addService('passwordChangeManager', ({ providers, passwordStrengthValidator }) =>\n\t\t\t\tnew PasswordChangeManager(providers, passwordStrengthValidator))\n\t\t\t.addService('projectMemberManager', () =>\n\t\t\t\tnew ProjectMemberManager())\n\t\t\t.addService('identityFactory', ({ projectMemberManager }) =>\n\t\t\t\tnew IdentityFactory(projectMemberManager))\n\t\t\t.addService('projectScopeFactory', () =>\n\t\t\t\tnew ProjectScopeFactory(new AclSchemaAccessNodeFactory()))\n\t\t\t.addService('permissionContextFactory', ({ authorizator, identityFactory, projectScopeFactory, projectSchemaResolver }) =>\n\t\t\t\tnew PermissionContextFactory(authorizator, identityFactory, projectScopeFactory, projectSchemaResolver))\n\t\t\t.addService('secretManager', ({ providers }) =>\n\t\t\t\tnew SecretsManager(providers))\n\t\t\t.addService('projectManager', ({ secretManager, apiKeyService }) =>\n\t\t\t\tnew ProjectManager(secretManager, args.projectInitializer, apiKeyService))\n\t\t\t.addService('personAccessManager', ({ apiKeyManager }) =>\n\t\t\t\tnew PersonAccessManager(apiKeyManager))\n\t\t\t.addService('personManager', ({ emailValidator }) =>\n\t\t\t\tnew PersonManager(emailValidator))\n\t\t\t.addService('passwordResetManager', ({ userMailer, projectManager, passwordStrengthValidator }) =>\n\t\t\t\tnew PasswordResetManager(userMailer, projectManager, passwordStrengthValidator))\n\t\t\t.addService('idpRegistry', () => {\n\t\t\t\tconst idpRegistry = new IDPHandlerRegistry()\n\t\t\t\tidpRegistry.registerHandler('oidc', new OIDCProvider())\n\t\t\t\tidpRegistry.registerHandler('facebook', new FacebookProvider())\n\t\t\t\tidpRegistry.registerHandler('apple', new AppleProvider())\n\t\t\t\treturn idpRegistry\n\t\t\t})\n\t\t\t.addService('idpSignInManager', ({ apiKeyManager, idpRegistry }) =>\n\t\t\t\tnew IDPSignInManager(apiKeyManager, idpRegistry))\n\t\t\t.addService('idpManager', ({ idpRegistry }) =>\n\t\t\t\tnew IDPManager(idpRegistry))\n\t\t\t.addService('otpAuthenticator', ({ providers }) =>\n\t\t\t\tnew OtpAuthenticator(providers))\n\t\t\t.addService('signInManager', ({ apiKeyManager, providers, otpAuthenticator }) =>\n\t\t\t\tnew SignInManager(apiKeyManager, providers, otpAuthenticator))\n\t\t\t.addService('membershipValidator', ({ projectSchemaResolver }) =>\n\t\t\t\tnew MembershipValidator(projectSchemaResolver))\n\t\t\t.addService('inviteManager', ({ providers, userMailer, projectSchemaResolver }) =>\n\t\t\t\tnew InviteManager(providers, userMailer, projectSchemaResolver))\n\t\t\t.addService('otpManager', ({ otpAuthenticator }) =>\n\t\t\t\tnew OtpManager(otpAuthenticator))\n\t\t\t.addService('mailTemplateManager', () =>\n\t\t\t\tnew MailTemplateManager())\n\t\t\t.addService('rolesManager', () =>\n\t\t\t\tnew RolesManager())\n\t\t\t.addService('configurationManager', () =>\n\t\t\t\tnew ConfigurationManager())\n\t\t\t.addService('passwordlessSignInManager', ({ apiKeyManager, userMailer, projectManager, otpAuthenticator }) =>\n\t\t\t\tnew PasswordlessSignInManager(apiKeyManager, userMailer, projectManager, otpAuthenticator))\n\n\t\t\t.addService('identityTypeResolver', ({ projectMemberManager, projectManager, permissionContextFactory }) =>\n\t\t\t\tnew IdentityTypeResolver(projectMemberManager, projectManager, permissionContextFactory))\n\t\t\t.addService('projectTypeResolver', ({ projectMemberManager, projectSchemaResolver }) =>\n\t\t\t\tnew ProjectTypeResolver(projectMemberManager, projectSchemaResolver))\n\t\t\t.addService('signInResponseFactory', ({ permissionContextFactory, identityTypeResolver }) =>\n\t\t\t\tnew SignInResponseFactory(permissionContextFactory, identityTypeResolver))\n\t\t\t.addService('meQueryResolver', () =>\n\t\t\t\tnew MeQueryResolver())\n\t\t\t.addService('personQueryResolver', ({ personManager }) =>\n\t\t\t\tnew PersonQueryResolver(personManager))\n\t\t\t.addService('idpQueryResolver', ({ idpManager }) =>\n\t\t\t\tnew IDPQueryResolver(idpManager))\n\t\t\t.addService('projectQueryResolver', ({ projectManager }) =>\n\t\t\t\tnew ProjectQueryResolver(projectManager))\n\t\t\t.addService('projectMembersQueryResolver', ({ projectManager, projectMemberManager }) =>\n\t\t\t\tnew ProjectMembersQueryResolver(projectManager, projectMemberManager))\n\t\t\t.addService('mailTemplateQueryResolver', () =>\n\t\t\t\tnew MailTemplateQueryResolver())\n\t\t\t.addService('signUpMutationResolver', ({ signUpManager, apiKeyManager }) =>\n\t\t\t\tnew SignUpMutationResolver(signUpManager, apiKeyManager))\n\t\t\t.addService('signInMutationResolver', ({ signInManager, signInResponseFactory }) =>\n\t\t\t\tnew SignInMutationResolver(signInManager, signInResponseFactory))\n\t\t\t.addService('signOutMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew SignOutMutationResolver(apiKeyManager))\n\t\t\t.addService('changeProfileMutationResolver', ({ personManager }) =>\n\t\t\t\tnew ChangeProfileMutationResolver(personManager))\n\t\t\t.addService('changePasswordMutationResolver', ({ passwordChangeManager }) =>\n\t\t\t\tnew ChangePasswordMutationResolver(passwordChangeManager))\n\t\t\t.addService('resetPasswordMutationResolver', ({ passwordResetManager, permissionContextFactory }) =>\n\t\t\t\tnew ResetPasswordMutationResolver(passwordResetManager, permissionContextFactory))\n\t\t\t.addService('inviteMutationResolver', ({ inviteManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew InviteMutationResolver(inviteManager, projectManager, membershipValidator))\n\t\t\t.addService('addProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew AddProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('updateProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew UpdateProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('removeProjectMemberMutationResolver', ({ projectMemberManager, projectManager }) =>\n\t\t\t\tnew RemoveProjectMemberMutationResolver(projectMemberManager, projectManager))\n\t\t\t.addService('createApiKeyMutationResolver', ({ apiKeyManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew CreateApiKeyMutationResolver(apiKeyManager, projectManager, membershipValidator))\n\t\t\t.addService('disableApiKeyMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew DisableApiKeyMutationResolver(apiKeyManager))\n\t\t\t.addService('otpMutationResolver', ({ otpManager }) =>\n\t\t\t\tnew OtpMutationResolver(otpManager))\n\t\t\t.addService('mailTemplateMutationResolver', ({ projectManager, mailTemplateManager }) =>\n\t\t\t\tnew MailTemplateMutationResolver(projectManager, mailTemplateManager))\n\t\t\t.addService('idpMutationResolver', ({ idpSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew IDPMutationResolver(idpSignInManager, signInResponseFactory))\n\t\t\t.addService('registerIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew AddIDPMutationResolver(idpManager))\n\t\t\t.addService('updateIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew UpdateIDPMutationResolver(idpManager))\n\t\t\t.addService('disableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew DisableIDPMutationResolver(idpManager))\n\t\t\t.addService('enableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew EnableIDPMutationResolver(idpManager))\n\t\t\t.addService('createProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew CreateProjectMutationResolver(projectManager))\n\t\t\t.addService('disablePersonMutationResolver', ({ personAccessManager, personManager }) =>\n\t\t\t\tnew DisablePersonMutationResolver(personAccessManager, personManager))\n\t\t\t.addService('updateProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew UpdateProjectMutationResolver(projectManager))\n\t\t\t.addService('setProjectSecretMutationResolver', ({ projectManager, secretManager }) =>\n\t\t\t\tnew SetProjectSecretMutationResolver(projectManager, secretManager))\n\t\t\t.addService('identityGlobalRolesMutationResolver', ({ rolesManager }) =>\n\t\t\t\tnew IdentityGlobalRolesMutationResolver(rolesManager))\n\t\t\t.addService('configurationMutationResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationMutationResolver(configurationManager))\n\t\t\t.addService('configurationQueryResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationQueryResolver(configurationManager))\n\t\t\t.addService('passwordlessMutationResolver', ({ passwordlessSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew PasswordlessMutationResolver(passwordlessSignInManager, signInResponseFactory))\n\t\t\t.addService('togglePasswordlessMutationResolver', ({ configurationManager, personManager }) =>\n\t\t\t\tnew TogglePasswordlessMutationResolver(configurationManager, personManager))\n\t\t\t.addService('authLogService', () =>\n\t\t\t\tnew AuthLogService())\n\t\t\t.addService('resolverContextFactory', ({ permissionContextFactory, authLogService }) =>\n\t\t\t\tnew TenantResolverContextFactory(permissionContextFactory, authLogService))\n\t\t\t.addService('resolvers', container =>\n\t\t\t\tnew ResolverFactory(container).create())\n\t\t\t.addService('connection', () =>\n\t\t\t\targs.connection)\n\t\t\t.addService('readConnection', () =>\n\t\t\t\targs.readConnection)\n\t\t\t.addService('databaseContext', ({ connection, providers }) =>\n\t\t\t\tnew DatabaseContext(connection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('readDatabaseContext', ({ readConnection, providers }) =>\n\t\t\t\tnew DatabaseContext(readConnection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('identityFetcher', ({ databaseContext }) =>\n\t\t\t\tnew IdentityFetcher(databaseContext.client))\n\t\t\t.addService('migrationsRunner', ({ providers }) =>\n\t\t\t\tnew TenantMigrationsRunner(args.dbCredentials, 'tenant', args.tenantCredentials, providers))\n\t}\n}\n"],"names":["Builder","createMailer","TemplateRenderer","AccessEvaluator","PermissionsFactory","Authorizator","UserMailer","ApiKeyService","ApiKeyManager","EmailValidator","PasswordStrengthValidator","SignUpManager","PasswordChangeManager","ProjectMemberManager","IdentityFactory","ProjectScopeFactory","AclSchemaAccessNodeFactory","PermissionContextFactory","SecretsManager","ProjectManager","PersonAccessManager","PersonManager","PasswordResetManager","IDPHandlerRegistry","OIDCProvider","FacebookProvider","AppleProvider","IDPSignInManager","IDPManager","OtpAuthenticator","SignInManager","MembershipValidator","InviteManager","OtpManager","MailTemplateManager","RolesManager","ConfigurationManager","PasswordlessSignInManager","IdentityTypeResolver","ProjectTypeResolver","SignInResponseFactory","MeQueryResolver","PersonQueryResolver","IDPQueryResolver","ProjectQueryResolver","ProjectMembersQueryResolver","MailTemplateQueryResolver","SignUpMutationResolver","SignInMutationResolver","SignOutMutationResolver","ChangeProfileMutationResolver","ChangePasswordMutationResolver","ResetPasswordMutationResolver","InviteMutationResolver","AddProjectMemberMutationResolver","UpdateProjectMemberMutationResolver","RemoveProjectMemberMutationResolver","CreateApiKeyMutationResolver","DisableApiKeyMutationResolver","OtpMutationResolver","MailTemplateMutationResolver","IDPMutationResolver","AddIDPMutationResolver","UpdateIDPMutationResolver","DisableIDPMutationResolver","EnableIDPMutationResolver","CreateProjectMutationResolver","DisablePersonMutationResolver","UpdateProjectMutationResolver","SetProjectSecretMutationResolver","IdentityGlobalRolesMutationResolver","ConfigurationMutationResolver","ConfigurationQueryResolver","PasswordlessMutationResolver","TogglePasswordlessMutationResolver","AuthLogService","TenantResolverContextFactory","ResolverFactory","DatabaseContext","IdentityFetcher","TenantMigrationsRunner"],"mappings":"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"}
@@ -83,6 +83,8 @@ import { ConfigurationQueryResolver } from "./resolvers/query/ConfigurationQuery
83
83
  import { PasswordlessMutationResolver } from "./resolvers/mutation/person/PasswordlessMutationResolver.js";
84
84
  import { PasswordlessSignInManager } from "./model/service/PasswordlessSignInManager.js";
85
85
  import { TogglePasswordlessMutationResolver } from "./resolvers/mutation/person/TogglePasswordlessMutationResolver.js";
86
+ import { PasswordStrengthValidator } from "./model/service/PasswordStrengthValidator.js";
87
+ import { AuthLogService } from "./model/service/AuthLogService.js";
86
88
  class TenantContainerFactory {
87
89
  constructor(providers) {
88
90
  this.providers = providers;
@@ -105,13 +107,13 @@ class TenantContainerFactory {
105
107
  );
106
108
  }
107
109
  createBuilder(args) {
108
- return new Builder({}).addService("providers", () => ({ ...this.providers, ...args.cryptoProviders })).addService("mailer", () => createMailer(args.mailOptions)).addService("projectSchemaResolver", () => args.projectSchemaResolver).addService("templateRenderer", () => new TemplateRenderer()).addService("accessEvaluator", ({}) => new AccessEvaluator.PermissionEvaluator(new PermissionsFactory().create())).addService("authorizator", ({ accessEvaluator }) => new Authorizator.Default(accessEvaluator)).addService("userMailer", ({ mailer, templateRenderer }) => new UserMailer(mailer, templateRenderer)).addService("apiKeyService", () => new ApiKeyService()).addService("apiKeyManager", ({ apiKeyService }) => new ApiKeyManager(apiKeyService)).addService("emailValidator", () => new EmailValidator()).addService("signUpManager", ({ emailValidator }) => new SignUpManager(emailValidator)).addService("passwordChangeManager", ({ providers }) => new PasswordChangeManager(providers)).addService("projectMemberManager", () => new ProjectMemberManager()).addService("identityFactory", ({ projectMemberManager }) => new IdentityFactory(projectMemberManager)).addService("projectScopeFactory", () => new ProjectScopeFactory(new AclSchemaAccessNodeFactory())).addService("permissionContextFactory", ({ authorizator, identityFactory, projectScopeFactory, projectSchemaResolver }) => new PermissionContextFactory(authorizator, identityFactory, projectScopeFactory, projectSchemaResolver)).addService("secretManager", ({ providers }) => new SecretsManager(providers)).addService("projectManager", ({ secretManager, apiKeyService }) => new ProjectManager(secretManager, args.projectInitializer, apiKeyService)).addService("personAccessManager", ({ apiKeyManager }) => new PersonAccessManager(apiKeyManager)).addService("personManager", ({ emailValidator }) => new PersonManager(emailValidator)).addService("passwordResetManager", ({ userMailer, projectManager }) => new PasswordResetManager(userMailer, projectManager)).addService("idpRegistry", () => {
110
+ return new Builder({}).addService("providers", () => ({ ...this.providers, ...args.cryptoProviders })).addService("mailer", () => createMailer(args.mailOptions)).addService("projectSchemaResolver", () => args.projectSchemaResolver).addService("templateRenderer", () => new TemplateRenderer()).addService("accessEvaluator", ({}) => new AccessEvaluator.PermissionEvaluator(new PermissionsFactory().create())).addService("authorizator", ({ accessEvaluator }) => new Authorizator.Default(accessEvaluator)).addService("userMailer", ({ mailer, templateRenderer }) => new UserMailer(mailer, templateRenderer)).addService("apiKeyService", () => new ApiKeyService()).addService("apiKeyManager", ({ apiKeyService }) => new ApiKeyManager(apiKeyService)).addService("emailValidator", () => new EmailValidator()).addService("passwordStrengthValidator", () => new PasswordStrengthValidator()).addService("signUpManager", ({ emailValidator, passwordStrengthValidator }) => new SignUpManager(emailValidator, passwordStrengthValidator)).addService("passwordChangeManager", ({ providers, passwordStrengthValidator }) => new PasswordChangeManager(providers, passwordStrengthValidator)).addService("projectMemberManager", () => new ProjectMemberManager()).addService("identityFactory", ({ projectMemberManager }) => new IdentityFactory(projectMemberManager)).addService("projectScopeFactory", () => new ProjectScopeFactory(new AclSchemaAccessNodeFactory())).addService("permissionContextFactory", ({ authorizator, identityFactory, projectScopeFactory, projectSchemaResolver }) => new PermissionContextFactory(authorizator, identityFactory, projectScopeFactory, projectSchemaResolver)).addService("secretManager", ({ providers }) => new SecretsManager(providers)).addService("projectManager", ({ secretManager, apiKeyService }) => new ProjectManager(secretManager, args.projectInitializer, apiKeyService)).addService("personAccessManager", ({ apiKeyManager }) => new PersonAccessManager(apiKeyManager)).addService("personManager", ({ emailValidator }) => new PersonManager(emailValidator)).addService("passwordResetManager", ({ userMailer, projectManager, passwordStrengthValidator }) => new PasswordResetManager(userMailer, projectManager, passwordStrengthValidator)).addService("idpRegistry", () => {
109
111
  const idpRegistry = new IDPHandlerRegistry();
110
112
  idpRegistry.registerHandler("oidc", new OIDCProvider());
111
113
  idpRegistry.registerHandler("facebook", new FacebookProvider());
112
114
  idpRegistry.registerHandler("apple", new AppleProvider());
113
115
  return idpRegistry;
114
- }).addService("idpSignInManager", ({ apiKeyManager, idpRegistry }) => new IDPSignInManager(apiKeyManager, idpRegistry)).addService("idpManager", ({ idpRegistry }) => new IDPManager(idpRegistry)).addService("otpAuthenticator", ({ providers }) => new OtpAuthenticator(providers)).addService("signInManager", ({ apiKeyManager, providers, otpAuthenticator }) => new SignInManager(apiKeyManager, providers, otpAuthenticator)).addService("membershipValidator", ({ projectSchemaResolver }) => new MembershipValidator(projectSchemaResolver)).addService("inviteManager", ({ providers, userMailer, projectSchemaResolver }) => new InviteManager(providers, userMailer, projectSchemaResolver)).addService("otpManager", ({ otpAuthenticator }) => new OtpManager(otpAuthenticator)).addService("mailTemplateManager", () => new MailTemplateManager()).addService("rolesManager", () => new RolesManager()).addService("configurationManager", () => new ConfigurationManager()).addService("passwordlessSignInManager", ({ apiKeyManager, configurationManager, userMailer, projectManager, otpAuthenticator }) => new PasswordlessSignInManager(apiKeyManager, configurationManager, userMailer, projectManager, otpAuthenticator)).addService("identityTypeResolver", ({ projectMemberManager, projectManager, permissionContextFactory }) => new IdentityTypeResolver(projectMemberManager, projectManager, permissionContextFactory)).addService("projectTypeResolver", ({ projectMemberManager, projectSchemaResolver }) => new ProjectTypeResolver(projectMemberManager, projectSchemaResolver)).addService("signInResponseFactory", ({ permissionContextFactory, identityTypeResolver }) => new SignInResponseFactory(permissionContextFactory, identityTypeResolver)).addService("meQueryResolver", () => new MeQueryResolver()).addService("personQueryResolver", ({ personManager }) => new PersonQueryResolver(personManager)).addService("idpQueryResolver", ({ idpManager }) => new IDPQueryResolver(idpManager)).addService("projectQueryResolver", ({ projectManager }) => new ProjectQueryResolver(projectManager)).addService("projectMembersQueryResolver", ({ projectManager, projectMemberManager }) => new ProjectMembersQueryResolver(projectManager, projectMemberManager)).addService("mailTemplateQueryResolver", () => new MailTemplateQueryResolver()).addService("signUpMutationResolver", ({ signUpManager, apiKeyManager }) => new SignUpMutationResolver(signUpManager, apiKeyManager)).addService("signInMutationResolver", ({ signInManager, signInResponseFactory }) => new SignInMutationResolver(signInManager, signInResponseFactory)).addService("signOutMutationResolver", ({ apiKeyManager }) => new SignOutMutationResolver(apiKeyManager)).addService("changeProfileMutationResolver", ({ personManager }) => new ChangeProfileMutationResolver(personManager)).addService("changePasswordMutationResolver", ({ passwordChangeManager }) => new ChangePasswordMutationResolver(passwordChangeManager)).addService("resetPasswordMutationResolver", ({ passwordResetManager, permissionContextFactory }) => new ResetPasswordMutationResolver(passwordResetManager, permissionContextFactory)).addService("inviteMutationResolver", ({ inviteManager, projectManager, membershipValidator }) => new InviteMutationResolver(inviteManager, projectManager, membershipValidator)).addService("addProjectMemberMutationResolver", ({ projectMemberManager, projectManager, membershipValidator }) => new AddProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator)).addService("updateProjectMemberMutationResolver", ({ projectMemberManager, projectManager, membershipValidator }) => new UpdateProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator)).addService("removeProjectMemberMutationResolver", ({ projectMemberManager, projectManager }) => new RemoveProjectMemberMutationResolver(projectMemberManager, projectManager)).addService("createApiKeyMutationResolver", ({ apiKeyManager, projectManager, membershipValidator }) => new CreateApiKeyMutationResolver(apiKeyManager, projectManager, membershipValidator)).addService("disableApiKeyMutationResolver", ({ apiKeyManager }) => new DisableApiKeyMutationResolver(apiKeyManager)).addService("otpMutationResolver", ({ otpManager }) => new OtpMutationResolver(otpManager)).addService("mailTemplateMutationResolver", ({ projectManager, mailTemplateManager }) => new MailTemplateMutationResolver(projectManager, mailTemplateManager)).addService("idpMutationResolver", ({ idpSignInManager, signInResponseFactory }) => new IDPMutationResolver(idpSignInManager, signInResponseFactory)).addService("registerIdpMutationResolver", ({ idpManager }) => new AddIDPMutationResolver(idpManager)).addService("updateIdpMutationResolver", ({ idpManager }) => new UpdateIDPMutationResolver(idpManager)).addService("disableIdpMutationResolver", ({ idpManager }) => new DisableIDPMutationResolver(idpManager)).addService("enableIdpMutationResolver", ({ idpManager }) => new EnableIDPMutationResolver(idpManager)).addService("createProjectMutationResolver", ({ projectManager }) => new CreateProjectMutationResolver(projectManager)).addService("disablePersonMutationResolver", ({ personAccessManager, personManager }) => new DisablePersonMutationResolver(personAccessManager, personManager)).addService("updateProjectMutationResolver", ({ projectManager }) => new UpdateProjectMutationResolver(projectManager)).addService("setProjectSecretMutationResolver", ({ projectManager, secretManager }) => new SetProjectSecretMutationResolver(projectManager, secretManager)).addService("identityGlobalRolesMutationResolver", ({ rolesManager }) => new IdentityGlobalRolesMutationResolver(rolesManager)).addService("configurationMutationResolver", ({ configurationManager }) => new ConfigurationMutationResolver(configurationManager)).addService("configurationQueryResolver", ({ configurationManager }) => new ConfigurationQueryResolver(configurationManager)).addService("passwordlessMutationResolver", ({ passwordlessSignInManager, signInResponseFactory }) => new PasswordlessMutationResolver(passwordlessSignInManager, signInResponseFactory)).addService("togglePasswordlessMutationResolver", ({ configurationManager, personManager }) => new TogglePasswordlessMutationResolver(configurationManager, personManager)).addService("resolverContextFactory", ({ permissionContextFactory }) => new TenantResolverContextFactory(permissionContextFactory)).addService("resolvers", (container) => new ResolverFactory(container).create()).addService("connection", () => args.connection).addService("readConnection", () => args.readConnection).addService("databaseContext", ({ connection, providers }) => new DatabaseContext(connection.createClient("tenant", { module: "tenant" }), providers)).addService("readDatabaseContext", ({ readConnection, providers }) => new DatabaseContext(readConnection.createClient("tenant", { module: "tenant" }), providers)).addService("identityFetcher", ({ databaseContext }) => new IdentityFetcher(databaseContext.client)).addService("migrationsRunner", ({ providers }) => new TenantMigrationsRunner(args.dbCredentials, "tenant", args.tenantCredentials, providers));
116
+ }).addService("idpSignInManager", ({ apiKeyManager, idpRegistry }) => new IDPSignInManager(apiKeyManager, idpRegistry)).addService("idpManager", ({ idpRegistry }) => new IDPManager(idpRegistry)).addService("otpAuthenticator", ({ providers }) => new OtpAuthenticator(providers)).addService("signInManager", ({ apiKeyManager, providers, otpAuthenticator }) => new SignInManager(apiKeyManager, providers, otpAuthenticator)).addService("membershipValidator", ({ projectSchemaResolver }) => new MembershipValidator(projectSchemaResolver)).addService("inviteManager", ({ providers, userMailer, projectSchemaResolver }) => new InviteManager(providers, userMailer, projectSchemaResolver)).addService("otpManager", ({ otpAuthenticator }) => new OtpManager(otpAuthenticator)).addService("mailTemplateManager", () => new MailTemplateManager()).addService("rolesManager", () => new RolesManager()).addService("configurationManager", () => new ConfigurationManager()).addService("passwordlessSignInManager", ({ apiKeyManager, userMailer, projectManager, otpAuthenticator }) => new PasswordlessSignInManager(apiKeyManager, userMailer, projectManager, otpAuthenticator)).addService("identityTypeResolver", ({ projectMemberManager, projectManager, permissionContextFactory }) => new IdentityTypeResolver(projectMemberManager, projectManager, permissionContextFactory)).addService("projectTypeResolver", ({ projectMemberManager, projectSchemaResolver }) => new ProjectTypeResolver(projectMemberManager, projectSchemaResolver)).addService("signInResponseFactory", ({ permissionContextFactory, identityTypeResolver }) => new SignInResponseFactory(permissionContextFactory, identityTypeResolver)).addService("meQueryResolver", () => new MeQueryResolver()).addService("personQueryResolver", ({ personManager }) => new PersonQueryResolver(personManager)).addService("idpQueryResolver", ({ idpManager }) => new IDPQueryResolver(idpManager)).addService("projectQueryResolver", ({ projectManager }) => new ProjectQueryResolver(projectManager)).addService("projectMembersQueryResolver", ({ projectManager, projectMemberManager }) => new ProjectMembersQueryResolver(projectManager, projectMemberManager)).addService("mailTemplateQueryResolver", () => new MailTemplateQueryResolver()).addService("signUpMutationResolver", ({ signUpManager, apiKeyManager }) => new SignUpMutationResolver(signUpManager, apiKeyManager)).addService("signInMutationResolver", ({ signInManager, signInResponseFactory }) => new SignInMutationResolver(signInManager, signInResponseFactory)).addService("signOutMutationResolver", ({ apiKeyManager }) => new SignOutMutationResolver(apiKeyManager)).addService("changeProfileMutationResolver", ({ personManager }) => new ChangeProfileMutationResolver(personManager)).addService("changePasswordMutationResolver", ({ passwordChangeManager }) => new ChangePasswordMutationResolver(passwordChangeManager)).addService("resetPasswordMutationResolver", ({ passwordResetManager, permissionContextFactory }) => new ResetPasswordMutationResolver(passwordResetManager, permissionContextFactory)).addService("inviteMutationResolver", ({ inviteManager, projectManager, membershipValidator }) => new InviteMutationResolver(inviteManager, projectManager, membershipValidator)).addService("addProjectMemberMutationResolver", ({ projectMemberManager, projectManager, membershipValidator }) => new AddProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator)).addService("updateProjectMemberMutationResolver", ({ projectMemberManager, projectManager, membershipValidator }) => new UpdateProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator)).addService("removeProjectMemberMutationResolver", ({ projectMemberManager, projectManager }) => new RemoveProjectMemberMutationResolver(projectMemberManager, projectManager)).addService("createApiKeyMutationResolver", ({ apiKeyManager, projectManager, membershipValidator }) => new CreateApiKeyMutationResolver(apiKeyManager, projectManager, membershipValidator)).addService("disableApiKeyMutationResolver", ({ apiKeyManager }) => new DisableApiKeyMutationResolver(apiKeyManager)).addService("otpMutationResolver", ({ otpManager }) => new OtpMutationResolver(otpManager)).addService("mailTemplateMutationResolver", ({ projectManager, mailTemplateManager }) => new MailTemplateMutationResolver(projectManager, mailTemplateManager)).addService("idpMutationResolver", ({ idpSignInManager, signInResponseFactory }) => new IDPMutationResolver(idpSignInManager, signInResponseFactory)).addService("registerIdpMutationResolver", ({ idpManager }) => new AddIDPMutationResolver(idpManager)).addService("updateIdpMutationResolver", ({ idpManager }) => new UpdateIDPMutationResolver(idpManager)).addService("disableIdpMutationResolver", ({ idpManager }) => new DisableIDPMutationResolver(idpManager)).addService("enableIdpMutationResolver", ({ idpManager }) => new EnableIDPMutationResolver(idpManager)).addService("createProjectMutationResolver", ({ projectManager }) => new CreateProjectMutationResolver(projectManager)).addService("disablePersonMutationResolver", ({ personAccessManager, personManager }) => new DisablePersonMutationResolver(personAccessManager, personManager)).addService("updateProjectMutationResolver", ({ projectManager }) => new UpdateProjectMutationResolver(projectManager)).addService("setProjectSecretMutationResolver", ({ projectManager, secretManager }) => new SetProjectSecretMutationResolver(projectManager, secretManager)).addService("identityGlobalRolesMutationResolver", ({ rolesManager }) => new IdentityGlobalRolesMutationResolver(rolesManager)).addService("configurationMutationResolver", ({ configurationManager }) => new ConfigurationMutationResolver(configurationManager)).addService("configurationQueryResolver", ({ configurationManager }) => new ConfigurationQueryResolver(configurationManager)).addService("passwordlessMutationResolver", ({ passwordlessSignInManager, signInResponseFactory }) => new PasswordlessMutationResolver(passwordlessSignInManager, signInResponseFactory)).addService("togglePasswordlessMutationResolver", ({ configurationManager, personManager }) => new TogglePasswordlessMutationResolver(configurationManager, personManager)).addService("authLogService", () => new AuthLogService()).addService("resolverContextFactory", ({ permissionContextFactory, authLogService }) => new TenantResolverContextFactory(permissionContextFactory, authLogService)).addService("resolvers", (container) => new ResolverFactory(container).create()).addService("connection", () => args.connection).addService("readConnection", () => args.readConnection).addService("databaseContext", ({ connection, providers }) => new DatabaseContext(connection.createClient("tenant", { module: "tenant" }), providers)).addService("readDatabaseContext", ({ readConnection, providers }) => new DatabaseContext(readConnection.createClient("tenant", { module: "tenant" }), providers)).addService("identityFetcher", ({ databaseContext }) => new IdentityFetcher(databaseContext.client)).addService("migrationsRunner", ({ providers }) => new TenantMigrationsRunner(args.dbCredentials, "tenant", args.tenantCredentials, providers));
115
117
  }
116
118
  }
117
119
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"TenantContainer.js","sources":["../../../../packages/engine-tenant-api/src/TenantContainer.ts"],"sourcesContent":["import { AccessEvaluator, Authorizator } from '@contember/authorization'\nimport { Connection, DatabaseConfig } from '@contember/database'\nimport { Builder } from '@contember/dic'\nimport {\n\tAclSchemaAccessNodeFactory,\n\tApiKeyManager,\n\tApiKeyService,\n\tAppleProvider,\n\tDatabaseContext,\n\tEmailValidator,\n\tFacebookProvider,\n\tIdentity,\n\tIdentityFactory,\n\tIDPHandlerRegistry,\n\tIDPManager,\n\tIDPSignInManager,\n\tInviteManager,\n\tMailTemplateManager,\n\tMembershipValidator,\n\tOIDCProvider,\n\tOtpAuthenticator,\n\tOtpManager,\n\tPasswordChangeManager,\n\tPasswordResetManager,\n\tPermissionContextFactory,\n\tPermissionsFactory,\n\tPersonAccessManager,\n\tPersonManager,\n\tProjectInitializer,\n\tProjectManager,\n\tProjectMemberManager,\n\tProjectSchemaResolver,\n\tProjectScopeFactory,\n\tProviders,\n\tRolesManager,\n\tSecretsManager,\n\tSignInManager,\n\tSignUpManager,\n\tUserMailer,\n} from './model'\nimport {\n\tAddIDPMutationResolver,\n\tAddProjectMemberMutationResolver,\n\tChangePasswordMutationResolver,\n\tChangeProfileMutationResolver,\n\tCreateApiKeyMutationResolver,\n\tCreateProjectMutationResolver,\n\tDisableApiKeyMutationResolver,\n\tDisableIDPMutationResolver,\n\tEnableIDPMutationResolver,\n\tIdentityGlobalRolesMutationResolver,\n\tIdentityTypeResolver,\n\tIDPMutationResolver,\n\tInviteMutationResolver,\n\tMailTemplateMutationResolver,\n\tMeQueryResolver,\n\tOtpMutationResolver,\n\tPersonQueryResolver,\n\tProjectMembersQueryResolver,\n\tProjectQueryResolver,\n\tProjectTypeResolver,\n\tRemoveProjectMemberMutationResolver,\n\tResetPasswordMutationResolver,\n\tResolverFactory,\n\tSetProjectSecretMutationResolver,\n\tSignInMutationResolver,\n\tSignOutMutationResolver,\n\tSignUpMutationResolver,\n\tTenantResolverContextFactory,\n\tUpdateProjectMemberMutationResolver,\n\tUpdateProjectMutationResolver,\n} from './resolvers'\nimport * as Schema from './schema'\nimport { createMailer, MailerOptions, TemplateRenderer } from './utils'\nimport { IdentityFetcher } from './bridges/system/IdentityFetcher'\nimport { SignInResponseFactory } from './resolvers/responseHelpers/SignInResponseFactory'\nimport { IDPQueryResolver } from './resolvers/query/IDPQueryResolver'\nimport { UpdateIDPMutationResolver } from './resolvers/mutation/idp/UpdateIDPMutationResolver'\nimport { TenantCredentials, TenantMigrationsRunner } from './migrations'\nimport { DisablePersonMutationResolver } from './resolvers/mutation/person/DisablePersonMutationResolver'\nimport { MailTemplateQueryResolver } from './resolvers/query/MailTemplateQueryResolver'\nimport { ConfigurationManager } from './model/service/ConfigurationManager'\nimport { ConfigurationMutationResolver } from './resolvers/mutation/configuration/ConfigurationMutationResolver'\nimport { ConfigurationQueryResolver } from './resolvers/query/ConfigurationQueryResolver'\nimport { PasswordlessMutationResolver } from './resolvers/mutation/person/PasswordlessMutationResolver'\nimport { PasswordlessSignInManager } from './model/service/PasswordlessSignInManager'\nimport { TogglePasswordlessMutationResolver } from './resolvers/mutation/person/TogglePasswordlessMutationResolver'\n\nexport interface TenantContainer {\n\tprojectMemberManager: ProjectMemberManager\n\tapiKeyManager: ApiKeyManager\n\tsignUpManager: SignUpManager\n\tprojectManager: ProjectManager\n\tresolvers: Schema.Resolvers\n\tresolverContextFactory: TenantResolverContextFactory\n\tauthorizator: Authorizator<Identity>\n\tidentityFetcher: IdentityFetcher\n\tdatabaseContext: DatabaseContext\n\treadDatabaseContext: DatabaseContext\n\tmigrationsRunner: TenantMigrationsRunner\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n}\n\nexport interface TenantContainerArgs {\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n\tdbCredentials: DatabaseConfig\n\tmailOptions: MailerOptions\n\tprojectSchemaResolver: ProjectSchemaResolver\n\tprojectInitializer: ProjectInitializer\n\ttenantCredentials: TenantCredentials\n\tcryptoProviders: Pick<Providers, 'encrypt' | 'decrypt'>\n}\n\nexport class TenantContainerFactory {\n\tconstructor(\n\t\tprivate readonly providers: Omit<Providers, 'encrypt' | 'decrypt'>,\n\t) { }\n\n\tcreate(args: TenantContainerArgs): TenantContainer {\n\t\treturn this.createBuilder(args)\n\t\t\t.build()\n\t\t\t.pick(\n\t\t\t\t'apiKeyManager',\n\t\t\t\t'projectMemberManager',\n\t\t\t\t'projectManager',\n\t\t\t\t'signUpManager',\n\t\t\t\t'resolvers',\n\t\t\t\t'authorizator',\n\t\t\t\t'resolverContextFactory',\n\t\t\t\t'identityFetcher',\n\t\t\t\t'databaseContext',\n\t\t\t\t'readDatabaseContext',\n\t\t\t\t'migrationsRunner',\n\t\t\t\t'connection',\n\t\t\t\t'readConnection',\n\t\t\t)\n\t}\n\n\tcreateBuilder(args: TenantContainerArgs) {\n\t\treturn new Builder({})\n\t\t\t.addService('providers', () =>\n\t\t\t\t({ ...this.providers, ...args.cryptoProviders }))\n\t\t\t.addService('mailer', () =>\n\t\t\t\tcreateMailer(args.mailOptions))\n\t\t\t.addService('projectSchemaResolver', () =>\n\t\t\t\targs.projectSchemaResolver)\n\t\t\t.addService('templateRenderer', () =>\n\t\t\t\tnew TemplateRenderer())\n\t\t\t.addService('accessEvaluator', ({ }) =>\n\t\t\t\tnew AccessEvaluator.PermissionEvaluator(new PermissionsFactory().create()))\n\t\t\t.addService('authorizator', ({ accessEvaluator }) =>\n\t\t\t\tnew Authorizator.Default(accessEvaluator))\n\t\t\t.addService('userMailer', ({ mailer, templateRenderer }) =>\n\t\t\t\tnew UserMailer(mailer, templateRenderer))\n\t\t\t.addService('apiKeyService', () =>\n\t\t\t\tnew ApiKeyService())\n\t\t\t.addService('apiKeyManager', ({ apiKeyService }) =>\n\t\t\t\tnew ApiKeyManager(apiKeyService))\n\t\t\t.addService('emailValidator', () =>\n\t\t\t\tnew EmailValidator())\n\t\t\t.addService('signUpManager', ({ emailValidator }) =>\n\t\t\t\tnew SignUpManager(emailValidator))\n\t\t\t.addService('passwordChangeManager', ({ providers }) =>\n\t\t\t\tnew PasswordChangeManager(providers))\n\t\t\t.addService('projectMemberManager', () =>\n\t\t\t\tnew ProjectMemberManager())\n\t\t\t.addService('identityFactory', ({ projectMemberManager }) =>\n\t\t\t\tnew IdentityFactory(projectMemberManager))\n\t\t\t.addService('projectScopeFactory', () =>\n\t\t\t\tnew ProjectScopeFactory(new AclSchemaAccessNodeFactory()))\n\t\t\t.addService('permissionContextFactory', ({ authorizator, identityFactory, projectScopeFactory, projectSchemaResolver }) =>\n\t\t\t\tnew PermissionContextFactory(authorizator, identityFactory, projectScopeFactory, projectSchemaResolver))\n\t\t\t.addService('secretManager', ({ providers }) =>\n\t\t\t\tnew SecretsManager(providers))\n\t\t\t.addService('projectManager', ({ secretManager, apiKeyService }) =>\n\t\t\t\tnew ProjectManager(secretManager, args.projectInitializer, apiKeyService))\n\t\t\t.addService('personAccessManager', ({ apiKeyManager }) =>\n\t\t\t\tnew PersonAccessManager(apiKeyManager))\n\t\t\t.addService('personManager', ({ emailValidator }) =>\n\t\t\t\tnew PersonManager(emailValidator))\n\t\t\t.addService('passwordResetManager', ({ userMailer, projectManager }) =>\n\t\t\t\tnew PasswordResetManager(userMailer, projectManager))\n\t\t\t.addService('idpRegistry', () => {\n\t\t\t\tconst idpRegistry = new IDPHandlerRegistry()\n\t\t\t\tidpRegistry.registerHandler('oidc', new OIDCProvider())\n\t\t\t\tidpRegistry.registerHandler('facebook', new FacebookProvider())\n\t\t\t\tidpRegistry.registerHandler('apple', new AppleProvider())\n\t\t\t\treturn idpRegistry\n\t\t\t})\n\t\t\t.addService('idpSignInManager', ({ apiKeyManager, idpRegistry }) =>\n\t\t\t\tnew IDPSignInManager(apiKeyManager, idpRegistry))\n\t\t\t.addService('idpManager', ({ idpRegistry }) =>\n\t\t\t\tnew IDPManager(idpRegistry))\n\t\t\t.addService('otpAuthenticator', ({ providers }) =>\n\t\t\t\tnew OtpAuthenticator(providers))\n\t\t\t.addService('signInManager', ({ apiKeyManager, providers, otpAuthenticator }) =>\n\t\t\t\tnew SignInManager(apiKeyManager, providers, otpAuthenticator))\n\t\t\t.addService('membershipValidator', ({ projectSchemaResolver }) =>\n\t\t\t\tnew MembershipValidator(projectSchemaResolver))\n\t\t\t.addService('inviteManager', ({ providers, userMailer, projectSchemaResolver }) =>\n\t\t\t\tnew InviteManager(providers, userMailer, projectSchemaResolver))\n\t\t\t.addService('otpManager', ({ otpAuthenticator }) =>\n\t\t\t\tnew OtpManager(otpAuthenticator))\n\t\t\t.addService('mailTemplateManager', () =>\n\t\t\t\tnew MailTemplateManager())\n\t\t\t.addService('rolesManager', () =>\n\t\t\t\tnew RolesManager())\n\t\t\t.addService('configurationManager', () =>\n\t\t\t\tnew ConfigurationManager())\n\t\t\t.addService('passwordlessSignInManager', ({ apiKeyManager, configurationManager, userMailer, projectManager, otpAuthenticator }) =>\n\t\t\t\tnew PasswordlessSignInManager(apiKeyManager, configurationManager, userMailer, projectManager, otpAuthenticator))\n\n\t\t\t.addService('identityTypeResolver', ({ projectMemberManager, projectManager, permissionContextFactory }) =>\n\t\t\t\tnew IdentityTypeResolver(projectMemberManager, projectManager, permissionContextFactory))\n\t\t\t.addService('projectTypeResolver', ({ projectMemberManager, projectSchemaResolver }) =>\n\t\t\t\tnew ProjectTypeResolver(projectMemberManager, projectSchemaResolver))\n\t\t\t.addService('signInResponseFactory', ({ permissionContextFactory, identityTypeResolver }) =>\n\t\t\t\tnew SignInResponseFactory(permissionContextFactory, identityTypeResolver))\n\t\t\t.addService('meQueryResolver', () =>\n\t\t\t\tnew MeQueryResolver())\n\t\t\t.addService('personQueryResolver', ({ personManager }) =>\n\t\t\t\tnew PersonQueryResolver(personManager))\n\t\t\t.addService('idpQueryResolver', ({ idpManager }) =>\n\t\t\t\tnew IDPQueryResolver(idpManager))\n\t\t\t.addService('projectQueryResolver', ({ projectManager }) =>\n\t\t\t\tnew ProjectQueryResolver(projectManager))\n\t\t\t.addService('projectMembersQueryResolver', ({ projectManager, projectMemberManager }) =>\n\t\t\t\tnew ProjectMembersQueryResolver(projectManager, projectMemberManager))\n\t\t\t.addService('mailTemplateQueryResolver', () =>\n\t\t\t\tnew MailTemplateQueryResolver())\n\t\t\t.addService('signUpMutationResolver', ({ signUpManager, apiKeyManager }) =>\n\t\t\t\tnew SignUpMutationResolver(signUpManager, apiKeyManager))\n\t\t\t.addService('signInMutationResolver', ({ signInManager, signInResponseFactory }) =>\n\t\t\t\tnew SignInMutationResolver(signInManager, signInResponseFactory))\n\t\t\t.addService('signOutMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew SignOutMutationResolver(apiKeyManager))\n\t\t\t.addService('changeProfileMutationResolver', ({ personManager }) =>\n\t\t\t\tnew ChangeProfileMutationResolver(personManager))\n\t\t\t.addService('changePasswordMutationResolver', ({ passwordChangeManager }) =>\n\t\t\t\tnew ChangePasswordMutationResolver(passwordChangeManager))\n\t\t\t.addService('resetPasswordMutationResolver', ({ passwordResetManager, permissionContextFactory }) =>\n\t\t\t\tnew ResetPasswordMutationResolver(passwordResetManager, permissionContextFactory))\n\t\t\t.addService('inviteMutationResolver', ({ inviteManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew InviteMutationResolver(inviteManager, projectManager, membershipValidator))\n\t\t\t.addService('addProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew AddProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('updateProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew UpdateProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('removeProjectMemberMutationResolver', ({ projectMemberManager, projectManager }) =>\n\t\t\t\tnew RemoveProjectMemberMutationResolver(projectMemberManager, projectManager))\n\t\t\t.addService('createApiKeyMutationResolver', ({ apiKeyManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew CreateApiKeyMutationResolver(apiKeyManager, projectManager, membershipValidator))\n\t\t\t.addService('disableApiKeyMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew DisableApiKeyMutationResolver(apiKeyManager))\n\t\t\t.addService('otpMutationResolver', ({ otpManager }) =>\n\t\t\t\tnew OtpMutationResolver(otpManager))\n\t\t\t.addService('mailTemplateMutationResolver', ({ projectManager, mailTemplateManager }) =>\n\t\t\t\tnew MailTemplateMutationResolver(projectManager, mailTemplateManager))\n\t\t\t.addService('idpMutationResolver', ({ idpSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew IDPMutationResolver(idpSignInManager, signInResponseFactory))\n\t\t\t.addService('registerIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew AddIDPMutationResolver(idpManager))\n\t\t\t.addService('updateIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew UpdateIDPMutationResolver(idpManager))\n\t\t\t.addService('disableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew DisableIDPMutationResolver(idpManager))\n\t\t\t.addService('enableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew EnableIDPMutationResolver(idpManager))\n\t\t\t.addService('createProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew CreateProjectMutationResolver(projectManager))\n\t\t\t.addService('disablePersonMutationResolver', ({ personAccessManager, personManager }) =>\n\t\t\t\tnew DisablePersonMutationResolver(personAccessManager, personManager))\n\t\t\t.addService('updateProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew UpdateProjectMutationResolver(projectManager))\n\t\t\t.addService('setProjectSecretMutationResolver', ({ projectManager, secretManager }) =>\n\t\t\t\tnew SetProjectSecretMutationResolver(projectManager, secretManager))\n\t\t\t.addService('identityGlobalRolesMutationResolver', ({ rolesManager }) =>\n\t\t\t\tnew IdentityGlobalRolesMutationResolver(rolesManager))\n\t\t\t.addService('configurationMutationResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationMutationResolver(configurationManager))\n\t\t\t.addService('configurationQueryResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationQueryResolver(configurationManager))\n\t\t\t.addService('passwordlessMutationResolver', ({ passwordlessSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew PasswordlessMutationResolver(passwordlessSignInManager, signInResponseFactory))\n\t\t\t.addService('togglePasswordlessMutationResolver', ({ configurationManager, personManager }) =>\n\t\t\t\tnew TogglePasswordlessMutationResolver(configurationManager, personManager))\n\t\t\t.addService('resolverContextFactory', ({ permissionContextFactory }) =>\n\t\t\t\tnew TenantResolverContextFactory(permissionContextFactory))\n\t\t\t.addService('resolvers', container =>\n\t\t\t\tnew ResolverFactory(container).create())\n\t\t\t.addService('connection', () =>\n\t\t\t\targs.connection)\n\t\t\t.addService('readConnection', () =>\n\t\t\t\targs.readConnection)\n\t\t\t.addService('databaseContext', ({ connection, providers }) =>\n\t\t\t\tnew DatabaseContext(connection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('readDatabaseContext', ({ readConnection, providers }) =>\n\t\t\t\tnew DatabaseContext(readConnection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('identityFetcher', ({ databaseContext }) =>\n\t\t\t\tnew IdentityFetcher(databaseContext.client))\n\t\t\t.addService('migrationsRunner', ({ providers }) =>\n\t\t\t\tnew TenantMigrationsRunner(args.dbCredentials, 'tenant', args.tenantCredentials, providers))\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TenantContainer.js","sources":["../../../../packages/engine-tenant-api/src/TenantContainer.ts"],"sourcesContent":["import { AccessEvaluator, Authorizator } from '@contember/authorization'\nimport { Connection, DatabaseConfig } from '@contember/database'\nimport { Builder } from '@contember/dic'\nimport {\n\tAclSchemaAccessNodeFactory,\n\tApiKeyManager,\n\tApiKeyService,\n\tAppleProvider,\n\tDatabaseContext,\n\tEmailValidator,\n\tFacebookProvider,\n\tIdentity,\n\tIdentityFactory,\n\tIDPHandlerRegistry,\n\tIDPManager,\n\tIDPSignInManager,\n\tInviteManager,\n\tMailTemplateManager,\n\tMembershipValidator,\n\tOIDCProvider,\n\tOtpAuthenticator,\n\tOtpManager,\n\tPasswordChangeManager,\n\tPasswordResetManager,\n\tPermissionContextFactory,\n\tPermissionsFactory,\n\tPersonAccessManager,\n\tPersonManager,\n\tProjectInitializer,\n\tProjectManager,\n\tProjectMemberManager,\n\tProjectSchemaResolver,\n\tProjectScopeFactory,\n\tProviders,\n\tRolesManager,\n\tSecretsManager,\n\tSignInManager,\n\tSignUpManager,\n\tUserMailer,\n} from './model'\nimport {\n\tAddIDPMutationResolver,\n\tAddProjectMemberMutationResolver,\n\tChangePasswordMutationResolver,\n\tChangeProfileMutationResolver,\n\tCreateApiKeyMutationResolver,\n\tCreateProjectMutationResolver,\n\tDisableApiKeyMutationResolver,\n\tDisableIDPMutationResolver,\n\tEnableIDPMutationResolver,\n\tIdentityGlobalRolesMutationResolver,\n\tIdentityTypeResolver,\n\tIDPMutationResolver,\n\tInviteMutationResolver,\n\tMailTemplateMutationResolver,\n\tMeQueryResolver,\n\tOtpMutationResolver,\n\tPersonQueryResolver,\n\tProjectMembersQueryResolver,\n\tProjectQueryResolver,\n\tProjectTypeResolver,\n\tRemoveProjectMemberMutationResolver,\n\tResetPasswordMutationResolver,\n\tResolverFactory,\n\tSetProjectSecretMutationResolver,\n\tSignInMutationResolver,\n\tSignOutMutationResolver,\n\tSignUpMutationResolver,\n\tTenantResolverContextFactory,\n\tUpdateProjectMemberMutationResolver,\n\tUpdateProjectMutationResolver,\n} from './resolvers'\nimport * as Schema from './schema'\nimport { createMailer, MailerOptions, TemplateRenderer } from './utils'\nimport { IdentityFetcher } from './bridges/system/IdentityFetcher'\nimport { SignInResponseFactory } from './resolvers/responseHelpers/SignInResponseFactory'\nimport { IDPQueryResolver } from './resolvers/query/IDPQueryResolver'\nimport { UpdateIDPMutationResolver } from './resolvers/mutation/idp/UpdateIDPMutationResolver'\nimport { TenantCredentials, TenantMigrationsRunner } from './migrations'\nimport { DisablePersonMutationResolver } from './resolvers/mutation/person/DisablePersonMutationResolver'\nimport { MailTemplateQueryResolver } from './resolvers/query/MailTemplateQueryResolver'\nimport { ConfigurationManager } from './model/service/ConfigurationManager'\nimport { ConfigurationMutationResolver } from './resolvers/mutation/configuration/ConfigurationMutationResolver'\nimport { ConfigurationQueryResolver } from './resolvers/query/ConfigurationQueryResolver'\nimport { PasswordlessMutationResolver } from './resolvers/mutation/person/PasswordlessMutationResolver'\nimport { PasswordlessSignInManager } from './model/service/PasswordlessSignInManager'\nimport { TogglePasswordlessMutationResolver } from './resolvers/mutation/person/TogglePasswordlessMutationResolver'\nimport { PasswordStrengthValidator } from './model/service/PasswordStrengthValidator'\nimport { AuthLogService } from './model/service/AuthLogService'\n\nexport interface TenantContainer {\n\tprojectMemberManager: ProjectMemberManager\n\tapiKeyManager: ApiKeyManager\n\tsignUpManager: SignUpManager\n\tprojectManager: ProjectManager\n\tresolvers: Schema.Resolvers\n\tresolverContextFactory: TenantResolverContextFactory\n\tauthorizator: Authorizator<Identity>\n\tidentityFetcher: IdentityFetcher\n\tdatabaseContext: DatabaseContext\n\treadDatabaseContext: DatabaseContext\n\tmigrationsRunner: TenantMigrationsRunner\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n}\n\nexport interface TenantContainerArgs {\n\tconnection: Connection.ConnectionType\n\treadConnection: Connection.ConnectionType\n\tdbCredentials: DatabaseConfig\n\tmailOptions: MailerOptions\n\tprojectSchemaResolver: ProjectSchemaResolver\n\tprojectInitializer: ProjectInitializer\n\ttenantCredentials: TenantCredentials\n\tcryptoProviders: Pick<Providers, 'encrypt' | 'decrypt'>\n}\n\nexport class TenantContainerFactory {\n\tconstructor(\n\t\tprivate readonly providers: Omit<Providers, 'encrypt' | 'decrypt'>,\n\t) { }\n\n\tcreate(args: TenantContainerArgs): TenantContainer {\n\t\treturn this.createBuilder(args)\n\t\t\t.build()\n\t\t\t.pick(\n\t\t\t\t'apiKeyManager',\n\t\t\t\t'projectMemberManager',\n\t\t\t\t'projectManager',\n\t\t\t\t'signUpManager',\n\t\t\t\t'resolvers',\n\t\t\t\t'authorizator',\n\t\t\t\t'resolverContextFactory',\n\t\t\t\t'identityFetcher',\n\t\t\t\t'databaseContext',\n\t\t\t\t'readDatabaseContext',\n\t\t\t\t'migrationsRunner',\n\t\t\t\t'connection',\n\t\t\t\t'readConnection',\n\t\t\t)\n\t}\n\n\tcreateBuilder(args: TenantContainerArgs) {\n\t\treturn new Builder({})\n\t\t\t.addService('providers', () =>\n\t\t\t\t({ ...this.providers, ...args.cryptoProviders }))\n\t\t\t.addService('mailer', () =>\n\t\t\t\tcreateMailer(args.mailOptions))\n\t\t\t.addService('projectSchemaResolver', () =>\n\t\t\t\targs.projectSchemaResolver)\n\t\t\t.addService('templateRenderer', () =>\n\t\t\t\tnew TemplateRenderer())\n\t\t\t.addService('accessEvaluator', ({ }) =>\n\t\t\t\tnew AccessEvaluator.PermissionEvaluator(new PermissionsFactory().create()))\n\t\t\t.addService('authorizator', ({ accessEvaluator }) =>\n\t\t\t\tnew Authorizator.Default(accessEvaluator))\n\t\t\t.addService('userMailer', ({ mailer, templateRenderer }) =>\n\t\t\t\tnew UserMailer(mailer, templateRenderer))\n\t\t\t.addService('apiKeyService', () =>\n\t\t\t\tnew ApiKeyService())\n\t\t\t.addService('apiKeyManager', ({ apiKeyService }) =>\n\t\t\t\tnew ApiKeyManager(apiKeyService))\n\t\t\t.addService('emailValidator', () =>\n\t\t\t\tnew EmailValidator())\n\t\t\t.addService('passwordStrengthValidator', () =>\n\t\t\t\tnew PasswordStrengthValidator())\n\t\t\t.addService('signUpManager', ({ emailValidator, passwordStrengthValidator }) =>\n\t\t\t\tnew SignUpManager(emailValidator, passwordStrengthValidator))\n\t\t\t.addService('passwordChangeManager', ({ providers, passwordStrengthValidator }) =>\n\t\t\t\tnew PasswordChangeManager(providers, passwordStrengthValidator))\n\t\t\t.addService('projectMemberManager', () =>\n\t\t\t\tnew ProjectMemberManager())\n\t\t\t.addService('identityFactory', ({ projectMemberManager }) =>\n\t\t\t\tnew IdentityFactory(projectMemberManager))\n\t\t\t.addService('projectScopeFactory', () =>\n\t\t\t\tnew ProjectScopeFactory(new AclSchemaAccessNodeFactory()))\n\t\t\t.addService('permissionContextFactory', ({ authorizator, identityFactory, projectScopeFactory, projectSchemaResolver }) =>\n\t\t\t\tnew PermissionContextFactory(authorizator, identityFactory, projectScopeFactory, projectSchemaResolver))\n\t\t\t.addService('secretManager', ({ providers }) =>\n\t\t\t\tnew SecretsManager(providers))\n\t\t\t.addService('projectManager', ({ secretManager, apiKeyService }) =>\n\t\t\t\tnew ProjectManager(secretManager, args.projectInitializer, apiKeyService))\n\t\t\t.addService('personAccessManager', ({ apiKeyManager }) =>\n\t\t\t\tnew PersonAccessManager(apiKeyManager))\n\t\t\t.addService('personManager', ({ emailValidator }) =>\n\t\t\t\tnew PersonManager(emailValidator))\n\t\t\t.addService('passwordResetManager', ({ userMailer, projectManager, passwordStrengthValidator }) =>\n\t\t\t\tnew PasswordResetManager(userMailer, projectManager, passwordStrengthValidator))\n\t\t\t.addService('idpRegistry', () => {\n\t\t\t\tconst idpRegistry = new IDPHandlerRegistry()\n\t\t\t\tidpRegistry.registerHandler('oidc', new OIDCProvider())\n\t\t\t\tidpRegistry.registerHandler('facebook', new FacebookProvider())\n\t\t\t\tidpRegistry.registerHandler('apple', new AppleProvider())\n\t\t\t\treturn idpRegistry\n\t\t\t})\n\t\t\t.addService('idpSignInManager', ({ apiKeyManager, idpRegistry }) =>\n\t\t\t\tnew IDPSignInManager(apiKeyManager, idpRegistry))\n\t\t\t.addService('idpManager', ({ idpRegistry }) =>\n\t\t\t\tnew IDPManager(idpRegistry))\n\t\t\t.addService('otpAuthenticator', ({ providers }) =>\n\t\t\t\tnew OtpAuthenticator(providers))\n\t\t\t.addService('signInManager', ({ apiKeyManager, providers, otpAuthenticator }) =>\n\t\t\t\tnew SignInManager(apiKeyManager, providers, otpAuthenticator))\n\t\t\t.addService('membershipValidator', ({ projectSchemaResolver }) =>\n\t\t\t\tnew MembershipValidator(projectSchemaResolver))\n\t\t\t.addService('inviteManager', ({ providers, userMailer, projectSchemaResolver }) =>\n\t\t\t\tnew InviteManager(providers, userMailer, projectSchemaResolver))\n\t\t\t.addService('otpManager', ({ otpAuthenticator }) =>\n\t\t\t\tnew OtpManager(otpAuthenticator))\n\t\t\t.addService('mailTemplateManager', () =>\n\t\t\t\tnew MailTemplateManager())\n\t\t\t.addService('rolesManager', () =>\n\t\t\t\tnew RolesManager())\n\t\t\t.addService('configurationManager', () =>\n\t\t\t\tnew ConfigurationManager())\n\t\t\t.addService('passwordlessSignInManager', ({ apiKeyManager, userMailer, projectManager, otpAuthenticator }) =>\n\t\t\t\tnew PasswordlessSignInManager(apiKeyManager, userMailer, projectManager, otpAuthenticator))\n\n\t\t\t.addService('identityTypeResolver', ({ projectMemberManager, projectManager, permissionContextFactory }) =>\n\t\t\t\tnew IdentityTypeResolver(projectMemberManager, projectManager, permissionContextFactory))\n\t\t\t.addService('projectTypeResolver', ({ projectMemberManager, projectSchemaResolver }) =>\n\t\t\t\tnew ProjectTypeResolver(projectMemberManager, projectSchemaResolver))\n\t\t\t.addService('signInResponseFactory', ({ permissionContextFactory, identityTypeResolver }) =>\n\t\t\t\tnew SignInResponseFactory(permissionContextFactory, identityTypeResolver))\n\t\t\t.addService('meQueryResolver', () =>\n\t\t\t\tnew MeQueryResolver())\n\t\t\t.addService('personQueryResolver', ({ personManager }) =>\n\t\t\t\tnew PersonQueryResolver(personManager))\n\t\t\t.addService('idpQueryResolver', ({ idpManager }) =>\n\t\t\t\tnew IDPQueryResolver(idpManager))\n\t\t\t.addService('projectQueryResolver', ({ projectManager }) =>\n\t\t\t\tnew ProjectQueryResolver(projectManager))\n\t\t\t.addService('projectMembersQueryResolver', ({ projectManager, projectMemberManager }) =>\n\t\t\t\tnew ProjectMembersQueryResolver(projectManager, projectMemberManager))\n\t\t\t.addService('mailTemplateQueryResolver', () =>\n\t\t\t\tnew MailTemplateQueryResolver())\n\t\t\t.addService('signUpMutationResolver', ({ signUpManager, apiKeyManager }) =>\n\t\t\t\tnew SignUpMutationResolver(signUpManager, apiKeyManager))\n\t\t\t.addService('signInMutationResolver', ({ signInManager, signInResponseFactory }) =>\n\t\t\t\tnew SignInMutationResolver(signInManager, signInResponseFactory))\n\t\t\t.addService('signOutMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew SignOutMutationResolver(apiKeyManager))\n\t\t\t.addService('changeProfileMutationResolver', ({ personManager }) =>\n\t\t\t\tnew ChangeProfileMutationResolver(personManager))\n\t\t\t.addService('changePasswordMutationResolver', ({ passwordChangeManager }) =>\n\t\t\t\tnew ChangePasswordMutationResolver(passwordChangeManager))\n\t\t\t.addService('resetPasswordMutationResolver', ({ passwordResetManager, permissionContextFactory }) =>\n\t\t\t\tnew ResetPasswordMutationResolver(passwordResetManager, permissionContextFactory))\n\t\t\t.addService('inviteMutationResolver', ({ inviteManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew InviteMutationResolver(inviteManager, projectManager, membershipValidator))\n\t\t\t.addService('addProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew AddProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('updateProjectMemberMutationResolver', ({ projectMemberManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew UpdateProjectMemberMutationResolver(projectMemberManager, projectManager, membershipValidator))\n\t\t\t.addService('removeProjectMemberMutationResolver', ({ projectMemberManager, projectManager }) =>\n\t\t\t\tnew RemoveProjectMemberMutationResolver(projectMemberManager, projectManager))\n\t\t\t.addService('createApiKeyMutationResolver', ({ apiKeyManager, projectManager, membershipValidator }) =>\n\t\t\t\tnew CreateApiKeyMutationResolver(apiKeyManager, projectManager, membershipValidator))\n\t\t\t.addService('disableApiKeyMutationResolver', ({ apiKeyManager }) =>\n\t\t\t\tnew DisableApiKeyMutationResolver(apiKeyManager))\n\t\t\t.addService('otpMutationResolver', ({ otpManager }) =>\n\t\t\t\tnew OtpMutationResolver(otpManager))\n\t\t\t.addService('mailTemplateMutationResolver', ({ projectManager, mailTemplateManager }) =>\n\t\t\t\tnew MailTemplateMutationResolver(projectManager, mailTemplateManager))\n\t\t\t.addService('idpMutationResolver', ({ idpSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew IDPMutationResolver(idpSignInManager, signInResponseFactory))\n\t\t\t.addService('registerIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew AddIDPMutationResolver(idpManager))\n\t\t\t.addService('updateIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew UpdateIDPMutationResolver(idpManager))\n\t\t\t.addService('disableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew DisableIDPMutationResolver(idpManager))\n\t\t\t.addService('enableIdpMutationResolver', ({ idpManager }) =>\n\t\t\t\tnew EnableIDPMutationResolver(idpManager))\n\t\t\t.addService('createProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew CreateProjectMutationResolver(projectManager))\n\t\t\t.addService('disablePersonMutationResolver', ({ personAccessManager, personManager }) =>\n\t\t\t\tnew DisablePersonMutationResolver(personAccessManager, personManager))\n\t\t\t.addService('updateProjectMutationResolver', ({ projectManager }) =>\n\t\t\t\tnew UpdateProjectMutationResolver(projectManager))\n\t\t\t.addService('setProjectSecretMutationResolver', ({ projectManager, secretManager }) =>\n\t\t\t\tnew SetProjectSecretMutationResolver(projectManager, secretManager))\n\t\t\t.addService('identityGlobalRolesMutationResolver', ({ rolesManager }) =>\n\t\t\t\tnew IdentityGlobalRolesMutationResolver(rolesManager))\n\t\t\t.addService('configurationMutationResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationMutationResolver(configurationManager))\n\t\t\t.addService('configurationQueryResolver', ({ configurationManager }) =>\n\t\t\t\tnew ConfigurationQueryResolver(configurationManager))\n\t\t\t.addService('passwordlessMutationResolver', ({ passwordlessSignInManager, signInResponseFactory }) =>\n\t\t\t\tnew PasswordlessMutationResolver(passwordlessSignInManager, signInResponseFactory))\n\t\t\t.addService('togglePasswordlessMutationResolver', ({ configurationManager, personManager }) =>\n\t\t\t\tnew TogglePasswordlessMutationResolver(configurationManager, personManager))\n\t\t\t.addService('authLogService', () =>\n\t\t\t\tnew AuthLogService())\n\t\t\t.addService('resolverContextFactory', ({ permissionContextFactory, authLogService }) =>\n\t\t\t\tnew TenantResolverContextFactory(permissionContextFactory, authLogService))\n\t\t\t.addService('resolvers', container =>\n\t\t\t\tnew ResolverFactory(container).create())\n\t\t\t.addService('connection', () =>\n\t\t\t\targs.connection)\n\t\t\t.addService('readConnection', () =>\n\t\t\t\targs.readConnection)\n\t\t\t.addService('databaseContext', ({ connection, providers }) =>\n\t\t\t\tnew DatabaseContext(connection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('readDatabaseContext', ({ readConnection, providers }) =>\n\t\t\t\tnew DatabaseContext(readConnection.createClient('tenant', { module: 'tenant' }), providers))\n\t\t\t.addService('identityFetcher', ({ databaseContext }) =>\n\t\t\t\tnew IdentityFetcher(databaseContext.client))\n\t\t\t.addService('migrationsRunner', ({ providers }) =>\n\t\t\t\tnew TenantMigrationsRunner(args.dbCredentials, 'tenant', args.tenantCredentials, providers))\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ require("openid-client");
17
17
  require("@contember/typesafe");
18
18
  require("../../model/service/idp/providers/OIDCTypes.cjs");
19
19
  require("../../model/service/idp/providers/FacebookProvider.cjs");
20
+ require("../../model/service/AuthLogService.cjs");
20
21
  require("@contember/schema-utils");
21
22
  require("otpauth");
22
23
  var __defProp = Object.defineProperty;
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityFetcher.cjs","sources":["../../../../../../packages/engine-tenant-api/src/bridges/system/IdentityFetcher.ts"],"sourcesContent":["import { Client } from '@contember/database'\nimport { IdentityQuery, PersonByIdentityBatchQuery } from '../../model'\n\nexport class IdentityFetcher {\n\tconstructor(\n\t\tprivate client: Client,\n\t) {\n\t}\n\n\tpublic async fetchIdentities(ids: string[]): Promise<Identity[]> {\n\t\tconst queryHandler = this.client.createQueryHandler()\n\t\tconst persons = await queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\tconst personIds = new Set(persons.map(it => it.identity_id))\n\t\tconst otherIdentityIds = ids.filter(it => !personIds.has(it))\n\t\tconst otherIdentities = await queryHandler.fetch(new IdentityQuery(otherIdentityIds))\n\n\t\treturn [\n\t\t\t...persons.map(\n\t\t\t\tit =>\n\t\t\t\t\tnew PersonIdentity(it.identity_id, {\n\t\t\t\t\t\tid: it.id,\n\t\t\t\t\t\tname: it.name ?? 'unnamed',\n\t\t\t\t\t}),\n\t\t\t),\n\t\t\t...otherIdentities.map(it => new ApiKeyIdentity(it.id, it.description)),\n\t\t]\n\t}\n}\n\nexport type Identity = PersonIdentity | ApiKeyIdentity\n\nexport class PersonIdentity {\n\tpublic readonly type = 'person' as const\n\n\tconstructor(\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly person: {\n\t\t\tid: string\n\t\t\tname: string\n\t\t},\n\t) {}\n}\n\nexport class ApiKeyIdentity {\n\tpublic readonly type = 'apiKey' as const\n\n\tconstructor(public readonly identityId: string, public readonly description: string) {}\n}\n"],"names":["PersonByIdentityBatchQuery","IdentityQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,gBAAgB;AAAA,EAC5B,YACS,QACP;AADO,SAAA,SAAA;AAAA,EAAA;AAAA,EAIT,MAAa,gBAAgB,KAAoC;AAC1D,UAAA,eAAe,KAAK,OAAO,mBAAmB;AACpD,UAAM,UAAU,MAAM,aAAa,MAAM,IAAIA,2BAAAA,2BAA2B,GAAG,CAAC;AACtE,UAAA,YAAY,IAAI,IAAI,QAAQ,IAAI,CAAM,OAAA,GAAG,WAAW,CAAC;AACrD,UAAA,mBAAmB,IAAI,OAAO,CAAA,OAAM,CAAC,UAAU,IAAI,EAAE,CAAC;AAC5D,UAAM,kBAAkB,MAAM,aAAa,MAAM,IAAIC,cAAAA,cAAc,gBAAgB,CAAC;AAE7E,WAAA;AAAA,MACN,GAAG,QAAQ;AAAA,QACV,CACC,OAAA,IAAI,eAAe,GAAG,aAAa;AAAA,UAClC,IAAI,GAAG;AAAA,UACP,MAAM,GAAG,QAAQ;AAAA,QACjB,CAAA;AAAA,MACH;AAAA,MACA,GAAG,gBAAgB,IAAI,CAAM,OAAA,IAAI,eAAe,GAAG,IAAI,GAAG,WAAW,CAAC;AAAA,IACvE;AAAA,EAAA;AAEF;AAIO,MAAM,eAAe;AAAA,EAG3B,YACiB,YACA,QAIf;AALe,SAAA,aAAA;AACA,SAAA,SAAA;AAJjB,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AASxB;AAEO,MAAM,eAAe;AAAA,EAG3B,YAA4B,YAAoC,aAAqB;AAAzD,SAAA,aAAA;AAAoC,SAAA,cAAA;AAFhE,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AAGxB;;;;"}
1
+ {"version":3,"file":"IdentityFetcher.cjs","sources":["../../../../../../packages/engine-tenant-api/src/bridges/system/IdentityFetcher.ts"],"sourcesContent":["import { Client } from '@contember/database'\nimport { IdentityQuery, PersonByIdentityBatchQuery } from '../../model'\n\nexport class IdentityFetcher {\n\tconstructor(\n\t\tprivate client: Client,\n\t) {\n\t}\n\n\tpublic async fetchIdentities(ids: string[]): Promise<Identity[]> {\n\t\tconst queryHandler = this.client.createQueryHandler()\n\t\tconst persons = await queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\tconst personIds = new Set(persons.map(it => it.identity_id))\n\t\tconst otherIdentityIds = ids.filter(it => !personIds.has(it))\n\t\tconst otherIdentities = await queryHandler.fetch(new IdentityQuery(otherIdentityIds))\n\n\t\treturn [\n\t\t\t...persons.map(\n\t\t\t\tit =>\n\t\t\t\t\tnew PersonIdentity(it.identity_id, {\n\t\t\t\t\t\tid: it.id,\n\t\t\t\t\t\tname: it.name ?? 'unnamed',\n\t\t\t\t\t}),\n\t\t\t),\n\t\t\t...otherIdentities.map(it => new ApiKeyIdentity(it.id, it.description)),\n\t\t]\n\t}\n}\n\nexport type Identity = PersonIdentity | ApiKeyIdentity\n\nexport class PersonIdentity {\n\tpublic readonly type = 'person' as const\n\n\tconstructor(\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly person: {\n\t\t\tid: string\n\t\t\tname: string\n\t\t},\n\t) {}\n}\n\nexport class ApiKeyIdentity {\n\tpublic readonly type = 'apiKey' as const\n\n\tconstructor(public readonly identityId: string, public readonly description: string) {}\n}\n"],"names":["PersonByIdentityBatchQuery","IdentityQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,gBAAgB;AAAA,EAC5B,YACS,QACP;AADO,SAAA,SAAA;AAAA,EAAA;AAAA,EAIT,MAAa,gBAAgB,KAAoC;AAC1D,UAAA,eAAe,KAAK,OAAO,mBAAmB;AACpD,UAAM,UAAU,MAAM,aAAa,MAAM,IAAIA,2BAAAA,2BAA2B,GAAG,CAAC;AACtE,UAAA,YAAY,IAAI,IAAI,QAAQ,IAAI,CAAM,OAAA,GAAG,WAAW,CAAC;AACrD,UAAA,mBAAmB,IAAI,OAAO,CAAA,OAAM,CAAC,UAAU,IAAI,EAAE,CAAC;AAC5D,UAAM,kBAAkB,MAAM,aAAa,MAAM,IAAIC,cAAAA,cAAc,gBAAgB,CAAC;AAE7E,WAAA;AAAA,MACN,GAAG,QAAQ;AAAA,QACV,CACC,OAAA,IAAI,eAAe,GAAG,aAAa;AAAA,UAClC,IAAI,GAAG;AAAA,UACP,MAAM,GAAG,QAAQ;AAAA,QACjB,CAAA;AAAA,MACH;AAAA,MACA,GAAG,gBAAgB,IAAI,CAAM,OAAA,IAAI,eAAe,GAAG,IAAI,GAAG,WAAW,CAAC;AAAA,IACvE;AAAA,EAAA;AAEF;AAIO,MAAM,eAAe;AAAA,EAG3B,YACiB,YACA,QAIf;AALe,SAAA,aAAA;AACA,SAAA,SAAA;AAJjB,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AASxB;AAEO,MAAM,eAAe;AAAA,EAG3B,YAA4B,YAAoC,aAAqB;AAAzD,SAAA,aAAA;AAAoC,SAAA,cAAA;AAFhE,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AAGxB;;;;"}
@@ -15,6 +15,7 @@ import "openid-client";
15
15
  import "@contember/typesafe";
16
16
  import "../../model/service/idp/providers/OIDCTypes.js";
17
17
  import "../../model/service/idp/providers/FacebookProvider.js";
18
+ import "../../model/service/AuthLogService.js";
18
19
  import "@contember/schema-utils";
19
20
  import "otpauth";
20
21
  var __defProp = Object.defineProperty;
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityFetcher.js","sources":["../../../../../../packages/engine-tenant-api/src/bridges/system/IdentityFetcher.ts"],"sourcesContent":["import { Client } from '@contember/database'\nimport { IdentityQuery, PersonByIdentityBatchQuery } from '../../model'\n\nexport class IdentityFetcher {\n\tconstructor(\n\t\tprivate client: Client,\n\t) {\n\t}\n\n\tpublic async fetchIdentities(ids: string[]): Promise<Identity[]> {\n\t\tconst queryHandler = this.client.createQueryHandler()\n\t\tconst persons = await queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\tconst personIds = new Set(persons.map(it => it.identity_id))\n\t\tconst otherIdentityIds = ids.filter(it => !personIds.has(it))\n\t\tconst otherIdentities = await queryHandler.fetch(new IdentityQuery(otherIdentityIds))\n\n\t\treturn [\n\t\t\t...persons.map(\n\t\t\t\tit =>\n\t\t\t\t\tnew PersonIdentity(it.identity_id, {\n\t\t\t\t\t\tid: it.id,\n\t\t\t\t\t\tname: it.name ?? 'unnamed',\n\t\t\t\t\t}),\n\t\t\t),\n\t\t\t...otherIdentities.map(it => new ApiKeyIdentity(it.id, it.description)),\n\t\t]\n\t}\n}\n\nexport type Identity = PersonIdentity | ApiKeyIdentity\n\nexport class PersonIdentity {\n\tpublic readonly type = 'person' as const\n\n\tconstructor(\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly person: {\n\t\t\tid: string\n\t\t\tname: string\n\t\t},\n\t) {}\n}\n\nexport class ApiKeyIdentity {\n\tpublic readonly type = 'apiKey' as const\n\n\tconstructor(public readonly identityId: string, public readonly description: string) {}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,gBAAgB;AAAA,EAC5B,YACS,QACP;AADO,SAAA,SAAA;AAAA,EAAA;AAAA,EAIT,MAAa,gBAAgB,KAAoC;AAC1D,UAAA,eAAe,KAAK,OAAO,mBAAmB;AACpD,UAAM,UAAU,MAAM,aAAa,MAAM,IAAI,2BAA2B,GAAG,CAAC;AACtE,UAAA,YAAY,IAAI,IAAI,QAAQ,IAAI,CAAM,OAAA,GAAG,WAAW,CAAC;AACrD,UAAA,mBAAmB,IAAI,OAAO,CAAA,OAAM,CAAC,UAAU,IAAI,EAAE,CAAC;AAC5D,UAAM,kBAAkB,MAAM,aAAa,MAAM,IAAI,cAAc,gBAAgB,CAAC;AAE7E,WAAA;AAAA,MACN,GAAG,QAAQ;AAAA,QACV,CACC,OAAA,IAAI,eAAe,GAAG,aAAa;AAAA,UAClC,IAAI,GAAG;AAAA,UACP,MAAM,GAAG,QAAQ;AAAA,QACjB,CAAA;AAAA,MACH;AAAA,MACA,GAAG,gBAAgB,IAAI,CAAM,OAAA,IAAI,eAAe,GAAG,IAAI,GAAG,WAAW,CAAC;AAAA,IACvE;AAAA,EAAA;AAEF;AAIO,MAAM,eAAe;AAAA,EAG3B,YACiB,YACA,QAIf;AALe,SAAA,aAAA;AACA,SAAA,SAAA;AAJjB,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AASxB;AAEO,MAAM,eAAe;AAAA,EAG3B,YAA4B,YAAoC,aAAqB;AAAzD,SAAA,aAAA;AAAoC,SAAA,cAAA;AAFhE,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AAGxB;"}
1
+ {"version":3,"file":"IdentityFetcher.js","sources":["../../../../../../packages/engine-tenant-api/src/bridges/system/IdentityFetcher.ts"],"sourcesContent":["import { Client } from '@contember/database'\nimport { IdentityQuery, PersonByIdentityBatchQuery } from '../../model'\n\nexport class IdentityFetcher {\n\tconstructor(\n\t\tprivate client: Client,\n\t) {\n\t}\n\n\tpublic async fetchIdentities(ids: string[]): Promise<Identity[]> {\n\t\tconst queryHandler = this.client.createQueryHandler()\n\t\tconst persons = await queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\tconst personIds = new Set(persons.map(it => it.identity_id))\n\t\tconst otherIdentityIds = ids.filter(it => !personIds.has(it))\n\t\tconst otherIdentities = await queryHandler.fetch(new IdentityQuery(otherIdentityIds))\n\n\t\treturn [\n\t\t\t...persons.map(\n\t\t\t\tit =>\n\t\t\t\t\tnew PersonIdentity(it.identity_id, {\n\t\t\t\t\t\tid: it.id,\n\t\t\t\t\t\tname: it.name ?? 'unnamed',\n\t\t\t\t\t}),\n\t\t\t),\n\t\t\t...otherIdentities.map(it => new ApiKeyIdentity(it.id, it.description)),\n\t\t]\n\t}\n}\n\nexport type Identity = PersonIdentity | ApiKeyIdentity\n\nexport class PersonIdentity {\n\tpublic readonly type = 'person' as const\n\n\tconstructor(\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly person: {\n\t\t\tid: string\n\t\t\tname: string\n\t\t},\n\t) {}\n}\n\nexport class ApiKeyIdentity {\n\tpublic readonly type = 'apiKey' as const\n\n\tconstructor(public readonly identityId: string, public readonly description: string) {}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,gBAAgB;AAAA,EAC5B,YACS,QACP;AADO,SAAA,SAAA;AAAA,EAAA;AAAA,EAIT,MAAa,gBAAgB,KAAoC;AAC1D,UAAA,eAAe,KAAK,OAAO,mBAAmB;AACpD,UAAM,UAAU,MAAM,aAAa,MAAM,IAAI,2BAA2B,GAAG,CAAC;AACtE,UAAA,YAAY,IAAI,IAAI,QAAQ,IAAI,CAAM,OAAA,GAAG,WAAW,CAAC;AACrD,UAAA,mBAAmB,IAAI,OAAO,CAAA,OAAM,CAAC,UAAU,IAAI,EAAE,CAAC;AAC5D,UAAM,kBAAkB,MAAM,aAAa,MAAM,IAAI,cAAc,gBAAgB,CAAC;AAE7E,WAAA;AAAA,MACN,GAAG,QAAQ;AAAA,QACV,CACC,OAAA,IAAI,eAAe,GAAG,aAAa;AAAA,UAClC,IAAI,GAAG;AAAA,UACP,MAAM,GAAG,QAAQ;AAAA,QACjB,CAAA;AAAA,MACH;AAAA,MACA,GAAG,gBAAgB,IAAI,CAAM,OAAA,IAAI,eAAe,GAAG,IAAI,GAAG,WAAW,CAAC;AAAA,IACvE;AAAA,EAAA;AAEF;AAIO,MAAM,eAAe;AAAA,EAG3B,YACiB,YACA,QAIf;AALe,SAAA,aAAA;AACA,SAAA,SAAA;AAJjB,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AASxB;AAEO,MAAM,eAAe;AAAA,EAG3B,YAA4B,YAAoC,aAAqB;AAAzD,SAAA,aAAA;AAAoC,SAAA,cAAA;AAFhE,kBAAA,MAAgB,QAAO,QAAA;AAAA,EAAA;AAGxB;"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ const sql = `
3
+ ALTER TABLE "config"
4
+ ADD COLUMN "password_min_length" INTEGER NOT NULL DEFAULT 8,
5
+ ADD COLUMN "password_require_uppercase" INTEGER NOT NULL DEFAULT 1,
6
+ ADD COLUMN "password_require_lowercase" INTEGER NOT NULL DEFAULT 1,
7
+ ADD COLUMN "password_require_digit" INTEGER NOT NULL DEFAULT 1,
8
+ ADD COLUMN "password_require_special" INTEGER NOT NULL DEFAULT 0,
9
+ ADD COLUMN "password_pattern" TEXT DEFAULT NULL,
10
+ ADD COLUMN "password_check_blacklist" BOOLEAN NOT NULL DEFAULT TRUE,
11
+ ADD COLUMN "login_base_backoff" INTERVAL NOT NULL DEFAULT '1 second',
12
+ ADD COLUMN "login_max_backoff" INTERVAL NOT NULL DEFAULT '60 second',
13
+ ADD COLUMN "login_attempt_window" INTERVAL NOT NULL DEFAULT '5 minute',
14
+ ADD COLUMN "login_reveal_user_exits" BOOLEAN NOT NULL DEFAULT TRUE,
15
+ ADD COLUMN "login_default_token_expiration" INTERVAL NOT NULL DEFAULT '30 minute',
16
+ ADD COLUMN "login_max_token_expiration" INTERVAL DEFAULT '6 month';
17
+ ALTER TABLE "config"
18
+ RENAME passwordless_expiration_minutes TO passwordless_expiration;
19
+
20
+ ALTER TABLE "config"
21
+ ALTER COLUMN passwordless_expiration DROP DEFAULT,
22
+ ALTER COLUMN passwordless_expiration TYPE INTERVAL USING passwordless_expiration * INTERVAL '1 minute',
23
+ ALTER COLUMN passwordless_expiration SET DEFAULT INTERVAL '5 minute';
24
+
25
+ -- revert defaults for existing projects
26
+ UPDATE "config"
27
+ SET password_min_length = 6,
28
+ password_require_uppercase = 0,
29
+ password_require_lowercase = 0,
30
+ password_require_digit = 0,
31
+ password_check_blacklist = FALSE,
32
+ login_max_token_expiration = NULL;
33
+
34
+ `;
35
+ async function _20250416180000configup(builder) {
36
+ builder.sql(sql);
37
+ }
38
+ module.exports = _20250416180000configup;
39
+ //# sourceMappingURL=2025-04-16-180000-config-up.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2025-04-16-180000-config-up.cjs","sources":["../../../../../packages/engine-tenant-api/src/migrations/2025-04-16-180000-config-up.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\n ALTER TABLE \"config\"\n ADD COLUMN \"password_min_length\" INTEGER NOT NULL DEFAULT 8,\n ADD COLUMN \"password_require_uppercase\" INTEGER NOT NULL DEFAULT 1,\n ADD COLUMN \"password_require_lowercase\" INTEGER NOT NULL DEFAULT 1,\n ADD COLUMN \"password_require_digit\" INTEGER NOT NULL DEFAULT 1,\n ADD COLUMN \"password_require_special\" INTEGER NOT NULL DEFAULT 0,\n ADD COLUMN \"password_pattern\" TEXT DEFAULT NULL,\n ADD COLUMN \"password_check_blacklist\" BOOLEAN NOT NULL DEFAULT TRUE,\n ADD COLUMN \"login_base_backoff\" INTERVAL NOT NULL DEFAULT '1 second',\n ADD COLUMN \"login_max_backoff\" INTERVAL NOT NULL DEFAULT '60 second',\n ADD COLUMN \"login_attempt_window\" INTERVAL NOT NULL DEFAULT '5 minute',\n ADD COLUMN \"login_reveal_user_exits\" BOOLEAN NOT NULL DEFAULT TRUE,\n ADD COLUMN \"login_default_token_expiration\" INTERVAL NOT NULL DEFAULT '30 minute',\n ADD COLUMN \"login_max_token_expiration\" INTERVAL DEFAULT '6 month';\n ALTER TABLE \"config\"\n RENAME passwordless_expiration_minutes TO passwordless_expiration;\n\n ALTER TABLE \"config\"\n ALTER COLUMN passwordless_expiration DROP DEFAULT,\n ALTER COLUMN passwordless_expiration TYPE INTERVAL USING passwordless_expiration * INTERVAL '1 minute',\n ALTER COLUMN passwordless_expiration SET DEFAULT INTERVAL '5 minute';\n\n-- revert defaults for existing projects\n UPDATE \"config\"\n SET password_min_length = 6,\n password_require_uppercase = 0,\n password_require_lowercase = 0,\n password_require_digit = 0,\n password_check_blacklist = FALSE,\n login_max_token_expiration = NULL;\n\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":";AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCZ,eAAA,wBAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;;"}
@@ -0,0 +1,40 @@
1
+ const sql = `
2
+ ALTER TABLE "config"
3
+ ADD COLUMN "password_min_length" INTEGER NOT NULL DEFAULT 8,
4
+ ADD COLUMN "password_require_uppercase" INTEGER NOT NULL DEFAULT 1,
5
+ ADD COLUMN "password_require_lowercase" INTEGER NOT NULL DEFAULT 1,
6
+ ADD COLUMN "password_require_digit" INTEGER NOT NULL DEFAULT 1,
7
+ ADD COLUMN "password_require_special" INTEGER NOT NULL DEFAULT 0,
8
+ ADD COLUMN "password_pattern" TEXT DEFAULT NULL,
9
+ ADD COLUMN "password_check_blacklist" BOOLEAN NOT NULL DEFAULT TRUE,
10
+ ADD COLUMN "login_base_backoff" INTERVAL NOT NULL DEFAULT '1 second',
11
+ ADD COLUMN "login_max_backoff" INTERVAL NOT NULL DEFAULT '60 second',
12
+ ADD COLUMN "login_attempt_window" INTERVAL NOT NULL DEFAULT '5 minute',
13
+ ADD COLUMN "login_reveal_user_exits" BOOLEAN NOT NULL DEFAULT TRUE,
14
+ ADD COLUMN "login_default_token_expiration" INTERVAL NOT NULL DEFAULT '30 minute',
15
+ ADD COLUMN "login_max_token_expiration" INTERVAL DEFAULT '6 month';
16
+ ALTER TABLE "config"
17
+ RENAME passwordless_expiration_minutes TO passwordless_expiration;
18
+
19
+ ALTER TABLE "config"
20
+ ALTER COLUMN passwordless_expiration DROP DEFAULT,
21
+ ALTER COLUMN passwordless_expiration TYPE INTERVAL USING passwordless_expiration * INTERVAL '1 minute',
22
+ ALTER COLUMN passwordless_expiration SET DEFAULT INTERVAL '5 minute';
23
+
24
+ -- revert defaults for existing projects
25
+ UPDATE "config"
26
+ SET password_min_length = 6,
27
+ password_require_uppercase = 0,
28
+ password_require_lowercase = 0,
29
+ password_require_digit = 0,
30
+ password_check_blacklist = FALSE,
31
+ login_max_token_expiration = NULL;
32
+
33
+ `;
34
+ async function _20250416180000configup(builder) {
35
+ builder.sql(sql);
36
+ }
37
+ export {
38
+ _20250416180000configup as default
39
+ };
40
+ //# sourceMappingURL=2025-04-16-180000-config-up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2025-04-16-180000-config-up.js","sources":["../../../../../packages/engine-tenant-api/src/migrations/2025-04-16-180000-config-up.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\n ALTER TABLE \"config\"\n ADD COLUMN \"password_min_length\" INTEGER NOT NULL DEFAULT 8,\n ADD COLUMN \"password_require_uppercase\" INTEGER NOT NULL DEFAULT 1,\n ADD COLUMN \"password_require_lowercase\" INTEGER NOT NULL DEFAULT 1,\n ADD COLUMN \"password_require_digit\" INTEGER NOT NULL DEFAULT 1,\n ADD COLUMN \"password_require_special\" INTEGER NOT NULL DEFAULT 0,\n ADD COLUMN \"password_pattern\" TEXT DEFAULT NULL,\n ADD COLUMN \"password_check_blacklist\" BOOLEAN NOT NULL DEFAULT TRUE,\n ADD COLUMN \"login_base_backoff\" INTERVAL NOT NULL DEFAULT '1 second',\n ADD COLUMN \"login_max_backoff\" INTERVAL NOT NULL DEFAULT '60 second',\n ADD COLUMN \"login_attempt_window\" INTERVAL NOT NULL DEFAULT '5 minute',\n ADD COLUMN \"login_reveal_user_exits\" BOOLEAN NOT NULL DEFAULT TRUE,\n ADD COLUMN \"login_default_token_expiration\" INTERVAL NOT NULL DEFAULT '30 minute',\n ADD COLUMN \"login_max_token_expiration\" INTERVAL DEFAULT '6 month';\n ALTER TABLE \"config\"\n RENAME passwordless_expiration_minutes TO passwordless_expiration;\n\n ALTER TABLE \"config\"\n ALTER COLUMN passwordless_expiration DROP DEFAULT,\n ALTER COLUMN passwordless_expiration TYPE INTERVAL USING passwordless_expiration * INTERVAL '1 minute',\n ALTER COLUMN passwordless_expiration SET DEFAULT INTERVAL '5 minute';\n\n-- revert defaults for existing projects\n UPDATE \"config\"\n SET password_min_length = 6,\n password_require_uppercase = 0,\n password_require_lowercase = 0,\n password_require_digit = 0,\n password_check_blacklist = FALSE,\n login_max_token_expiration = NULL;\n\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCZ,eAAA,wBAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ const sql = `
3
+ CREATE TYPE auth_log_type AS ENUM (
4
+ 'login',
5
+ 'create_session_token',
6
+ 'idp_login',
7
+ 'password_reset_init',
8
+ 'password_reset',
9
+ 'password_change',
10
+ 'email_change',
11
+ '2fa_disable',
12
+ '2fa_enable',
13
+ 'passwordless_login_init',
14
+ 'passwordless_login_exchange',
15
+ 'passwordless_login',
16
+ 'person_disable'
17
+ );
18
+
19
+ CREATE TABLE person_auth_log (
20
+ id UUID PRIMARY KEY,
21
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
22
+ invoked_by_id UUID REFERENCES identity(id) ON DELETE SET NULL,
23
+ person_id UUID REFERENCES person(id) ON DELETE SET NULL,
24
+ person_token_id UUID REFERENCES person_token(id) ON DELETE SET NULL,
25
+ person_input_identifier TEXT DEFAULT NULL,
26
+ type auth_log_type NOT NULL,
27
+ success BOOLEAN NOT NULL,
28
+ error_code TEXT,
29
+ error_message TEXT,
30
+ ip_address INET,
31
+ user_agent TEXT,
32
+ identity_provider_id UUID REFERENCES identity_provider(id) ON DELETE SET NULL,
33
+ metadata JSONB
34
+ );
35
+ CREATE INDEX ON person_auth_log (person_input_identifier, created_at DESC)
36
+ WHERE type = 'login' AND success = FALSE;
37
+
38
+ CREATE INDEX ON person_auth_log (person_id, created_at DESC);
39
+
40
+ `;
41
+ async function _20250417160000authlog(builder) {
42
+ builder.sql(sql);
43
+ }
44
+ module.exports = _20250417160000authlog;
45
+ //# sourceMappingURL=2025-04-17-160000-auth-log.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2025-04-17-160000-auth-log.cjs","sources":["../../../../../packages/engine-tenant-api/src/migrations/2025-04-17-160000-auth-log.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE TYPE auth_log_type AS ENUM (\n 'login',\n 'create_session_token',\n 'idp_login',\n 'password_reset_init',\n 'password_reset',\n 'password_change',\n 'email_change',\n '2fa_disable',\n '2fa_enable',\n 'passwordless_login_init',\n 'passwordless_login_exchange',\n 'passwordless_login',\n 'person_disable'\n);\n\nCREATE TABLE person_auth_log (\n id UUID PRIMARY KEY,\n created_at TIMESTAMPTZ NOT NULL DEFAULT now(),\n invoked_by_id UUID REFERENCES identity(id) ON DELETE SET NULL,\n person_id UUID REFERENCES person(id) ON DELETE SET NULL,\n person_token_id UUID REFERENCES person_token(id) ON DELETE SET NULL,\n person_input_identifier TEXT DEFAULT NULL,\n type auth_log_type NOT NULL,\n success BOOLEAN NOT NULL,\n error_code TEXT,\n error_message TEXT,\n ip_address INET,\n user_agent TEXT,\n identity_provider_id UUID REFERENCES identity_provider(id) ON DELETE SET NULL,\n metadata JSONB\n);\nCREATE INDEX ON person_auth_log (person_input_identifier, created_at DESC)\n\tWHERE type = 'login' AND success = FALSE;\n\nCREATE INDEX ON person_auth_log (person_id, created_at DESC);\n \n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":";AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCZ,eAAA,uBAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;;"}
@@ -0,0 +1,46 @@
1
+ const sql = `
2
+ CREATE TYPE auth_log_type AS ENUM (
3
+ 'login',
4
+ 'create_session_token',
5
+ 'idp_login',
6
+ 'password_reset_init',
7
+ 'password_reset',
8
+ 'password_change',
9
+ 'email_change',
10
+ '2fa_disable',
11
+ '2fa_enable',
12
+ 'passwordless_login_init',
13
+ 'passwordless_login_exchange',
14
+ 'passwordless_login',
15
+ 'person_disable'
16
+ );
17
+
18
+ CREATE TABLE person_auth_log (
19
+ id UUID PRIMARY KEY,
20
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
21
+ invoked_by_id UUID REFERENCES identity(id) ON DELETE SET NULL,
22
+ person_id UUID REFERENCES person(id) ON DELETE SET NULL,
23
+ person_token_id UUID REFERENCES person_token(id) ON DELETE SET NULL,
24
+ person_input_identifier TEXT DEFAULT NULL,
25
+ type auth_log_type NOT NULL,
26
+ success BOOLEAN NOT NULL,
27
+ error_code TEXT,
28
+ error_message TEXT,
29
+ ip_address INET,
30
+ user_agent TEXT,
31
+ identity_provider_id UUID REFERENCES identity_provider(id) ON DELETE SET NULL,
32
+ metadata JSONB
33
+ );
34
+ CREATE INDEX ON person_auth_log (person_input_identifier, created_at DESC)
35
+ WHERE type = 'login' AND success = FALSE;
36
+
37
+ CREATE INDEX ON person_auth_log (person_id, created_at DESC);
38
+
39
+ `;
40
+ async function _20250417160000authlog(builder) {
41
+ builder.sql(sql);
42
+ }
43
+ export {
44
+ _20250417160000authlog as default
45
+ };
46
+ //# sourceMappingURL=2025-04-17-160000-auth-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2025-04-17-160000-auth-log.js","sources":["../../../../../packages/engine-tenant-api/src/migrations/2025-04-17-160000-auth-log.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE TYPE auth_log_type AS ENUM (\n 'login',\n 'create_session_token',\n 'idp_login',\n 'password_reset_init',\n 'password_reset',\n 'password_change',\n 'email_change',\n '2fa_disable',\n '2fa_enable',\n 'passwordless_login_init',\n 'passwordless_login_exchange',\n 'passwordless_login',\n 'person_disable'\n);\n\nCREATE TABLE person_auth_log (\n id UUID PRIMARY KEY,\n created_at TIMESTAMPTZ NOT NULL DEFAULT now(),\n invoked_by_id UUID REFERENCES identity(id) ON DELETE SET NULL,\n person_id UUID REFERENCES person(id) ON DELETE SET NULL,\n person_token_id UUID REFERENCES person_token(id) ON DELETE SET NULL,\n person_input_identifier TEXT DEFAULT NULL,\n type auth_log_type NOT NULL,\n success BOOLEAN NOT NULL,\n error_code TEXT,\n error_message TEXT,\n ip_address INET,\n user_agent TEXT,\n identity_provider_id UUID REFERENCES identity_provider(id) ON DELETE SET NULL,\n metadata JSONB\n);\nCREATE INDEX ON person_auth_log (person_input_identifier, created_at DESC)\n\tWHERE type = 'login' AND success = FALSE;\n\nCREATE INDEX ON person_auth_log (person_id, created_at DESC);\n \n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCZ,eAAA,uBAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;"}