@contember/engine-tenant-api 2.1.0-alpha.1 → 2.1.0-alpha.11

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 (421) hide show
  1. package/dist/development/src/bridges/system/IdentityFetcher.cjs +0 -1
  2. package/dist/development/src/bridges/system/IdentityFetcher.cjs.map +1 -1
  3. package/dist/development/src/bridges/system/IdentityFetcher.js +0 -1
  4. package/dist/development/src/bridges/system/IdentityFetcher.js.map +1 -1
  5. package/dist/development/src/migrations/runner.cjs +0 -1
  6. package/dist/development/src/migrations/runner.cjs.map +1 -1
  7. package/dist/development/src/migrations/runner.js +0 -1
  8. package/dist/development/src/migrations/runner.js.map +1 -1
  9. package/dist/development/src/model/service/IDPSignInManager.cjs +0 -1
  10. package/dist/development/src/model/service/IDPSignInManager.cjs.map +1 -1
  11. package/dist/development/src/model/service/IDPSignInManager.js +0 -1
  12. package/dist/development/src/model/service/IDPSignInManager.js.map +1 -1
  13. package/dist/development/src/model/service/idp/providers/OIDCHelpers.cjs +0 -3
  14. package/dist/development/src/model/service/idp/providers/OIDCHelpers.cjs.map +1 -1
  15. package/dist/development/src/model/service/idp/providers/OIDCHelpers.js +1 -4
  16. package/dist/development/src/model/service/idp/providers/OIDCHelpers.js.map +1 -1
  17. package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs +4 -1
  18. package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
  19. package/dist/development/src/model/service/idp/providers/OIDCProvider.js +5 -2
  20. package/dist/development/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
  21. package/dist/development/src/model/service/idp/providers/OIDCTypes.cjs +2 -1
  22. package/dist/development/src/model/service/idp/providers/OIDCTypes.cjs.map +1 -1
  23. package/dist/development/src/model/service/idp/providers/OIDCTypes.js +2 -1
  24. package/dist/development/src/model/service/idp/providers/OIDCTypes.js.map +1 -1
  25. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +0 -1
  26. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
  27. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +0 -1
  28. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
  29. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +0 -1
  30. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
  31. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +0 -1
  32. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
  33. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +0 -1
  34. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
  35. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +0 -1
  36. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
  37. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +0 -1
  38. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
  39. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +0 -1
  40. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
  41. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +0 -1
  42. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
  43. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js +0 -1
  44. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
  45. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +0 -1
  46. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
  47. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +0 -1
  48. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
  49. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +0 -1
  50. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
  51. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +0 -1
  52. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
  53. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +0 -1
  54. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
  55. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +0 -1
  56. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
  57. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +0 -1
  58. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
  59. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +0 -1
  60. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
  61. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +0 -1
  62. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
  63. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +0 -1
  64. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
  65. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +0 -1
  66. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
  67. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +0 -1
  68. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
  69. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +0 -1
  70. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  71. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js +0 -1
  72. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  73. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs +0 -1
  74. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
  75. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js +0 -1
  76. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
  77. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs +0 -1
  78. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
  79. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js +0 -1
  80. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
  81. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs +0 -1
  82. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
  83. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js +0 -1
  84. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
  85. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +0 -1
  86. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
  87. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js +0 -1
  88. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
  89. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +0 -1
  90. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  91. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +0 -1
  92. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  93. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs +0 -1
  94. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
  95. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js +0 -1
  96. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
  97. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs +0 -1
  98. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
  99. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js +0 -1
  100. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
  101. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs +0 -1
  102. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
  103. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js +0 -1
  104. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
  105. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +0 -1
  106. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
  107. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +0 -1
  108. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
  109. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +0 -1
  110. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
  111. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js +0 -1
  112. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
  113. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +0 -1
  114. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
  115. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +0 -1
  116. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
  117. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +0 -1
  118. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
  119. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +0 -1
  120. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
  121. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +0 -1
  122. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
  123. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +0 -1
  124. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
  125. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +0 -1
  126. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
  127. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +0 -1
  128. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
  129. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +0 -1
  130. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
  131. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +0 -1
  132. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
  133. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs +0 -1
  134. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
  135. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js +0 -1
  136. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
  137. package/dist/development/src/resolvers/query/IDPQueryResolver.cjs +0 -1
  138. package/dist/development/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
  139. package/dist/development/src/resolvers/query/IDPQueryResolver.js +0 -1
  140. package/dist/development/src/resolvers/query/IDPQueryResolver.js.map +1 -1
  141. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs +0 -1
  142. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
  143. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js +0 -1
  144. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
  145. package/dist/development/src/resolvers/query/PersonQueryResolver.cjs +0 -1
  146. package/dist/development/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
  147. package/dist/development/src/resolvers/query/PersonQueryResolver.js +0 -1
  148. package/dist/development/src/resolvers/query/PersonQueryResolver.js.map +1 -1
  149. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs +0 -1
  150. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
  151. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js +0 -1
  152. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
  153. package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs +0 -1
  154. package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
  155. package/dist/development/src/resolvers/query/ProjectQueryResolver.js +0 -1
  156. package/dist/development/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
  157. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs +0 -1
  158. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
  159. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js +0 -1
  160. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
  161. package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs +0 -1
  162. package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
  163. package/dist/development/src/resolvers/types/IdentityTypeResolver.js +0 -1
  164. package/dist/development/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
  165. package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs +0 -1
  166. package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  167. package/dist/development/src/resolvers/types/ProjectTypeResolver.js +0 -1
  168. package/dist/development/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  169. package/dist/production/src/bridges/system/IdentityFetcher.cjs +0 -1
  170. package/dist/production/src/bridges/system/IdentityFetcher.cjs.map +1 -1
  171. package/dist/production/src/bridges/system/IdentityFetcher.js +0 -1
  172. package/dist/production/src/bridges/system/IdentityFetcher.js.map +1 -1
  173. package/dist/production/src/migrations/runner.cjs +0 -1
  174. package/dist/production/src/migrations/runner.cjs.map +1 -1
  175. package/dist/production/src/migrations/runner.js +0 -1
  176. package/dist/production/src/migrations/runner.js.map +1 -1
  177. package/dist/production/src/model/service/IDPSignInManager.cjs +0 -1
  178. package/dist/production/src/model/service/IDPSignInManager.cjs.map +1 -1
  179. package/dist/production/src/model/service/IDPSignInManager.js +0 -1
  180. package/dist/production/src/model/service/IDPSignInManager.js.map +1 -1
  181. package/dist/production/src/model/service/idp/providers/OIDCHelpers.cjs +0 -3
  182. package/dist/production/src/model/service/idp/providers/OIDCHelpers.cjs.map +1 -1
  183. package/dist/production/src/model/service/idp/providers/OIDCHelpers.js +1 -4
  184. package/dist/production/src/model/service/idp/providers/OIDCHelpers.js.map +1 -1
  185. package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs +4 -1
  186. package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
  187. package/dist/production/src/model/service/idp/providers/OIDCProvider.js +5 -2
  188. package/dist/production/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
  189. package/dist/production/src/model/service/idp/providers/OIDCTypes.cjs +2 -1
  190. package/dist/production/src/model/service/idp/providers/OIDCTypes.cjs.map +1 -1
  191. package/dist/production/src/model/service/idp/providers/OIDCTypes.js +2 -1
  192. package/dist/production/src/model/service/idp/providers/OIDCTypes.js.map +1 -1
  193. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +0 -1
  194. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
  195. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +0 -1
  196. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
  197. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +0 -1
  198. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
  199. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +0 -1
  200. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
  201. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +0 -1
  202. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
  203. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +0 -1
  204. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
  205. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +0 -1
  206. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
  207. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +0 -1
  208. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
  209. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +0 -1
  210. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
  211. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js +0 -1
  212. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
  213. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +0 -1
  214. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
  215. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +0 -1
  216. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
  217. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +0 -1
  218. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
  219. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +0 -1
  220. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
  221. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +0 -1
  222. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
  223. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +0 -1
  224. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
  225. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +0 -1
  226. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
  227. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +0 -1
  228. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
  229. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +0 -1
  230. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
  231. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +0 -1
  232. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
  233. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +0 -1
  234. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
  235. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +0 -1
  236. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
  237. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +0 -1
  238. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  239. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js +0 -1
  240. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  241. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs +0 -1
  242. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
  243. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js +0 -1
  244. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
  245. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs +0 -1
  246. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
  247. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js +0 -1
  248. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
  249. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs +0 -1
  250. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
  251. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js +0 -1
  252. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
  253. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +0 -1
  254. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
  255. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js +0 -1
  256. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
  257. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +0 -1
  258. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  259. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +0 -1
  260. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  261. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs +0 -1
  262. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
  263. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js +0 -1
  264. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
  265. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs +0 -1
  266. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
  267. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js +0 -1
  268. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
  269. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs +0 -1
  270. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
  271. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js +0 -1
  272. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
  273. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +0 -1
  274. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
  275. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +0 -1
  276. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
  277. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +0 -1
  278. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
  279. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js +0 -1
  280. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
  281. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +0 -1
  282. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
  283. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +0 -1
  284. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
  285. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +0 -1
  286. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
  287. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +0 -1
  288. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
  289. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +0 -1
  290. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
  291. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +0 -1
  292. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
  293. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +0 -1
  294. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
  295. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +0 -1
  296. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
  297. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +0 -1
  298. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
  299. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +0 -1
  300. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
  301. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs +0 -1
  302. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
  303. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js +0 -1
  304. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
  305. package/dist/production/src/resolvers/query/IDPQueryResolver.cjs +0 -1
  306. package/dist/production/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
  307. package/dist/production/src/resolvers/query/IDPQueryResolver.js +0 -1
  308. package/dist/production/src/resolvers/query/IDPQueryResolver.js.map +1 -1
  309. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs +0 -1
  310. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
  311. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js +0 -1
  312. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
  313. package/dist/production/src/resolvers/query/PersonQueryResolver.cjs +0 -1
  314. package/dist/production/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
  315. package/dist/production/src/resolvers/query/PersonQueryResolver.js +0 -1
  316. package/dist/production/src/resolvers/query/PersonQueryResolver.js.map +1 -1
  317. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs +0 -1
  318. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
  319. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js +0 -1
  320. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
  321. package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs +0 -1
  322. package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
  323. package/dist/production/src/resolvers/query/ProjectQueryResolver.js +0 -1
  324. package/dist/production/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
  325. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs +0 -1
  326. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
  327. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js +0 -1
  328. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
  329. package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs +0 -1
  330. package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
  331. package/dist/production/src/resolvers/types/IdentityTypeResolver.js +0 -1
  332. package/dist/production/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
  333. package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs +0 -1
  334. package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  335. package/dist/production/src/resolvers/types/ProjectTypeResolver.js +0 -1
  336. package/dist/production/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  337. package/dist/tests/cases/integration/mocked/gql/addProjectMember.d.ts.map +1 -1
  338. package/dist/tests/cases/integration/mocked/gql/changeMyPassword.d.ts.map +1 -1
  339. package/dist/tests/cases/integration/mocked/gql/changeMyProfile.d.ts.map +1 -1
  340. package/dist/tests/cases/integration/mocked/gql/changePassword.d.ts.map +1 -1
  341. package/dist/tests/cases/integration/mocked/gql/changeProfile.d.ts.map +1 -1
  342. package/dist/tests/cases/integration/mocked/gql/confirmOtp.d.ts.map +1 -1
  343. package/dist/tests/cases/integration/mocked/gql/createApiKey.d.ts.map +1 -1
  344. package/dist/tests/cases/integration/mocked/gql/createResetPasswordRequest.d.ts.map +1 -1
  345. package/dist/tests/cases/integration/mocked/gql/createSessionToken.d.ts.map +1 -1
  346. package/dist/tests/cases/integration/mocked/gql/invite.d.ts.map +1 -1
  347. package/dist/tests/cases/integration/mocked/gql/prepareOtp.d.ts.map +1 -1
  348. package/dist/tests/cases/integration/mocked/gql/resetPassword.d.ts.map +1 -1
  349. package/dist/tests/cases/integration/mocked/gql/signIn.d.ts.map +1 -1
  350. package/dist/tests/cases/integration/mocked/gql/signInIdp.d.ts.map +1 -1
  351. package/dist/tests/cases/integration/mocked/gql/signUp.d.ts.map +1 -1
  352. package/dist/tests/cases/integration/mocked/gql/unmanagedInvite.d.ts.map +1 -1
  353. package/dist/tests/cases/integration/mocked/gql/updateProjectMember.d.ts.map +1 -1
  354. package/dist/tests/cases/integration/mocked/sql/createApiKeySql.d.ts.map +1 -1
  355. package/dist/tests/cases/integration/mocked/sql/createIdentitySql.d.ts.map +1 -1
  356. package/dist/tests/cases/integration/mocked/sql/createMembershipSql.d.ts.map +1 -1
  357. package/dist/tests/cases/integration/mocked/sql/createMembershipVariableSql.d.ts.map +1 -1
  358. package/dist/tests/cases/integration/mocked/sql/createPersonSql.d.ts.map +1 -1
  359. package/dist/tests/cases/integration/mocked/sql/createPersonTokenSql.d.ts.map +1 -1
  360. package/dist/tests/cases/integration/mocked/sql/createSessionKeySql.d.ts.map +1 -1
  361. package/dist/tests/cases/integration/mocked/sql/disableApiKeySql.d.ts.map +1 -1
  362. package/dist/tests/cases/integration/mocked/sql/disableOneOffKeySql.d.ts.map +1 -1
  363. package/dist/tests/cases/integration/mocked/sql/getApiKeySql.d.ts.map +1 -1
  364. package/dist/tests/cases/integration/mocked/sql/getIdentityProjectsSql.d.ts.map +1 -1
  365. package/dist/tests/cases/integration/mocked/sql/getIdpBySlugSql.d.ts.map +1 -1
  366. package/dist/tests/cases/integration/mocked/sql/getMailTemplateSql.d.ts.map +1 -1
  367. package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.d.ts.map +1 -1
  368. package/dist/tests/cases/integration/mocked/sql/getPersonByIdSql.d.ts.map +1 -1
  369. package/dist/tests/cases/integration/mocked/sql/getPersonByIdentity.d.ts.map +1 -1
  370. package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.d.ts.map +1 -1
  371. package/dist/tests/cases/integration/mocked/sql/getProjectBySlugSql.d.ts.map +1 -1
  372. package/dist/tests/cases/integration/mocked/sql/getProjectMembershipSql.d.ts.map +1 -1
  373. package/dist/tests/cases/integration/mocked/sql/patchVariablesSql.d.ts.map +1 -1
  374. package/dist/tests/cases/integration/mocked/sql/selectMembershipsSql.d.ts.map +1 -1
  375. package/dist/tests/cases/integration/mocked/sql/sqlTransaction.d.ts.map +1 -1
  376. package/dist/tests/cases/integration/mocked/sql/updatePesonNameSql.d.ts.map +1 -1
  377. package/dist/tests/cases/integration/mocked/sql/updatePesonPasswordSql.d.ts.map +1 -1
  378. package/dist/tests/src/dbUtils.d.ts.map +1 -1
  379. package/dist/tests/src/tags.d.ts.map +1 -1
  380. package/dist/tests/src/testGraphql.d.ts.map +1 -1
  381. package/dist/tests/src/testTenant.d.ts.map +1 -1
  382. package/dist/tests/src/testUuid.d.ts.map +1 -1
  383. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  384. package/dist/types/TenantContainer.d.ts +1 -1
  385. package/dist/types/bridges/system/IdentityFetcher.d.ts.map +1 -1
  386. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
  387. package/dist/types/migrations/tenantCredentials.d.ts.map +1 -1
  388. package/dist/types/model/authorization/PermissionActions.d.ts.map +1 -1
  389. package/dist/types/model/mailing/templates/Layout.mustache.d.ts.map +1 -1
  390. package/dist/types/model/mailing/type.d.ts.map +1 -1
  391. package/dist/types/model/queries/idp/helpers.d.ts.map +1 -1
  392. package/dist/types/model/queries/membership/ProjectSlugSpecification.d.ts.map +1 -1
  393. package/dist/types/model/service/helpers/getPreferredProject.d.ts.map +1 -1
  394. package/dist/types/model/service/idp/providers/AppleProvider.d.ts +2 -0
  395. package/dist/types/model/service/idp/providers/AppleProvider.d.ts.map +1 -1
  396. package/dist/types/model/service/idp/providers/FacebookProvider.d.ts +2 -0
  397. package/dist/types/model/service/idp/providers/FacebookProvider.d.ts.map +1 -1
  398. package/dist/types/model/service/idp/providers/OIDCHelpers.d.ts.map +1 -1
  399. package/dist/types/model/service/idp/providers/OIDCProvider.d.ts +1 -0
  400. package/dist/types/model/service/idp/providers/OIDCProvider.d.ts.map +1 -1
  401. package/dist/types/model/service/idp/providers/OIDCTypes.d.ts +4 -0
  402. package/dist/types/model/service/idp/providers/OIDCTypes.d.ts.map +1 -1
  403. package/dist/types/model/service/idp/providers/helpers.d.ts.map +1 -1
  404. package/dist/types/model/service/membershipUtils.d.ts.map +1 -1
  405. package/dist/types/model/utils/email.d.ts.map +1 -1
  406. package/dist/types/model/utils/password.d.ts.map +1 -1
  407. package/dist/types/model/utils/time.d.ts.map +1 -1
  408. package/dist/types/model/utils/tokenUtils.d.ts.map +1 -1
  409. package/dist/types/model/utils/typeUtils.d.ts.map +1 -1
  410. package/dist/types/resolvers/TenantResolverContextFactory.d.ts.map +1 -1
  411. package/dist/types/resolvers/errorUtils.d.ts.map +1 -1
  412. package/dist/types/resolvers/membershipUtils.d.ts.map +1 -1
  413. package/dist/types/tsconfig.tsbuildinfo +1 -1
  414. package/dist/types/utils/Mailer.d.ts.map +1 -1
  415. package/dist/types/utils/array.d.ts.map +1 -1
  416. package/dist/types/utils/batchQuery.d.ts +1 -1
  417. package/dist/types/utils/batchQuery.d.ts.map +1 -1
  418. package/package.json +13 -13
  419. package/src/model/service/idp/providers/OIDCHelpers.ts +1 -5
  420. package/src/model/service/idp/providers/OIDCProvider.ts +7 -2
  421. package/src/model/service/idp/providers/OIDCTypes.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordlessMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/PasswordlessMutationResolver.ts"],"sourcesContent":["import {\n\tActivatePasswordlessOtpResponse,\n\tInitSignInPasswordlessResponse, MutationActivatePasswordlessOtpArgs,\n\tMutationInitSignInPasswordlessArgs,\n\tMutationResolvers,\n\tMutationSignInPasswordlessArgs,\n\tSignInPasswordlessResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { PasswordlessSignInManager } from '../../../model/service/PasswordlessSignInManager'\n\nexport class PasswordlessMutationResolver implements Pick<MutationResolvers, 'initSignInPasswordless' | 'signInPasswordless' | 'activatePasswordlessOtp'> {\n\tconstructor(\n\t\tprivate readonly passwordlessSignInManager: PasswordlessSignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync initSignInPasswordless(\n\t\tparent: any,\n\t\targs: MutationInitSignInPasswordlessArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<InitSignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_REQUEST_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to request passwordless sign in',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.initSignInPasswordless({\n\t\t\tdb: context.db,\n\t\t\tpermissionContext: context.permissionContext,\n\t\t\temail: args.email,\n\t\t\tmailVariant: args.options?.mailVariant ?? undefined,\n\t\t\tmailProject: args.options?.mailProject ?? undefined,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true, result: result.result }\n\t}\n\n\tasync signInPasswordless(parent: any, args: MutationSignInPasswordlessArgs, context: TenantResolverContext): Promise<SignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in using passwordless',\n\t\t})\n\t\tconst signIn = await this.passwordlessSignInManager.signInPasswordless({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\tmfaOtp: args.mfaOtp ?? undefined,\n\t\t\tvalidationType: args.validationType,\n\t\t\texpiration: args.expiration ?? undefined,\n\t\t})\n\t\tif (!signIn.ok) {\n\t\t\treturn createErrorResponse(signIn.error, signIn.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(signIn.result, context),\n\t\t}\n\t}\n\n\tasync activatePasswordlessOtp(parent: any, args: MutationActivatePasswordlessOtpArgs, context: TenantResolverContext): Promise<ActivatePasswordlessOtpResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to activate passwordless OTP',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.activatePasswordlessOtp({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\totpHash: args.otpHash,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true }\n\t}\n}\n"],"names":["PermissionActions","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,6BAA6I;AAAA,EACzJ,YACkB,2BACA,uBAChB;AAFgB,SAAA,4BAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,uBACL,QACA,MACA,SAC0C;AAC1C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,uBAAuB;AAAA,MAC1E,IAAI,QAAQ;AAAA,MACZ,mBAAmB,QAAQ;AAAA,MAC3B,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,aAAa,KAAK,SAAS,eAAe;AAAA,IAAA,CAC1C;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAE7D,WAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,OAAO;AAAA,EAAA;AAAA,EAG1C,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQD,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,mBAAmB;AAAA,MACtE,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK,UAAU;AAAA,MACvB,gBAAgB,KAAK;AAAA,MACrB,YAAY,KAAK,cAAc;AAAA,IAAA,CAC/B;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,OAAO,QAAQ,OAAO;AAAA,IAC/E;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,QAAa,MAA2C,SAA0E;AAC/J,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQD,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,wBAAwB;AAAA,MAC3E,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,IAAA,CACd;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;;"}
1
+ {"version":3,"file":"PasswordlessMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/PasswordlessMutationResolver.ts"],"sourcesContent":["import {\n\tActivatePasswordlessOtpResponse,\n\tInitSignInPasswordlessResponse, MutationActivatePasswordlessOtpArgs,\n\tMutationInitSignInPasswordlessArgs,\n\tMutationResolvers,\n\tMutationSignInPasswordlessArgs,\n\tSignInPasswordlessResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { PasswordlessSignInManager } from '../../../model/service/PasswordlessSignInManager'\n\nexport class PasswordlessMutationResolver implements Pick<MutationResolvers, 'initSignInPasswordless' | 'signInPasswordless' | 'activatePasswordlessOtp'> {\n\tconstructor(\n\t\tprivate readonly passwordlessSignInManager: PasswordlessSignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync initSignInPasswordless(\n\t\tparent: any,\n\t\targs: MutationInitSignInPasswordlessArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<InitSignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_REQUEST_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to request passwordless sign in',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.initSignInPasswordless({\n\t\t\tdb: context.db,\n\t\t\tpermissionContext: context.permissionContext,\n\t\t\temail: args.email,\n\t\t\tmailVariant: args.options?.mailVariant ?? undefined,\n\t\t\tmailProject: args.options?.mailProject ?? undefined,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true, result: result.result }\n\t}\n\n\tasync signInPasswordless(parent: any, args: MutationSignInPasswordlessArgs, context: TenantResolverContext): Promise<SignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in using passwordless',\n\t\t})\n\t\tconst signIn = await this.passwordlessSignInManager.signInPasswordless({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\tmfaOtp: args.mfaOtp ?? undefined,\n\t\t\tvalidationType: args.validationType,\n\t\t\texpiration: args.expiration ?? undefined,\n\t\t})\n\t\tif (!signIn.ok) {\n\t\t\treturn createErrorResponse(signIn.error, signIn.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(signIn.result, context),\n\t\t}\n\t}\n\n\tasync activatePasswordlessOtp(parent: any, args: MutationActivatePasswordlessOtpArgs, context: TenantResolverContext): Promise<ActivatePasswordlessOtpResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to activate passwordless OTP',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.activatePasswordlessOtp({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\totpHash: args.otpHash,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true }\n\t}\n}\n"],"names":["PermissionActions","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;AAcO,MAAM,6BAA6I;AAAA,EACzJ,YACkB,2BACA,uBAChB;AAFgB,SAAA,4BAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,uBACL,QACA,MACA,SAC0C;AAC1C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,uBAAuB;AAAA,MAC1E,IAAI,QAAQ;AAAA,MACZ,mBAAmB,QAAQ;AAAA,MAC3B,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,aAAa,KAAK,SAAS,eAAe;AAAA,IAAA,CAC1C;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAE7D,WAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,OAAO;AAAA,EAAA;AAAA,EAG1C,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQD,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,mBAAmB;AAAA,MACtE,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK,UAAU;AAAA,MACvB,gBAAgB,KAAK;AAAA,MACrB,YAAY,KAAK,cAAc;AAAA,IAAA,CAC/B;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,OAAO,QAAQ,OAAO;AAAA,IAC/E;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,QAAa,MAA2C,SAA0E;AAC/J,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQD,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,wBAAwB;AAAA,MAC3E,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,IAAA,CACd;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;;"}
@@ -12,7 +12,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
12
12
  import "openid-client";
13
13
  import "@contember/typesafe";
14
14
  import "../../../model/service/idp/providers/OIDCTypes.js";
15
- import "../../../model/service/idp/providers/OIDCHelpers.js";
16
15
  import "../../../model/service/idp/providers/FacebookProvider.js";
17
16
  import "@contember/schema-utils";
18
17
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordlessMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/PasswordlessMutationResolver.ts"],"sourcesContent":["import {\n\tActivatePasswordlessOtpResponse,\n\tInitSignInPasswordlessResponse, MutationActivatePasswordlessOtpArgs,\n\tMutationInitSignInPasswordlessArgs,\n\tMutationResolvers,\n\tMutationSignInPasswordlessArgs,\n\tSignInPasswordlessResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { PasswordlessSignInManager } from '../../../model/service/PasswordlessSignInManager'\n\nexport class PasswordlessMutationResolver implements Pick<MutationResolvers, 'initSignInPasswordless' | 'signInPasswordless' | 'activatePasswordlessOtp'> {\n\tconstructor(\n\t\tprivate readonly passwordlessSignInManager: PasswordlessSignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync initSignInPasswordless(\n\t\tparent: any,\n\t\targs: MutationInitSignInPasswordlessArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<InitSignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_REQUEST_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to request passwordless sign in',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.initSignInPasswordless({\n\t\t\tdb: context.db,\n\t\t\tpermissionContext: context.permissionContext,\n\t\t\temail: args.email,\n\t\t\tmailVariant: args.options?.mailVariant ?? undefined,\n\t\t\tmailProject: args.options?.mailProject ?? undefined,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true, result: result.result }\n\t}\n\n\tasync signInPasswordless(parent: any, args: MutationSignInPasswordlessArgs, context: TenantResolverContext): Promise<SignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in using passwordless',\n\t\t})\n\t\tconst signIn = await this.passwordlessSignInManager.signInPasswordless({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\tmfaOtp: args.mfaOtp ?? undefined,\n\t\t\tvalidationType: args.validationType,\n\t\t\texpiration: args.expiration ?? undefined,\n\t\t})\n\t\tif (!signIn.ok) {\n\t\t\treturn createErrorResponse(signIn.error, signIn.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(signIn.result, context),\n\t\t}\n\t}\n\n\tasync activatePasswordlessOtp(parent: any, args: MutationActivatePasswordlessOtpArgs, context: TenantResolverContext): Promise<ActivatePasswordlessOtpResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to activate passwordless OTP',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.activatePasswordlessOtp({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\totpHash: args.otpHash,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAcO,MAAM,6BAA6I;AAAA,EACzJ,YACkB,2BACA,uBAChB;AAFgB,SAAA,4BAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,uBACL,QACA,MACA,SAC0C;AAC1C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,uBAAuB;AAAA,MAC1E,IAAI,QAAQ;AAAA,MACZ,mBAAmB,QAAQ;AAAA,MAC3B,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,aAAa,KAAK,SAAS,eAAe;AAAA,IAAA,CAC1C;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAE7D,WAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,OAAO;AAAA,EAAA;AAAA,EAG1C,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,mBAAmB;AAAA,MACtE,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK,UAAU;AAAA,MACvB,gBAAgB,KAAK;AAAA,MACrB,YAAY,KAAK,cAAc;AAAA,IAAA,CAC/B;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,OAAO,QAAQ,OAAO;AAAA,IAC/E;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,QAAa,MAA2C,SAA0E;AAC/J,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,wBAAwB;AAAA,MAC3E,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,IAAA,CACd;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;"}
1
+ {"version":3,"file":"PasswordlessMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/PasswordlessMutationResolver.ts"],"sourcesContent":["import {\n\tActivatePasswordlessOtpResponse,\n\tInitSignInPasswordlessResponse, MutationActivatePasswordlessOtpArgs,\n\tMutationInitSignInPasswordlessArgs,\n\tMutationResolvers,\n\tMutationSignInPasswordlessArgs,\n\tSignInPasswordlessResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { PasswordlessSignInManager } from '../../../model/service/PasswordlessSignInManager'\n\nexport class PasswordlessMutationResolver implements Pick<MutationResolvers, 'initSignInPasswordless' | 'signInPasswordless' | 'activatePasswordlessOtp'> {\n\tconstructor(\n\t\tprivate readonly passwordlessSignInManager: PasswordlessSignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync initSignInPasswordless(\n\t\tparent: any,\n\t\targs: MutationInitSignInPasswordlessArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<InitSignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_REQUEST_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to request passwordless sign in',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.initSignInPasswordless({\n\t\t\tdb: context.db,\n\t\t\tpermissionContext: context.permissionContext,\n\t\t\temail: args.email,\n\t\t\tmailVariant: args.options?.mailVariant ?? undefined,\n\t\t\tmailProject: args.options?.mailProject ?? undefined,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true, result: result.result }\n\t}\n\n\tasync signInPasswordless(parent: any, args: MutationSignInPasswordlessArgs, context: TenantResolverContext): Promise<SignInPasswordlessResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in using passwordless',\n\t\t})\n\t\tconst signIn = await this.passwordlessSignInManager.signInPasswordless({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\tmfaOtp: args.mfaOtp ?? undefined,\n\t\t\tvalidationType: args.validationType,\n\t\t\texpiration: args.expiration ?? undefined,\n\t\t})\n\t\tif (!signIn.ok) {\n\t\t\treturn createErrorResponse(signIn.error, signIn.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(signIn.result, context),\n\t\t}\n\t}\n\n\tasync activatePasswordlessOtp(parent: any, args: MutationActivatePasswordlessOtpArgs, context: TenantResolverContext): Promise<ActivatePasswordlessOtpResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_PASSWORDLESS_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to activate passwordless OTP',\n\t\t})\n\t\tconst result = await this.passwordlessSignInManager.activatePasswordlessOtp({\n\t\t\tdb: context.db,\n\t\t\trequestId: args.requestId,\n\t\t\ttoken: args.token,\n\t\t\totpHash: args.otpHash,\n\t\t})\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\t\treturn { ok: true }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAcO,MAAM,6BAA6I;AAAA,EACzJ,YACkB,2BACA,uBAChB;AAFgB,SAAA,4BAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,uBACL,QACA,MACA,SAC0C;AAC1C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,uBAAuB;AAAA,MAC1E,IAAI,QAAQ;AAAA,MACZ,mBAAmB,QAAQ;AAAA,MAC3B,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,aAAa,KAAK,SAAS,eAAe;AAAA,IAAA,CAC1C;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAE7D,WAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,OAAO;AAAA,EAAA;AAAA,EAG1C,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,mBAAmB;AAAA,MACtE,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK,UAAU;AAAA,MACvB,gBAAgB,KAAK;AAAA,MACrB,YAAY,KAAK,cAAc;AAAA,IAAA,CAC/B;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,OAAO,QAAQ,OAAO;AAAA,IAC/E;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,QAAa,MAA2C,SAA0E;AAC/J,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,0BAA0B,wBAAwB;AAAA,MAC3E,IAAI,QAAQ;AAAA,MACZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,IAAA,CACd;AACG,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAEtD,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;"}
@@ -15,7 +15,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
15
15
  require("openid-client");
16
16
  require("@contember/typesafe");
17
17
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
18
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
19
18
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
20
19
  require("@contember/schema-utils");
21
20
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"ResetPasswordMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts"],"sourcesContent":["import {\n\tCreatePasswordResetRequestResponse,\n\tMutationCreateResetPasswordRequestArgs,\n\tMutationResetPasswordArgs,\n\tMutationResolvers,\n\tResetPasswordResponse,\n} from '../../../schema'\nimport { GraphQLResolveInfo } from 'graphql'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PasswordResetManager, PermissionActions, PermissionContextFactory, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class ResetPasswordMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly passwordResetManager: PasswordResetManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {}\n\n\tasync createResetPasswordRequest(\n\t\tparent: any,\n\t\targs: MutationCreateResetPasswordRequestArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<CreatePasswordResetRequestResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to initialize reset password request',\n\t\t})\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byEmail(args.email))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('PERSON_NOT_FOUND', 'Person was not found.')\n\t\t}\n\n\t\tconst permissionContext = await this.permissionContextFactory.create(context.db, {\n\t\t\tid: person.identity_id,\n\t\t\troles: person.roles,\n\t\t})\n\t\tawait this.passwordResetManager.createPasswordResetRequest(context.db, permissionContext, person, {\n\t\t\tmailVariant: args.options?.mailVariant || undefined,\n\t\t\tproject: args.options?.mailProject || undefined,\n\t\t})\n\t\treturn { ok: true, errors: [] }\n\t}\n\n\tasync resetPassword(\n\t\tparent: any,\n\t\targs: MutationResetPasswordArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResetPasswordResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to perform reset password reset',\n\t\t})\n\n\t\tconst result = await this.passwordResetManager.resetPassword(context.db, args.token, args.password)\n\t\tif (result.ok) {\n\t\t\treturn { ok: true, errors: [] }\n\t\t}\n\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t}\n}\n"],"names":["PermissionActions","PersonQuery","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,8BAA2D;AAAA,EACvE,YACkB,sBACA,0BAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,2BACL,QACA,MACA,SACA,MAC8C;AAC9C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAMC,YAAAA,YAAY,QAAQ,KAAK,KAAK,CAAC;AAClF,QAAI,CAAC,QAAQ;AACL,aAAAC,WAAA,oBAAoB,oBAAoB,uBAAuB;AAAA,IAAA;AAGvE,UAAM,oBAAoB,MAAM,KAAK,yBAAyB,OAAO,QAAQ,IAAI;AAAA,MAChF,IAAI,OAAO;AAAA,MACX,OAAO,OAAO;AAAA,IAAA,CACd;AACD,UAAM,KAAK,qBAAqB,2BAA2B,QAAQ,IAAI,mBAAmB,QAAQ;AAAA,MACjG,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,SAAS,KAAK,SAAS,eAAe;AAAA,IAAA,CACtC;AACD,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAAA,EAG/B,MAAM,cACL,QACA,MACA,SACA,MACiC;AACjC,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQF,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,SAAS,MAAM,KAAK,qBAAqB,cAAc,QAAQ,IAAI,KAAK,OAAO,KAAK,QAAQ;AAClG,QAAI,OAAO,IAAI;AACd,aAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,IAAA;AAE/B,WAAOE,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,EAAA;AAE9D;;"}
1
+ {"version":3,"file":"ResetPasswordMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts"],"sourcesContent":["import {\n\tCreatePasswordResetRequestResponse,\n\tMutationCreateResetPasswordRequestArgs,\n\tMutationResetPasswordArgs,\n\tMutationResolvers,\n\tResetPasswordResponse,\n} from '../../../schema'\nimport { GraphQLResolveInfo } from 'graphql'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PasswordResetManager, PermissionActions, PermissionContextFactory, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class ResetPasswordMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly passwordResetManager: PasswordResetManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {}\n\n\tasync createResetPasswordRequest(\n\t\tparent: any,\n\t\targs: MutationCreateResetPasswordRequestArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<CreatePasswordResetRequestResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to initialize reset password request',\n\t\t})\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byEmail(args.email))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('PERSON_NOT_FOUND', 'Person was not found.')\n\t\t}\n\n\t\tconst permissionContext = await this.permissionContextFactory.create(context.db, {\n\t\t\tid: person.identity_id,\n\t\t\troles: person.roles,\n\t\t})\n\t\tawait this.passwordResetManager.createPasswordResetRequest(context.db, permissionContext, person, {\n\t\t\tmailVariant: args.options?.mailVariant || undefined,\n\t\t\tproject: args.options?.mailProject || undefined,\n\t\t})\n\t\treturn { ok: true, errors: [] }\n\t}\n\n\tasync resetPassword(\n\t\tparent: any,\n\t\targs: MutationResetPasswordArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResetPasswordResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to perform reset password reset',\n\t\t})\n\n\t\tconst result = await this.passwordResetManager.resetPassword(context.db, args.token, args.password)\n\t\tif (result.ok) {\n\t\t\treturn { ok: true, errors: [] }\n\t\t}\n\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t}\n}\n"],"names":["PermissionActions","PersonQuery","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,8BAA2D;AAAA,EACvE,YACkB,sBACA,0BAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,2BACL,QACA,MACA,SACA,MAC8C;AAC9C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAMC,YAAAA,YAAY,QAAQ,KAAK,KAAK,CAAC;AAClF,QAAI,CAAC,QAAQ;AACL,aAAAC,WAAA,oBAAoB,oBAAoB,uBAAuB;AAAA,IAAA;AAGvE,UAAM,oBAAoB,MAAM,KAAK,yBAAyB,OAAO,QAAQ,IAAI;AAAA,MAChF,IAAI,OAAO;AAAA,MACX,OAAO,OAAO;AAAA,IAAA,CACd;AACD,UAAM,KAAK,qBAAqB,2BAA2B,QAAQ,IAAI,mBAAmB,QAAQ;AAAA,MACjG,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,SAAS,KAAK,SAAS,eAAe;AAAA,IAAA,CACtC;AACD,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAAA,EAG/B,MAAM,cACL,QACA,MACA,SACA,MACiC;AACjC,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQF,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,SAAS,MAAM,KAAK,qBAAqB,cAAc,QAAQ,IAAI,KAAK,OAAO,KAAK,QAAQ;AAClG,QAAI,OAAO,IAAI;AACd,aAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,IAAA;AAE/B,WAAOE,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,EAAA;AAE9D;;"}
@@ -13,7 +13,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
13
13
  import "openid-client";
14
14
  import "@contember/typesafe";
15
15
  import "../../../model/service/idp/providers/OIDCTypes.js";
16
- import "../../../model/service/idp/providers/OIDCHelpers.js";
17
16
  import "../../../model/service/idp/providers/FacebookProvider.js";
18
17
  import "@contember/schema-utils";
19
18
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"ResetPasswordMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts"],"sourcesContent":["import {\n\tCreatePasswordResetRequestResponse,\n\tMutationCreateResetPasswordRequestArgs,\n\tMutationResetPasswordArgs,\n\tMutationResolvers,\n\tResetPasswordResponse,\n} from '../../../schema'\nimport { GraphQLResolveInfo } from 'graphql'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PasswordResetManager, PermissionActions, PermissionContextFactory, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class ResetPasswordMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly passwordResetManager: PasswordResetManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {}\n\n\tasync createResetPasswordRequest(\n\t\tparent: any,\n\t\targs: MutationCreateResetPasswordRequestArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<CreatePasswordResetRequestResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to initialize reset password request',\n\t\t})\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byEmail(args.email))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('PERSON_NOT_FOUND', 'Person was not found.')\n\t\t}\n\n\t\tconst permissionContext = await this.permissionContextFactory.create(context.db, {\n\t\t\tid: person.identity_id,\n\t\t\troles: person.roles,\n\t\t})\n\t\tawait this.passwordResetManager.createPasswordResetRequest(context.db, permissionContext, person, {\n\t\t\tmailVariant: args.options?.mailVariant || undefined,\n\t\t\tproject: args.options?.mailProject || undefined,\n\t\t})\n\t\treturn { ok: true, errors: [] }\n\t}\n\n\tasync resetPassword(\n\t\tparent: any,\n\t\targs: MutationResetPasswordArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResetPasswordResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to perform reset password reset',\n\t\t})\n\n\t\tconst result = await this.passwordResetManager.resetPassword(context.db, args.token, args.password)\n\t\tif (result.ok) {\n\t\t\treturn { ok: true, errors: [] }\n\t\t}\n\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAYO,MAAM,8BAA2D;AAAA,EACvE,YACkB,sBACA,0BAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,2BACL,QACA,MACA,SACA,MAC8C;AAC9C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,YAAY,QAAQ,KAAK,KAAK,CAAC;AAClF,QAAI,CAAC,QAAQ;AACL,aAAA,oBAAoB,oBAAoB,uBAAuB;AAAA,IAAA;AAGvE,UAAM,oBAAoB,MAAM,KAAK,yBAAyB,OAAO,QAAQ,IAAI;AAAA,MAChF,IAAI,OAAO;AAAA,MACX,OAAO,OAAO;AAAA,IAAA,CACd;AACD,UAAM,KAAK,qBAAqB,2BAA2B,QAAQ,IAAI,mBAAmB,QAAQ;AAAA,MACjG,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,SAAS,KAAK,SAAS,eAAe;AAAA,IAAA,CACtC;AACD,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAAA,EAG/B,MAAM,cACL,QACA,MACA,SACA,MACiC;AACjC,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,SAAS,MAAM,KAAK,qBAAqB,cAAc,QAAQ,IAAI,KAAK,OAAO,KAAK,QAAQ;AAClG,QAAI,OAAO,IAAI;AACd,aAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,IAAA;AAE/B,WAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,EAAA;AAE9D;"}
1
+ {"version":3,"file":"ResetPasswordMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts"],"sourcesContent":["import {\n\tCreatePasswordResetRequestResponse,\n\tMutationCreateResetPasswordRequestArgs,\n\tMutationResetPasswordArgs,\n\tMutationResolvers,\n\tResetPasswordResponse,\n} from '../../../schema'\nimport { GraphQLResolveInfo } from 'graphql'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PasswordResetManager, PermissionActions, PermissionContextFactory, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class ResetPasswordMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly passwordResetManager: PasswordResetManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {}\n\n\tasync createResetPasswordRequest(\n\t\tparent: any,\n\t\targs: MutationCreateResetPasswordRequestArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<CreatePasswordResetRequestResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to initialize reset password request',\n\t\t})\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byEmail(args.email))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('PERSON_NOT_FOUND', 'Person was not found.')\n\t\t}\n\n\t\tconst permissionContext = await this.permissionContextFactory.create(context.db, {\n\t\t\tid: person.identity_id,\n\t\t\troles: person.roles,\n\t\t})\n\t\tawait this.passwordResetManager.createPasswordResetRequest(context.db, permissionContext, person, {\n\t\t\tmailVariant: args.options?.mailVariant || undefined,\n\t\t\tproject: args.options?.mailProject || undefined,\n\t\t})\n\t\treturn { ok: true, errors: [] }\n\t}\n\n\tasync resetPassword(\n\t\tparent: any,\n\t\targs: MutationResetPasswordArgs,\n\t\tcontext: TenantResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResetPasswordResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_RESET_PASSWORD,\n\t\t\tmessage: 'You are not allowed to perform reset password reset',\n\t\t})\n\n\t\tconst result = await this.passwordResetManager.resetPassword(context.db, args.token, args.password)\n\t\tif (result.ok) {\n\t\t\treturn { ok: true, errors: [] }\n\t\t}\n\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAYO,MAAM,8BAA2D;AAAA,EACvE,YACkB,sBACA,0BAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,2BACL,QACA,MACA,SACA,MAC8C;AAC9C,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,YAAY,QAAQ,KAAK,KAAK,CAAC;AAClF,QAAI,CAAC,QAAQ;AACL,aAAA,oBAAoB,oBAAoB,uBAAuB;AAAA,IAAA;AAGvE,UAAM,oBAAoB,MAAM,KAAK,yBAAyB,OAAO,QAAQ,IAAI;AAAA,MAChF,IAAI,OAAO;AAAA,MACX,OAAO,OAAO;AAAA,IAAA,CACd;AACD,UAAM,KAAK,qBAAqB,2BAA2B,QAAQ,IAAI,mBAAmB,QAAQ;AAAA,MACjG,aAAa,KAAK,SAAS,eAAe;AAAA,MAC1C,SAAS,KAAK,SAAS,eAAe;AAAA,IAAA,CACtC;AACD,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAAA,EAG/B,MAAM,cACL,QACA,MACA,SACA,MACiC;AACjC,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,SAAS,MAAM,KAAK,qBAAqB,cAAc,QAAQ,IAAI,KAAK,OAAO,KAAK,QAAQ;AAClG,QAAI,OAAO,IAAI;AACd,aAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,IAAA;AAE/B,WAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,EAAA;AAE9D;"}
@@ -14,7 +14,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
14
14
  require("openid-client");
15
15
  require("@contember/typesafe");
16
16
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
17
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
18
17
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
19
18
  require("@contember/schema-utils");
20
19
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"SignInMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignInMutationResolver.ts"],"sourcesContent":["import {\n\tCreateSessionTokenResponse,\n\tMutationCreateSessionTokenArgs,\n\tMutationResolvers,\n\tMutationSignInArgs,\n\tSignInResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonUniqueIdentifier, SignInManager } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class SignInMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly signInManager: SignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync signIn(parent: any, args: MutationSignInArgs, context: TenantResolverContext): Promise<SignInResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in',\n\t\t})\n\n\t\tconst response = await this.signInManager.signIn(\n\t\t\tcontext.db,\n\t\t\targs.email,\n\t\t\targs.password,\n\t\t\targs.expiration || undefined,\n\t\t\targs.otpToken || undefined,\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n\n\tasync createSessionToken(parent: any, args: MutationCreateSessionTokenArgs, context: TenantResolverContext): Promise<CreateSessionTokenResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(),\n\t\t\tmessage: 'You are not allowed to create a session key',\n\t\t})\n\t\tlet identifier: PersonUniqueIdentifier\n\t\tif (args.email) {\n\t\t\tidentifier = { type: 'email', email: args.email }\n\t\t} else if (args.personId) {\n\t\t\tidentifier = { type: 'id', id: args.personId }\n\t\t} else {\n\t\t\tthrow new UserInputError(`Please provide either email or personId`)\n\t\t}\n\n\t\tconst response = await this.signInManager.createSessionToken(\n\t\t\tcontext.db,\n\t\t\tidentifier,\n\t\t\targs.expiration || undefined,\n\t\t\tasync person => await context.requireAccess({\n\t\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(person.roles),\n\t\t\t\tmessage: 'You are not allowed to create a session key for this person.',\n\t\t\t}),\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createErrorResponse","UserInputError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,uBAAoD;AAAA,EAChE,YACkB,eACA,uBAChB;AAFgB,SAAA,gBAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,OAAO,QAAa,MAA0B,SAAyD;AAC5G,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,cAAc;AAAA,MACnB,KAAK,YAAY;AAAA,IAClB;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOC,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAG1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAAA,EAGD,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQD,oCAAkB,0BAA0B;AAAA,MACpD,SAAS;AAAA,IAAA,CACT;AACG,QAAA;AACJ,QAAI,KAAK,OAAO;AACf,mBAAa,EAAE,MAAM,SAAS,OAAO,KAAK,MAAM;AAAA,IAAA,WACtC,KAAK,UAAU;AACzB,mBAAa,EAAE,MAAM,MAAM,IAAI,KAAK,SAAS;AAAA,IAAA,OACvC;AACA,YAAA,IAAIE,aAAAA,eAAe,yCAAyC;AAAA,IAAA;AAG7D,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR;AAAA,MACA,KAAK,cAAc;AAAA,MACnB,OAAM,WAAU,MAAM,QAAQ,cAAc;AAAA,QAC3C,QAAQF,kBAAA,kBAAkB,0BAA0B,OAAO,KAAK;AAAA,QAChE,SAAS;AAAA,MACT,CAAA;AAAA,IACF;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOC,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"SignInMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignInMutationResolver.ts"],"sourcesContent":["import {\n\tCreateSessionTokenResponse,\n\tMutationCreateSessionTokenArgs,\n\tMutationResolvers,\n\tMutationSignInArgs,\n\tSignInResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonUniqueIdentifier, SignInManager } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class SignInMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly signInManager: SignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync signIn(parent: any, args: MutationSignInArgs, context: TenantResolverContext): Promise<SignInResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in',\n\t\t})\n\n\t\tconst response = await this.signInManager.signIn(\n\t\t\tcontext.db,\n\t\t\targs.email,\n\t\t\targs.password,\n\t\t\targs.expiration || undefined,\n\t\t\targs.otpToken || undefined,\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n\n\tasync createSessionToken(parent: any, args: MutationCreateSessionTokenArgs, context: TenantResolverContext): Promise<CreateSessionTokenResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(),\n\t\t\tmessage: 'You are not allowed to create a session key',\n\t\t})\n\t\tlet identifier: PersonUniqueIdentifier\n\t\tif (args.email) {\n\t\t\tidentifier = { type: 'email', email: args.email }\n\t\t} else if (args.personId) {\n\t\t\tidentifier = { type: 'id', id: args.personId }\n\t\t} else {\n\t\t\tthrow new UserInputError(`Please provide either email or personId`)\n\t\t}\n\n\t\tconst response = await this.signInManager.createSessionToken(\n\t\t\tcontext.db,\n\t\t\tidentifier,\n\t\t\targs.expiration || undefined,\n\t\t\tasync person => await context.requireAccess({\n\t\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(person.roles),\n\t\t\t\tmessage: 'You are not allowed to create a session key for this person.',\n\t\t\t}),\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createErrorResponse","UserInputError"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,uBAAoD;AAAA,EAChE,YACkB,eACA,uBAChB;AAFgB,SAAA,gBAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,OAAO,QAAa,MAA0B,SAAyD;AAC5G,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,cAAc;AAAA,MACnB,KAAK,YAAY;AAAA,IAClB;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOC,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAG1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAAA,EAGD,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQD,oCAAkB,0BAA0B;AAAA,MACpD,SAAS;AAAA,IAAA,CACT;AACG,QAAA;AACJ,QAAI,KAAK,OAAO;AACf,mBAAa,EAAE,MAAM,SAAS,OAAO,KAAK,MAAM;AAAA,IAAA,WACtC,KAAK,UAAU;AACzB,mBAAa,EAAE,MAAM,MAAM,IAAI,KAAK,SAAS;AAAA,IAAA,OACvC;AACA,YAAA,IAAIE,aAAAA,eAAe,yCAAyC;AAAA,IAAA;AAG7D,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR;AAAA,MACA,KAAK,cAAc;AAAA,MACnB,OAAM,WAAU,MAAM,QAAQ,cAAc;AAAA,QAC3C,QAAQF,kBAAA,kBAAkB,0BAA0B,OAAO,KAAK;AAAA,QAChE,SAAS;AAAA,MACT,CAAA;AAAA,IACF;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOC,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAEF;;"}
@@ -12,7 +12,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
12
12
  import "openid-client";
13
13
  import "@contember/typesafe";
14
14
  import "../../../model/service/idp/providers/OIDCTypes.js";
15
- import "../../../model/service/idp/providers/OIDCHelpers.js";
16
15
  import "../../../model/service/idp/providers/FacebookProvider.js";
17
16
  import "@contember/schema-utils";
18
17
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"SignInMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignInMutationResolver.ts"],"sourcesContent":["import {\n\tCreateSessionTokenResponse,\n\tMutationCreateSessionTokenArgs,\n\tMutationResolvers,\n\tMutationSignInArgs,\n\tSignInResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonUniqueIdentifier, SignInManager } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class SignInMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly signInManager: SignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync signIn(parent: any, args: MutationSignInArgs, context: TenantResolverContext): Promise<SignInResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in',\n\t\t})\n\n\t\tconst response = await this.signInManager.signIn(\n\t\t\tcontext.db,\n\t\t\targs.email,\n\t\t\targs.password,\n\t\t\targs.expiration || undefined,\n\t\t\targs.otpToken || undefined,\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n\n\tasync createSessionToken(parent: any, args: MutationCreateSessionTokenArgs, context: TenantResolverContext): Promise<CreateSessionTokenResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(),\n\t\t\tmessage: 'You are not allowed to create a session key',\n\t\t})\n\t\tlet identifier: PersonUniqueIdentifier\n\t\tif (args.email) {\n\t\t\tidentifier = { type: 'email', email: args.email }\n\t\t} else if (args.personId) {\n\t\t\tidentifier = { type: 'id', id: args.personId }\n\t\t} else {\n\t\t\tthrow new UserInputError(`Please provide either email or personId`)\n\t\t}\n\n\t\tconst response = await this.signInManager.createSessionToken(\n\t\t\tcontext.db,\n\t\t\tidentifier,\n\t\t\targs.expiration || undefined,\n\t\t\tasync person => await context.requireAccess({\n\t\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(person.roles),\n\t\t\t\tmessage: 'You are not allowed to create a session key for this person.',\n\t\t\t}),\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAaO,MAAM,uBAAoD;AAAA,EAChE,YACkB,eACA,uBAChB;AAFgB,SAAA,gBAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,OAAO,QAAa,MAA0B,SAAyD;AAC5G,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,cAAc;AAAA,MACnB,KAAK,YAAY;AAAA,IAClB;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAG1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAAA,EAGD,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB,0BAA0B;AAAA,MACpD,SAAS;AAAA,IAAA,CACT;AACG,QAAA;AACJ,QAAI,KAAK,OAAO;AACf,mBAAa,EAAE,MAAM,SAAS,OAAO,KAAK,MAAM;AAAA,IAAA,WACtC,KAAK,UAAU;AACzB,mBAAa,EAAE,MAAM,MAAM,IAAI,KAAK,SAAS;AAAA,IAAA,OACvC;AACA,YAAA,IAAI,eAAe,yCAAyC;AAAA,IAAA;AAG7D,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR;AAAA,MACA,KAAK,cAAc;AAAA,MACnB,OAAM,WAAU,MAAM,QAAQ,cAAc;AAAA,QAC3C,QAAQ,kBAAkB,0BAA0B,OAAO,KAAK;AAAA,QAChE,SAAS;AAAA,MACT,CAAA;AAAA,IACF;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"SignInMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignInMutationResolver.ts"],"sourcesContent":["import {\n\tCreateSessionTokenResponse,\n\tMutationCreateSessionTokenArgs,\n\tMutationResolvers,\n\tMutationSignInArgs,\n\tSignInResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonUniqueIdentifier, SignInManager } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { SignInResponseFactory } from '../../responseHelpers/SignInResponseFactory'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class SignInMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly signInManager: SignInManager,\n\t\tprivate readonly signInResponseFactory: SignInResponseFactory,\n\t) {}\n\n\tasync signIn(parent: any, args: MutationSignInArgs, context: TenantResolverContext): Promise<SignInResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_IN,\n\t\t\tmessage: 'You are not allowed to sign in',\n\t\t})\n\n\t\tconst response = await this.signInManager.signIn(\n\t\t\tcontext.db,\n\t\t\targs.email,\n\t\t\targs.password,\n\t\t\targs.expiration || undefined,\n\t\t\targs.otpToken || undefined,\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n\n\tasync createSessionToken(parent: any, args: MutationCreateSessionTokenArgs, context: TenantResolverContext): Promise<CreateSessionTokenResponse> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(),\n\t\t\tmessage: 'You are not allowed to create a session key',\n\t\t})\n\t\tlet identifier: PersonUniqueIdentifier\n\t\tif (args.email) {\n\t\t\tidentifier = { type: 'email', email: args.email }\n\t\t} else if (args.personId) {\n\t\t\tidentifier = { type: 'id', id: args.personId }\n\t\t} else {\n\t\t\tthrow new UserInputError(`Please provide either email or personId`)\n\t\t}\n\n\t\tconst response = await this.signInManager.createSessionToken(\n\t\t\tcontext.db,\n\t\t\tidentifier,\n\t\t\targs.expiration || undefined,\n\t\t\tasync person => await context.requireAccess({\n\t\t\t\taction: PermissionActions.PERSON_CREATE_SESSION_KEY(person.roles),\n\t\t\t\tmessage: 'You are not allowed to create a session key for this person.',\n\t\t\t}),\n\t\t)\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tresult: await this.signInResponseFactory.createResponse(response.result, context),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAaO,MAAM,uBAAoD;AAAA,EAChE,YACkB,eACA,uBAChB;AAFgB,SAAA,gBAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,OAAO,QAAa,MAA0B,SAAyD;AAC5G,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,cAAc;AAAA,MACnB,KAAK,YAAY;AAAA,IAClB;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAG1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAAA,EAGD,MAAM,mBAAmB,QAAa,MAAsC,SAAqE;AAChJ,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB,0BAA0B;AAAA,MACpD,SAAS;AAAA,IAAA,CACT;AACG,QAAA;AACJ,QAAI,KAAK,OAAO;AACf,mBAAa,EAAE,MAAM,SAAS,OAAO,KAAK,MAAM;AAAA,IAAA,WACtC,KAAK,UAAU;AACzB,mBAAa,EAAE,MAAM,MAAM,IAAI,KAAK,SAAS;AAAA,IAAA,OACvC;AACA,YAAA,IAAI,eAAe,yCAAyC;AAAA,IAAA;AAG7D,UAAA,WAAW,MAAM,KAAK,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR;AAAA,MACA,KAAK,cAAc;AAAA,MACnB,OAAM,WAAU,MAAM,QAAQ,cAAc;AAAA,QAC3C,QAAQ,kBAAkB,0BAA0B,OAAO,KAAK;AAAA,QAChE,SAAS;AAAA,MACT,CAAA;AAAA,IACF;AAEI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,MAAM,KAAK,sBAAsB,eAAe,SAAS,QAAQ,OAAO;AAAA,IACjF;AAAA,EAAA;AAEF;"}
@@ -15,7 +15,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
15
15
  require("openid-client");
16
16
  require("@contember/typesafe");
17
17
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
18
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
19
18
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
20
19
  require("@contember/schema-utils");
21
20
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"SignOutMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignOutMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignOutArgs, SignOutResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { ApiKey, ApiKeyManager, PermissionActions, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class SignOutMutationResolver implements MutationResolvers {\n\tconstructor(private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signOut(parent: any, args: MutationSignOutArgs, context: TenantResolverContext): Promise<SignOutResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can sign out')\n\t\t}\n\n\t\tconst personApiKeyId = await this.apiKeyManager.findApiKey(context.db, context.apiKeyId)\n\n\t\tif (personApiKeyId?.type === ApiKey.Type.PERMANENT) {\n\t\t\treturn createErrorResponse(\n\t\t\t\t'NOT_POSSIBLE_SIGN_OUT_WITH_PERMANENT_API_KEY', 'Only session API keys can be used for person sign out.',\n\t\t\t)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_OUT,\n\t\t\tmessage: 'You are not allowed to sign out',\n\t\t})\n\n\t\tif (args.all) {\n\t\t\tawait this.apiKeyManager.disableIdentityApiKeys(context.db, context.identity.id)\n\t\t} else {\n\t\t\tawait this.apiKeyManager.disableApiKey(context.db, context.apiKeyId)\n\t\t}\n\n\t\treturn { ok: true, errors: [] }\n\t}\n}\n"],"names":["PersonQuery","createErrorResponse","ApiKey","PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,wBAAqD;AAAA,EACjE,YAA6B,eAA8B;AAA9B,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,QAAQ,QAAa,MAA2B,SAA0D;AACzG,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAMA,YAAA,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAE9F,QAAI,CAAC,QAAQ;AACL,aAAAC,WAAA,oBAAoB,gBAAgB,4BAA4B;AAAA,IAAA;AAGlE,UAAA,iBAAiB,MAAM,KAAK,cAAc,WAAW,QAAQ,IAAI,QAAQ,QAAQ;AAEvF,QAAI,gBAAgB,SAASC,cAAO,KAAK,WAAW;AAC5C,aAAAD,WAAA;AAAA,QACN;AAAA,QAAgD;AAAA,MACjD;AAAA,IAAA;AAGD,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQE,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,QAAI,KAAK,KAAK;AACb,YAAM,KAAK,cAAc,uBAAuB,QAAQ,IAAI,QAAQ,SAAS,EAAE;AAAA,IAAA,OACzE;AACN,YAAM,KAAK,cAAc,cAAc,QAAQ,IAAI,QAAQ,QAAQ;AAAA,IAAA;AAGpE,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAEhC;;"}
1
+ {"version":3,"file":"SignOutMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignOutMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignOutArgs, SignOutResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { ApiKey, ApiKeyManager, PermissionActions, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class SignOutMutationResolver implements MutationResolvers {\n\tconstructor(private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signOut(parent: any, args: MutationSignOutArgs, context: TenantResolverContext): Promise<SignOutResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can sign out')\n\t\t}\n\n\t\tconst personApiKeyId = await this.apiKeyManager.findApiKey(context.db, context.apiKeyId)\n\n\t\tif (personApiKeyId?.type === ApiKey.Type.PERMANENT) {\n\t\t\treturn createErrorResponse(\n\t\t\t\t'NOT_POSSIBLE_SIGN_OUT_WITH_PERMANENT_API_KEY', 'Only session API keys can be used for person sign out.',\n\t\t\t)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_OUT,\n\t\t\tmessage: 'You are not allowed to sign out',\n\t\t})\n\n\t\tif (args.all) {\n\t\t\tawait this.apiKeyManager.disableIdentityApiKeys(context.db, context.identity.id)\n\t\t} else {\n\t\t\tawait this.apiKeyManager.disableApiKey(context.db, context.apiKeyId)\n\t\t}\n\n\t\treturn { ok: true, errors: [] }\n\t}\n}\n"],"names":["PersonQuery","createErrorResponse","ApiKey","PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,wBAAqD;AAAA,EACjE,YAA6B,eAA8B;AAA9B,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,QAAQ,QAAa,MAA2B,SAA0D;AACzG,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAMA,YAAA,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAE9F,QAAI,CAAC,QAAQ;AACL,aAAAC,WAAA,oBAAoB,gBAAgB,4BAA4B;AAAA,IAAA;AAGlE,UAAA,iBAAiB,MAAM,KAAK,cAAc,WAAW,QAAQ,IAAI,QAAQ,QAAQ;AAEvF,QAAI,gBAAgB,SAASC,cAAO,KAAK,WAAW;AAC5C,aAAAD,WAAA;AAAA,QACN;AAAA,QAAgD;AAAA,MACjD;AAAA,IAAA;AAGD,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQE,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,QAAI,KAAK,KAAK;AACb,YAAM,KAAK,cAAc,uBAAuB,QAAQ,IAAI,QAAQ,SAAS,EAAE;AAAA,IAAA,OACzE;AACN,YAAM,KAAK,cAAc,cAAc,QAAQ,IAAI,QAAQ,QAAQ;AAAA,IAAA;AAGpE,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAEhC;;"}
@@ -13,7 +13,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
13
13
  import "openid-client";
14
14
  import "@contember/typesafe";
15
15
  import "../../../model/service/idp/providers/OIDCTypes.js";
16
- import "../../../model/service/idp/providers/OIDCHelpers.js";
17
16
  import "../../../model/service/idp/providers/FacebookProvider.js";
18
17
  import "@contember/schema-utils";
19
18
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"SignOutMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignOutMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignOutArgs, SignOutResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { ApiKey, ApiKeyManager, PermissionActions, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class SignOutMutationResolver implements MutationResolvers {\n\tconstructor(private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signOut(parent: any, args: MutationSignOutArgs, context: TenantResolverContext): Promise<SignOutResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can sign out')\n\t\t}\n\n\t\tconst personApiKeyId = await this.apiKeyManager.findApiKey(context.db, context.apiKeyId)\n\n\t\tif (personApiKeyId?.type === ApiKey.Type.PERMANENT) {\n\t\t\treturn createErrorResponse(\n\t\t\t\t'NOT_POSSIBLE_SIGN_OUT_WITH_PERMANENT_API_KEY', 'Only session API keys can be used for person sign out.',\n\t\t\t)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_OUT,\n\t\t\tmessage: 'You are not allowed to sign out',\n\t\t})\n\n\t\tif (args.all) {\n\t\t\tawait this.apiKeyManager.disableIdentityApiKeys(context.db, context.identity.id)\n\t\t} else {\n\t\t\tawait this.apiKeyManager.disableApiKey(context.db, context.apiKeyId)\n\t\t}\n\n\t\treturn { ok: true, errors: [] }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAKO,MAAM,wBAAqD;AAAA,EACjE,YAA6B,eAA8B;AAA9B,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,QAAQ,QAAa,MAA2B,SAA0D;AACzG,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAE9F,QAAI,CAAC,QAAQ;AACL,aAAA,oBAAoB,gBAAgB,4BAA4B;AAAA,IAAA;AAGlE,UAAA,iBAAiB,MAAM,KAAK,cAAc,WAAW,QAAQ,IAAI,QAAQ,QAAQ;AAEvF,QAAI,gBAAgB,SAAS,OAAO,KAAK,WAAW;AAC5C,aAAA;AAAA,QACN;AAAA,QAAgD;AAAA,MACjD;AAAA,IAAA;AAGD,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,QAAI,KAAK,KAAK;AACb,YAAM,KAAK,cAAc,uBAAuB,QAAQ,IAAI,QAAQ,SAAS,EAAE;AAAA,IAAA,OACzE;AACN,YAAM,KAAK,cAAc,cAAc,QAAQ,IAAI,QAAQ,QAAQ;AAAA,IAAA;AAGpE,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAEhC;"}
1
+ {"version":3,"file":"SignOutMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignOutMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignOutArgs, SignOutResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { ApiKey, ApiKeyManager, PermissionActions, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class SignOutMutationResolver implements MutationResolvers {\n\tconstructor(private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signOut(parent: any, args: MutationSignOutArgs, context: TenantResolverContext): Promise<SignOutResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can sign out')\n\t\t}\n\n\t\tconst personApiKeyId = await this.apiKeyManager.findApiKey(context.db, context.apiKeyId)\n\n\t\tif (personApiKeyId?.type === ApiKey.Type.PERMANENT) {\n\t\t\treturn createErrorResponse(\n\t\t\t\t'NOT_POSSIBLE_SIGN_OUT_WITH_PERMANENT_API_KEY', 'Only session API keys can be used for person sign out.',\n\t\t\t)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_OUT,\n\t\t\tmessage: 'You are not allowed to sign out',\n\t\t})\n\n\t\tif (args.all) {\n\t\t\tawait this.apiKeyManager.disableIdentityApiKeys(context.db, context.identity.id)\n\t\t} else {\n\t\t\tawait this.apiKeyManager.disableApiKey(context.db, context.apiKeyId)\n\t\t}\n\n\t\treturn { ok: true, errors: [] }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAKO,MAAM,wBAAqD;AAAA,EACjE,YAA6B,eAA8B;AAA9B,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,QAAQ,QAAa,MAA2B,SAA0D;AACzG,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAE9F,QAAI,CAAC,QAAQ;AACL,aAAA,oBAAoB,gBAAgB,4BAA4B;AAAA,IAAA;AAGlE,UAAA,iBAAiB,MAAM,KAAK,cAAc,WAAW,QAAQ,IAAI,QAAQ,QAAQ;AAEvF,QAAI,gBAAgB,SAAS,OAAO,KAAK,WAAW;AAC5C,aAAA;AAAA,QACN;AAAA,QAAgD;AAAA,MACjD;AAAA,IAAA;AAGD,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,QAAI,KAAK,KAAK;AACb,YAAM,KAAK,cAAc,uBAAuB,QAAQ,IAAI,QAAQ,SAAS,EAAE;AAAA,IAAA,OACzE;AACN,YAAM,KAAK,cAAc,cAAc,QAAQ,IAAI,QAAQ,QAAQ;AAAA,IAAA;AAGpE,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,EAAG;AAAA,EAAA;AAEhC;"}
@@ -15,7 +15,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
15
15
  require("openid-client");
16
16
  require("@contember/typesafe");
17
17
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
18
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
19
18
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
20
19
  require("@contember/schema-utils");
21
20
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"SignUpMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignUpMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignUpArgs, SignUpResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tApiKeyManager,\n\tNoPassword,\n\tPasswordHash,\n\tPasswordPlain,\n\tPermissionActions,\n\tSignUpManager,\n} from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { PersonResponseFactory } from '../../responseHelpers/PersonResponseFactory'\n\nexport class SignUpMutationResolver implements MutationResolvers {\n\tconstructor(private readonly signUpManager: SignUpManager, private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signUp(parent: any, args: MutationSignUpArgs, context: TenantResolverContext): Promise<SignUpResponse> {\n\t\tconst roles = args.roles ?? []\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_UP(roles),\n\t\t\tmessage: 'You are not allowed to sign up',\n\t\t})\n\t\tconst password = (() => {\n\t\t\tif (args.password) {\n\t\t\t\treturn new PasswordPlain(args.password)\n\t\t\t}\n\t\t\tif (args.passwordHash) {\n\t\t\t\tif (!args.passwordHash.startsWith('$2b$')) {\n\t\t\t\t\tthrow new UserInputError('Invalid password hash. Only $2b$ bcrypt hashes are accepted.')\n\t\t\t\t}\n\t\t\t\treturn new PasswordHash(args.passwordHash)\n\t\t\t}\n\t\t\treturn NoPassword\n\t\t})()\n\n\t\tconst response = await this.signUpManager.signUp(context.db, {\n\t\t\temail: args.email,\n\t\t\tname: args.name ?? undefined,\n\t\t\tpassword,\n\t\t\troles,\n\t\t})\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\tconst result = response.result\n\t\tawait this.apiKeyManager.disableOneOffApiKey(context.db, context.apiKeyId)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: {\n\t\t\t\tperson: PersonResponseFactory.createPersonResponse(result.person),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","PasswordPlain","UserInputError","PasswordHash","NoPassword","createErrorResponse","PersonResponseFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAoD;AAAA,EAChE,YAA6B,eAA+C,eAA8B;AAA7E,SAAA,gBAAA;AAA+C,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE5E,MAAM,OAAO,QAAa,MAA0B,SAAyD;AACtG,UAAA,QAAQ,KAAK,SAAS,CAAC;AAC7B,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAAA,kBAAkB,eAAe,KAAK;AAAA,MAC9C,SAAS;AAAA,IAAA,CACT;AACD,UAAM,YAAY,MAAM;AACvB,UAAI,KAAK,UAAU;AACX,eAAA,IAAIC,SAAAA,cAAc,KAAK,QAAQ;AAAA,MAAA;AAEvC,UAAI,KAAK,cAAc;AACtB,YAAI,CAAC,KAAK,aAAa,WAAW,MAAM,GAAG;AACpC,gBAAA,IAAIC,4BAAe,8DAA8D;AAAA,QAAA;AAEjF,eAAA,IAAIC,SAAAA,aAAa,KAAK,YAAY;AAAA,MAAA;AAEnC,aAAAC,SAAA;AAAA,IAAA,GACL;AAEH,UAAM,WAAW,MAAM,KAAK,cAAc,OAAO,QAAQ,IAAI;AAAA,MAC5D,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,IAAA,CACA;AAEG,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOC,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAEjE,UAAM,SAAS,SAAS;AACxB,UAAM,KAAK,cAAc,oBAAoB,QAAQ,IAAI,QAAQ,QAAQ;AAElE,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ;AAAA,QACP,QAAQC,sBAAA,sBAAsB,qBAAqB,OAAO,MAAM;AAAA,MAAA;AAAA,IAElE;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"SignUpMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignUpMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignUpArgs, SignUpResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tApiKeyManager,\n\tNoPassword,\n\tPasswordHash,\n\tPasswordPlain,\n\tPermissionActions,\n\tSignUpManager,\n} from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { PersonResponseFactory } from '../../responseHelpers/PersonResponseFactory'\n\nexport class SignUpMutationResolver implements MutationResolvers {\n\tconstructor(private readonly signUpManager: SignUpManager, private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signUp(parent: any, args: MutationSignUpArgs, context: TenantResolverContext): Promise<SignUpResponse> {\n\t\tconst roles = args.roles ?? []\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_UP(roles),\n\t\t\tmessage: 'You are not allowed to sign up',\n\t\t})\n\t\tconst password = (() => {\n\t\t\tif (args.password) {\n\t\t\t\treturn new PasswordPlain(args.password)\n\t\t\t}\n\t\t\tif (args.passwordHash) {\n\t\t\t\tif (!args.passwordHash.startsWith('$2b$')) {\n\t\t\t\t\tthrow new UserInputError('Invalid password hash. Only $2b$ bcrypt hashes are accepted.')\n\t\t\t\t}\n\t\t\t\treturn new PasswordHash(args.passwordHash)\n\t\t\t}\n\t\t\treturn NoPassword\n\t\t})()\n\n\t\tconst response = await this.signUpManager.signUp(context.db, {\n\t\t\temail: args.email,\n\t\t\tname: args.name ?? undefined,\n\t\t\tpassword,\n\t\t\troles,\n\t\t})\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\tconst result = response.result\n\t\tawait this.apiKeyManager.disableOneOffApiKey(context.db, context.apiKeyId)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: {\n\t\t\t\tperson: PersonResponseFactory.createPersonResponse(result.person),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","PasswordPlain","UserInputError","PasswordHash","NoPassword","createErrorResponse","PersonResponseFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAoD;AAAA,EAChE,YAA6B,eAA+C,eAA8B;AAA7E,SAAA,gBAAA;AAA+C,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE5E,MAAM,OAAO,QAAa,MAA0B,SAAyD;AACtG,UAAA,QAAQ,KAAK,SAAS,CAAC;AAC7B,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAAA,kBAAkB,eAAe,KAAK;AAAA,MAC9C,SAAS;AAAA,IAAA,CACT;AACD,UAAM,YAAY,MAAM;AACvB,UAAI,KAAK,UAAU;AACX,eAAA,IAAIC,SAAAA,cAAc,KAAK,QAAQ;AAAA,MAAA;AAEvC,UAAI,KAAK,cAAc;AACtB,YAAI,CAAC,KAAK,aAAa,WAAW,MAAM,GAAG;AACpC,gBAAA,IAAIC,4BAAe,8DAA8D;AAAA,QAAA;AAEjF,eAAA,IAAIC,SAAAA,aAAa,KAAK,YAAY;AAAA,MAAA;AAEnC,aAAAC,SAAA;AAAA,IAAA,GACL;AAEH,UAAM,WAAW,MAAM,KAAK,cAAc,OAAO,QAAQ,IAAI;AAAA,MAC5D,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,IAAA,CACA;AAEG,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOC,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAEjE,UAAM,SAAS,SAAS;AACxB,UAAM,KAAK,cAAc,oBAAoB,QAAQ,IAAI,QAAQ,QAAQ;AAElE,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ;AAAA,QACP,QAAQC,sBAAA,sBAAsB,qBAAqB,OAAO,MAAM;AAAA,MAAA;AAAA,IAElE;AAAA,EAAA;AAEF;;"}
@@ -13,7 +13,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
13
13
  import "openid-client";
14
14
  import "@contember/typesafe";
15
15
  import "../../../model/service/idp/providers/OIDCTypes.js";
16
- import "../../../model/service/idp/providers/OIDCHelpers.js";
17
16
  import "../../../model/service/idp/providers/FacebookProvider.js";
18
17
  import "@contember/schema-utils";
19
18
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"SignUpMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignUpMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignUpArgs, SignUpResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tApiKeyManager,\n\tNoPassword,\n\tPasswordHash,\n\tPasswordPlain,\n\tPermissionActions,\n\tSignUpManager,\n} from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { PersonResponseFactory } from '../../responseHelpers/PersonResponseFactory'\n\nexport class SignUpMutationResolver implements MutationResolvers {\n\tconstructor(private readonly signUpManager: SignUpManager, private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signUp(parent: any, args: MutationSignUpArgs, context: TenantResolverContext): Promise<SignUpResponse> {\n\t\tconst roles = args.roles ?? []\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_UP(roles),\n\t\t\tmessage: 'You are not allowed to sign up',\n\t\t})\n\t\tconst password = (() => {\n\t\t\tif (args.password) {\n\t\t\t\treturn new PasswordPlain(args.password)\n\t\t\t}\n\t\t\tif (args.passwordHash) {\n\t\t\t\tif (!args.passwordHash.startsWith('$2b$')) {\n\t\t\t\t\tthrow new UserInputError('Invalid password hash. Only $2b$ bcrypt hashes are accepted.')\n\t\t\t\t}\n\t\t\t\treturn new PasswordHash(args.passwordHash)\n\t\t\t}\n\t\t\treturn NoPassword\n\t\t})()\n\n\t\tconst response = await this.signUpManager.signUp(context.db, {\n\t\t\temail: args.email,\n\t\t\tname: args.name ?? undefined,\n\t\t\tpassword,\n\t\t\troles,\n\t\t})\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\tconst result = response.result\n\t\tawait this.apiKeyManager.disableOneOffApiKey(context.db, context.apiKeyId)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: {\n\t\t\t\tperson: PersonResponseFactory.createPersonResponse(result.person),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAoD;AAAA,EAChE,YAA6B,eAA+C,eAA8B;AAA7E,SAAA,gBAAA;AAA+C,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE5E,MAAM,OAAO,QAAa,MAA0B,SAAyD;AACtG,UAAA,QAAQ,KAAK,SAAS,CAAC;AAC7B,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB,eAAe,KAAK;AAAA,MAC9C,SAAS;AAAA,IAAA,CACT;AACD,UAAM,YAAY,MAAM;AACvB,UAAI,KAAK,UAAU;AACX,eAAA,IAAI,cAAc,KAAK,QAAQ;AAAA,MAAA;AAEvC,UAAI,KAAK,cAAc;AACtB,YAAI,CAAC,KAAK,aAAa,WAAW,MAAM,GAAG;AACpC,gBAAA,IAAI,eAAe,8DAA8D;AAAA,QAAA;AAEjF,eAAA,IAAI,aAAa,KAAK,YAAY;AAAA,MAAA;AAEnC,aAAA;AAAA,IAAA,GACL;AAEH,UAAM,WAAW,MAAM,KAAK,cAAc,OAAO,QAAQ,IAAI;AAAA,MAC5D,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,IAAA,CACA;AAEG,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAEjE,UAAM,SAAS,SAAS;AACxB,UAAM,KAAK,cAAc,oBAAoB,QAAQ,IAAI,QAAQ,QAAQ;AAElE,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ;AAAA,QACP,QAAQ,sBAAsB,qBAAqB,OAAO,MAAM;AAAA,MAAA;AAAA,IAElE;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"SignUpMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/SignUpMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSignUpArgs, SignUpResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tApiKeyManager,\n\tNoPassword,\n\tPasswordHash,\n\tPasswordPlain,\n\tPermissionActions,\n\tSignUpManager,\n} from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { PersonResponseFactory } from '../../responseHelpers/PersonResponseFactory'\n\nexport class SignUpMutationResolver implements MutationResolvers {\n\tconstructor(private readonly signUpManager: SignUpManager, private readonly apiKeyManager: ApiKeyManager) {}\n\n\tasync signUp(parent: any, args: MutationSignUpArgs, context: TenantResolverContext): Promise<SignUpResponse> {\n\t\tconst roles = args.roles ?? []\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_SIGN_UP(roles),\n\t\t\tmessage: 'You are not allowed to sign up',\n\t\t})\n\t\tconst password = (() => {\n\t\t\tif (args.password) {\n\t\t\t\treturn new PasswordPlain(args.password)\n\t\t\t}\n\t\t\tif (args.passwordHash) {\n\t\t\t\tif (!args.passwordHash.startsWith('$2b$')) {\n\t\t\t\t\tthrow new UserInputError('Invalid password hash. Only $2b$ bcrypt hashes are accepted.')\n\t\t\t\t}\n\t\t\t\treturn new PasswordHash(args.passwordHash)\n\t\t\t}\n\t\t\treturn NoPassword\n\t\t})()\n\n\t\tconst response = await this.signUpManager.signUp(context.db, {\n\t\t\temail: args.email,\n\t\t\tname: args.name ?? undefined,\n\t\t\tpassword,\n\t\t\troles,\n\t\t})\n\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\tconst result = response.result\n\t\tawait this.apiKeyManager.disableOneOffApiKey(context.db, context.apiKeyId)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t\tresult: {\n\t\t\t\tperson: PersonResponseFactory.createPersonResponse(result.person),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAoD;AAAA,EAChE,YAA6B,eAA+C,eAA8B;AAA7E,SAAA,gBAAA;AAA+C,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE5E,MAAM,OAAO,QAAa,MAA0B,SAAyD;AACtG,UAAA,QAAQ,KAAK,SAAS,CAAC;AAC7B,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB,eAAe,KAAK;AAAA,MAC9C,SAAS;AAAA,IAAA,CACT;AACD,UAAM,YAAY,MAAM;AACvB,UAAI,KAAK,UAAU;AACX,eAAA,IAAI,cAAc,KAAK,QAAQ;AAAA,MAAA;AAEvC,UAAI,KAAK,cAAc;AACtB,YAAI,CAAC,KAAK,aAAa,WAAW,MAAM,GAAG;AACpC,gBAAA,IAAI,eAAe,8DAA8D;AAAA,QAAA;AAEjF,eAAA,IAAI,aAAa,KAAK,YAAY;AAAA,MAAA;AAEnC,aAAA;AAAA,IAAA,GACL;AAEH,UAAM,WAAW,MAAM,KAAK,cAAc,OAAO,QAAQ,IAAI;AAAA,MAC5D,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,IAAA,CACA;AAEG,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAEjE,UAAM,SAAS,SAAS;AACxB,UAAM,KAAK,cAAc,oBAAoB,QAAQ,IAAI,QAAQ,QAAQ;AAElE,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAC;AAAA,MACT,QAAQ;AAAA,QACP,QAAQ,sBAAsB,qBAAqB,OAAO,MAAM;AAAA,MAAA;AAAA,IAElE;AAAA,EAAA;AAEF;"}
@@ -15,7 +15,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
15
15
  require("openid-client");
16
16
  require("@contember/typesafe");
17
17
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
18
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
19
18
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
20
19
  require("@contember/schema-utils");
21
20
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"TogglePasswordlessMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, ToggleMyPasswordlessResponse } from '../../../schema'\nimport { ConfigurationManager } from '../../../model/service/ConfigurationManager'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonManager, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class TogglePasswordlessMutationResolver implements Pick<MutationResolvers, 'enableMyPasswordless' | 'disableMyPasswordless'> {\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t\tprivate readonly personManager: PersonManager,\n\t) {\n\t}\n\n\tasync enableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, true)\n\t}\n\n\tasync disableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, false)\n\t}\n\n\tprivate async doTogglePasswordless(\n\t\tcontext: TenantResolverContext,\n\t\tvalue: boolean,\n\t): Promise<ToggleMyPasswordlessResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can change a password')\n\t\t}\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_TOGGLE_PASSWORDLESS,\n\t\t\tmessage: 'You are not allowed to enable passwordless',\n\t\t})\n\t\tconst config = await this.configurationManager.fetchConfiguration(context.db)\n\t\tif (config.passwordless?.enabled === 'always' || config.passwordless?.enabled === 'never') {\n\t\t\treturn createErrorResponse('CANNOT_TOGGLE', 'Passwordless is configured globally and cannot be toggled')\n\t\t}\n\n\t\tawait this.personManager.togglePasswordless(context.db, person, value)\n\n\t\treturn { ok: true }\n\t}\n\n}\n"],"names":["PersonQuery","createErrorResponse","PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,mCAAwH;AAAA,EACpI,YACkB,sBACA,eAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,qBAAqB,QAAiB,MAAe,SAAuE;AAC1H,WAAA,KAAK,qBAAqB,SAAS,IAAI;AAAA,EAAA;AAAA,EAG/C,MAAM,sBAAsB,QAAiB,MAAe,SAAuE;AAC3H,WAAA,KAAK,qBAAqB,SAAS,KAAK;AAAA,EAAA;AAAA,EAGhD,MAAc,qBACb,SACA,OACwC;AAClC,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAMA,YAAA,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAC9F,QAAI,CAAC,QAAQ;AACL,aAAAC,WAAA,oBAAoB,gBAAgB,qCAAqC;AAAA,IAAA;AAEjF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQC,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,qBAAqB,mBAAmB,QAAQ,EAAE;AAC5E,QAAI,OAAO,cAAc,YAAY,YAAY,OAAO,cAAc,YAAY,SAAS;AACnF,aAAAD,WAAA,oBAAoB,iBAAiB,2DAA2D;AAAA,IAAA;AAGxG,UAAM,KAAK,cAAc,mBAAmB,QAAQ,IAAI,QAAQ,KAAK;AAE9D,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAGpB;;"}
1
+ {"version":3,"file":"TogglePasswordlessMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, ToggleMyPasswordlessResponse } from '../../../schema'\nimport { ConfigurationManager } from '../../../model/service/ConfigurationManager'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonManager, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class TogglePasswordlessMutationResolver implements Pick<MutationResolvers, 'enableMyPasswordless' | 'disableMyPasswordless'> {\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t\tprivate readonly personManager: PersonManager,\n\t) {\n\t}\n\n\tasync enableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, true)\n\t}\n\n\tasync disableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, false)\n\t}\n\n\tprivate async doTogglePasswordless(\n\t\tcontext: TenantResolverContext,\n\t\tvalue: boolean,\n\t): Promise<ToggleMyPasswordlessResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can change a password')\n\t\t}\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_TOGGLE_PASSWORDLESS,\n\t\t\tmessage: 'You are not allowed to enable passwordless',\n\t\t})\n\t\tconst config = await this.configurationManager.fetchConfiguration(context.db)\n\t\tif (config.passwordless?.enabled === 'always' || config.passwordless?.enabled === 'never') {\n\t\t\treturn createErrorResponse('CANNOT_TOGGLE', 'Passwordless is configured globally and cannot be toggled')\n\t\t}\n\n\t\tawait this.personManager.togglePasswordless(context.db, person, value)\n\n\t\treturn { ok: true }\n\t}\n\n}\n"],"names":["PersonQuery","createErrorResponse","PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,mCAAwH;AAAA,EACpI,YACkB,sBACA,eAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,qBAAqB,QAAiB,MAAe,SAAuE;AAC1H,WAAA,KAAK,qBAAqB,SAAS,IAAI;AAAA,EAAA;AAAA,EAG/C,MAAM,sBAAsB,QAAiB,MAAe,SAAuE;AAC3H,WAAA,KAAK,qBAAqB,SAAS,KAAK;AAAA,EAAA;AAAA,EAGhD,MAAc,qBACb,SACA,OACwC;AAClC,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAMA,YAAA,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAC9F,QAAI,CAAC,QAAQ;AACL,aAAAC,WAAA,oBAAoB,gBAAgB,qCAAqC;AAAA,IAAA;AAEjF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQC,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,qBAAqB,mBAAmB,QAAQ,EAAE;AAC5E,QAAI,OAAO,cAAc,YAAY,YAAY,OAAO,cAAc,YAAY,SAAS;AACnF,aAAAD,WAAA,oBAAoB,iBAAiB,2DAA2D;AAAA,IAAA;AAGxG,UAAM,KAAK,cAAc,mBAAmB,QAAQ,IAAI,QAAQ,KAAK;AAE9D,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAGpB;;"}
@@ -13,7 +13,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
13
13
  import "openid-client";
14
14
  import "@contember/typesafe";
15
15
  import "../../../model/service/idp/providers/OIDCTypes.js";
16
- import "../../../model/service/idp/providers/OIDCHelpers.js";
17
16
  import "../../../model/service/idp/providers/FacebookProvider.js";
18
17
  import "@contember/schema-utils";
19
18
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"TogglePasswordlessMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, ToggleMyPasswordlessResponse } from '../../../schema'\nimport { ConfigurationManager } from '../../../model/service/ConfigurationManager'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonManager, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class TogglePasswordlessMutationResolver implements Pick<MutationResolvers, 'enableMyPasswordless' | 'disableMyPasswordless'> {\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t\tprivate readonly personManager: PersonManager,\n\t) {\n\t}\n\n\tasync enableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, true)\n\t}\n\n\tasync disableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, false)\n\t}\n\n\tprivate async doTogglePasswordless(\n\t\tcontext: TenantResolverContext,\n\t\tvalue: boolean,\n\t): Promise<ToggleMyPasswordlessResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can change a password')\n\t\t}\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_TOGGLE_PASSWORDLESS,\n\t\t\tmessage: 'You are not allowed to enable passwordless',\n\t\t})\n\t\tconst config = await this.configurationManager.fetchConfiguration(context.db)\n\t\tif (config.passwordless?.enabled === 'always' || config.passwordless?.enabled === 'never') {\n\t\t\treturn createErrorResponse('CANNOT_TOGGLE', 'Passwordless is configured globally and cannot be toggled')\n\t\t}\n\n\t\tawait this.personManager.togglePasswordless(context.db, person, value)\n\n\t\treturn { ok: true }\n\t}\n\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAMO,MAAM,mCAAwH;AAAA,EACpI,YACkB,sBACA,eAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,qBAAqB,QAAiB,MAAe,SAAuE;AAC1H,WAAA,KAAK,qBAAqB,SAAS,IAAI;AAAA,EAAA;AAAA,EAG/C,MAAM,sBAAsB,QAAiB,MAAe,SAAuE;AAC3H,WAAA,KAAK,qBAAqB,SAAS,KAAK;AAAA,EAAA;AAAA,EAGhD,MAAc,qBACb,SACA,OACwC;AAClC,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAC9F,QAAI,CAAC,QAAQ;AACL,aAAA,oBAAoB,gBAAgB,qCAAqC;AAAA,IAAA;AAEjF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,qBAAqB,mBAAmB,QAAQ,EAAE;AAC5E,QAAI,OAAO,cAAc,YAAY,YAAY,OAAO,cAAc,YAAY,SAAS;AACnF,aAAA,oBAAoB,iBAAiB,2DAA2D;AAAA,IAAA;AAGxG,UAAM,KAAK,cAAc,mBAAmB,QAAQ,IAAI,QAAQ,KAAK;AAE9D,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAGpB;"}
1
+ {"version":3,"file":"TogglePasswordlessMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, ToggleMyPasswordlessResponse } from '../../../schema'\nimport { ConfigurationManager } from '../../../model/service/ConfigurationManager'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, PersonManager, PersonQuery } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\n\nexport class TogglePasswordlessMutationResolver implements Pick<MutationResolvers, 'enableMyPasswordless' | 'disableMyPasswordless'> {\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t\tprivate readonly personManager: PersonManager,\n\t) {\n\t}\n\n\tasync enableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, true)\n\t}\n\n\tasync disableMyPasswordless(parent: unknown, args: unknown, context: TenantResolverContext): Promise<ToggleMyPasswordlessResponse> {\n\t\treturn this.doTogglePasswordless(context, false)\n\t}\n\n\tprivate async doTogglePasswordless(\n\t\tcontext: TenantResolverContext,\n\t\tvalue: boolean,\n\t): Promise<ToggleMyPasswordlessResponse> {\n\t\tconst person = await context.db.queryHandler.fetch(PersonQuery.byIdentity(context.identity.id))\n\t\tif (!person) {\n\t\t\treturn createErrorResponse('NOT_A_PERSON', 'Only a person can change a password')\n\t\t}\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PERSON_TOGGLE_PASSWORDLESS,\n\t\t\tmessage: 'You are not allowed to enable passwordless',\n\t\t})\n\t\tconst config = await this.configurationManager.fetchConfiguration(context.db)\n\t\tif (config.passwordless?.enabled === 'always' || config.passwordless?.enabled === 'never') {\n\t\t\treturn createErrorResponse('CANNOT_TOGGLE', 'Passwordless is configured globally and cannot be toggled')\n\t\t}\n\n\t\tawait this.personManager.togglePasswordless(context.db, person, value)\n\n\t\treturn { ok: true }\n\t}\n\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAMO,MAAM,mCAAwH;AAAA,EACpI,YACkB,sBACA,eAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,qBAAqB,QAAiB,MAAe,SAAuE;AAC1H,WAAA,KAAK,qBAAqB,SAAS,IAAI;AAAA,EAAA;AAAA,EAG/C,MAAM,sBAAsB,QAAiB,MAAe,SAAuE;AAC3H,WAAA,KAAK,qBAAqB,SAAS,KAAK;AAAA,EAAA;AAAA,EAGhD,MAAc,qBACb,SACA,OACwC;AAClC,UAAA,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,YAAY,WAAW,QAAQ,SAAS,EAAE,CAAC;AAC9F,QAAI,CAAC,QAAQ;AACL,aAAA,oBAAoB,gBAAgB,qCAAqC;AAAA,IAAA;AAEjF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,UAAM,SAAS,MAAM,KAAK,qBAAqB,mBAAmB,QAAQ,EAAE;AAC5E,QAAI,OAAO,cAAc,YAAY,YAAY,OAAO,cAAc,YAAY,SAAS;AACnF,aAAA,oBAAoB,iBAAiB,2DAA2D;AAAA,IAAA;AAGxG,UAAM,KAAK,cAAc,mBAAmB,QAAQ,IAAI,QAAQ,KAAK;AAE9D,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAGpB;"}
@@ -15,7 +15,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
15
15
  require("openid-client");
16
16
  require("@contember/typesafe");
17
17
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
18
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
19
18
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
20
19
  require("@contember/schema-utils");
21
20
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"CreateProjectMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/CreateProjectMutationResolver.ts"],"sourcesContent":["import { CreateProjectResponse, MutationCreateProjectArgs, MutationResolvers } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { isTokenHash, PermissionActions, ProjectManager, TenantRole } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class CreateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync createProject(\n\t\tparent: any,\n\t\t{ projectSlug, name, config, deployTokenHash: deployTokenHashDeprecated, secrets, options }: MutationCreateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<CreateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\n\t\tif (project) {\n\t\t\treturn createErrorResponse('ALREADY_EXISTS', `Project ${projectSlug} already exists`)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PROJECT_CREATE,\n\t\t\tmessage: 'You are not allowed to create a project',\n\t\t})\n\t\tconst deployTokenHash = options?.deployTokenHash ?? deployTokenHashDeprecated ?? undefined\n\n\t\tif (typeof deployTokenHash === 'string' && !isTokenHash(deployTokenHash)) {\n\t\t\tthrow new UserInputError('Invalid format of deployTokenHash. Must be hex-encoded sha256.')\n\t\t}\n\n\t\tconst isSuperAdmin = await context.identity.roles.includes(TenantRole.SUPER_ADMIN)\n\n\t\tconst response = await this.projectManager.createProject(\n\t\t\tcontext.db,\n\t\t\tcontext.logger,\n\t\t\t{\n\t\t\t\tslug: projectSlug,\n\t\t\t\tname: name || projectSlug,\n\t\t\t\tconfig: config || {},\n\t\t\t\tsecrets: Object.fromEntries((secrets || []).map(it => [it.key, it.value])),\n\t\t\t},\n\t\t\t{\n\t\t\t\townerIdentityId: isSuperAdmin ? undefined : context.identity.id,\n\t\t\t\tdeployTokenHash,\n\t\t\t\tnoDeployToken: options?.noDeployToken ?? false,\n\t\t\t},\n\t\t)\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\terror: null,\n\t\t\tresult: {\n\t\t\t\tdeployerApiKey: response.result.deployerApiKey?.toApiKeyWithToken(),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["createErrorResponse","PermissionActions","isTokenHash","UserInputError","TenantRole"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,EAAE,aAAa,MAAM,QAAQ,iBAAiB,2BAA2B,SAAS,QAAQ,GAC1F,SACiC;AACjC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAElF,QAAI,SAAS;AACZ,aAAOA,WAAAA,oBAAoB,kBAAkB,WAAW,WAAW,iBAAiB;AAAA,IAAA;AAGrF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQC,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,kBAAkB,SAAS,mBAAmB,6BAA6B;AAEjF,QAAI,OAAO,oBAAoB,YAAY,CAACC,WAAA,YAAY,eAAe,GAAG;AACnE,YAAA,IAAIC,4BAAe,gEAAgE;AAAA,IAAA;AAG1F,UAAM,eAAe,MAAM,QAAQ,SAAS,MAAM,SAASC,iBAAW,WAAW;AAE3E,UAAA,WAAW,MAAM,KAAK,eAAe;AAAA,MAC1C,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,MAAM,QAAQ;AAAA,QACd,QAAQ,UAAU,CAAC;AAAA,QACnB,SAAS,OAAO,aAAa,WAAW,CAAA,GAAI,IAAI,CAAM,OAAA,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAAA,MAC1E;AAAA,MACA;AAAA,QACC,iBAAiB,eAAe,SAAY,QAAQ,SAAS;AAAA,QAC7D;AAAA,QACA,eAAe,SAAS,iBAAiB;AAAA,MAAA;AAAA,IAE3C;AACI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOJ,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,QACP,gBAAgB,SAAS,OAAO,gBAAgB,kBAAkB;AAAA,MAAA;AAAA,IAEpE;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"CreateProjectMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/CreateProjectMutationResolver.ts"],"sourcesContent":["import { CreateProjectResponse, MutationCreateProjectArgs, MutationResolvers } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { isTokenHash, PermissionActions, ProjectManager, TenantRole } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class CreateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync createProject(\n\t\tparent: any,\n\t\t{ projectSlug, name, config, deployTokenHash: deployTokenHashDeprecated, secrets, options }: MutationCreateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<CreateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\n\t\tif (project) {\n\t\t\treturn createErrorResponse('ALREADY_EXISTS', `Project ${projectSlug} already exists`)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PROJECT_CREATE,\n\t\t\tmessage: 'You are not allowed to create a project',\n\t\t})\n\t\tconst deployTokenHash = options?.deployTokenHash ?? deployTokenHashDeprecated ?? undefined\n\n\t\tif (typeof deployTokenHash === 'string' && !isTokenHash(deployTokenHash)) {\n\t\t\tthrow new UserInputError('Invalid format of deployTokenHash. Must be hex-encoded sha256.')\n\t\t}\n\n\t\tconst isSuperAdmin = await context.identity.roles.includes(TenantRole.SUPER_ADMIN)\n\n\t\tconst response = await this.projectManager.createProject(\n\t\t\tcontext.db,\n\t\t\tcontext.logger,\n\t\t\t{\n\t\t\t\tslug: projectSlug,\n\t\t\t\tname: name || projectSlug,\n\t\t\t\tconfig: config || {},\n\t\t\t\tsecrets: Object.fromEntries((secrets || []).map(it => [it.key, it.value])),\n\t\t\t},\n\t\t\t{\n\t\t\t\townerIdentityId: isSuperAdmin ? undefined : context.identity.id,\n\t\t\t\tdeployTokenHash,\n\t\t\t\tnoDeployToken: options?.noDeployToken ?? false,\n\t\t\t},\n\t\t)\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\terror: null,\n\t\t\tresult: {\n\t\t\t\tdeployerApiKey: response.result.deployerApiKey?.toApiKeyWithToken(),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["createErrorResponse","PermissionActions","isTokenHash","UserInputError","TenantRole"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,EAAE,aAAa,MAAM,QAAQ,iBAAiB,2BAA2B,SAAS,QAAQ,GAC1F,SACiC;AACjC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAElF,QAAI,SAAS;AACZ,aAAOA,WAAAA,oBAAoB,kBAAkB,WAAW,WAAW,iBAAiB;AAAA,IAAA;AAGrF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQC,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,kBAAkB,SAAS,mBAAmB,6BAA6B;AAEjF,QAAI,OAAO,oBAAoB,YAAY,CAACC,WAAA,YAAY,eAAe,GAAG;AACnE,YAAA,IAAIC,4BAAe,gEAAgE;AAAA,IAAA;AAG1F,UAAM,eAAe,MAAM,QAAQ,SAAS,MAAM,SAASC,iBAAW,WAAW;AAE3E,UAAA,WAAW,MAAM,KAAK,eAAe;AAAA,MAC1C,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,MAAM,QAAQ;AAAA,QACd,QAAQ,UAAU,CAAC;AAAA,QACnB,SAAS,OAAO,aAAa,WAAW,CAAA,GAAI,IAAI,CAAM,OAAA,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAAA,MAC1E;AAAA,MACA;AAAA,QACC,iBAAiB,eAAe,SAAY,QAAQ,SAAS;AAAA,QAC7D;AAAA,QACA,eAAe,SAAS,iBAAiB;AAAA,MAAA;AAAA,IAE3C;AACI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAOJ,WAAoB,oBAAA,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,QACP,gBAAgB,SAAS,OAAO,gBAAgB,kBAAkB;AAAA,MAAA;AAAA,IAEpE;AAAA,EAAA;AAEF;;"}
@@ -13,7 +13,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
13
13
  import "openid-client";
14
14
  import "@contember/typesafe";
15
15
  import "../../../model/service/idp/providers/OIDCTypes.js";
16
- import "../../../model/service/idp/providers/OIDCHelpers.js";
17
16
  import "../../../model/service/idp/providers/FacebookProvider.js";
18
17
  import "@contember/schema-utils";
19
18
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"CreateProjectMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/CreateProjectMutationResolver.ts"],"sourcesContent":["import { CreateProjectResponse, MutationCreateProjectArgs, MutationResolvers } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { isTokenHash, PermissionActions, ProjectManager, TenantRole } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class CreateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync createProject(\n\t\tparent: any,\n\t\t{ projectSlug, name, config, deployTokenHash: deployTokenHashDeprecated, secrets, options }: MutationCreateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<CreateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\n\t\tif (project) {\n\t\t\treturn createErrorResponse('ALREADY_EXISTS', `Project ${projectSlug} already exists`)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PROJECT_CREATE,\n\t\t\tmessage: 'You are not allowed to create a project',\n\t\t})\n\t\tconst deployTokenHash = options?.deployTokenHash ?? deployTokenHashDeprecated ?? undefined\n\n\t\tif (typeof deployTokenHash === 'string' && !isTokenHash(deployTokenHash)) {\n\t\t\tthrow new UserInputError('Invalid format of deployTokenHash. Must be hex-encoded sha256.')\n\t\t}\n\n\t\tconst isSuperAdmin = await context.identity.roles.includes(TenantRole.SUPER_ADMIN)\n\n\t\tconst response = await this.projectManager.createProject(\n\t\t\tcontext.db,\n\t\t\tcontext.logger,\n\t\t\t{\n\t\t\t\tslug: projectSlug,\n\t\t\t\tname: name || projectSlug,\n\t\t\t\tconfig: config || {},\n\t\t\t\tsecrets: Object.fromEntries((secrets || []).map(it => [it.key, it.value])),\n\t\t\t},\n\t\t\t{\n\t\t\t\townerIdentityId: isSuperAdmin ? undefined : context.identity.id,\n\t\t\t\tdeployTokenHash,\n\t\t\t\tnoDeployToken: options?.noDeployToken ?? false,\n\t\t\t},\n\t\t)\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\terror: null,\n\t\t\tresult: {\n\t\t\t\tdeployerApiKey: response.result.deployerApiKey?.toApiKeyWithToken(),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,EAAE,aAAa,MAAM,QAAQ,iBAAiB,2BAA2B,SAAS,QAAQ,GAC1F,SACiC;AACjC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAElF,QAAI,SAAS;AACZ,aAAO,oBAAoB,kBAAkB,WAAW,WAAW,iBAAiB;AAAA,IAAA;AAGrF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,kBAAkB,SAAS,mBAAmB,6BAA6B;AAEjF,QAAI,OAAO,oBAAoB,YAAY,CAAC,YAAY,eAAe,GAAG;AACnE,YAAA,IAAI,eAAe,gEAAgE;AAAA,IAAA;AAG1F,UAAM,eAAe,MAAM,QAAQ,SAAS,MAAM,SAAS,WAAW,WAAW;AAE3E,UAAA,WAAW,MAAM,KAAK,eAAe;AAAA,MAC1C,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,MAAM,QAAQ;AAAA,QACd,QAAQ,UAAU,CAAC;AAAA,QACnB,SAAS,OAAO,aAAa,WAAW,CAAA,GAAI,IAAI,CAAM,OAAA,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAAA,MAC1E;AAAA,MACA;AAAA,QACC,iBAAiB,eAAe,SAAY,QAAQ,SAAS;AAAA,QAC7D;AAAA,QACA,eAAe,SAAS,iBAAiB;AAAA,MAAA;AAAA,IAE3C;AACI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,QACP,gBAAgB,SAAS,OAAO,gBAAgB,kBAAkB;AAAA,MAAA;AAAA,IAEpE;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"CreateProjectMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/CreateProjectMutationResolver.ts"],"sourcesContent":["import { CreateProjectResponse, MutationCreateProjectArgs, MutationResolvers } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { isTokenHash, PermissionActions, ProjectManager, TenantRole } from '../../../model'\nimport { createErrorResponse } from '../../errorUtils'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class CreateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync createProject(\n\t\tparent: any,\n\t\t{ projectSlug, name, config, deployTokenHash: deployTokenHashDeprecated, secrets, options }: MutationCreateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<CreateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\n\t\tif (project) {\n\t\t\treturn createErrorResponse('ALREADY_EXISTS', `Project ${projectSlug} already exists`)\n\t\t}\n\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.PROJECT_CREATE,\n\t\t\tmessage: 'You are not allowed to create a project',\n\t\t})\n\t\tconst deployTokenHash = options?.deployTokenHash ?? deployTokenHashDeprecated ?? undefined\n\n\t\tif (typeof deployTokenHash === 'string' && !isTokenHash(deployTokenHash)) {\n\t\t\tthrow new UserInputError('Invalid format of deployTokenHash. Must be hex-encoded sha256.')\n\t\t}\n\n\t\tconst isSuperAdmin = await context.identity.roles.includes(TenantRole.SUPER_ADMIN)\n\n\t\tconst response = await this.projectManager.createProject(\n\t\t\tcontext.db,\n\t\t\tcontext.logger,\n\t\t\t{\n\t\t\t\tslug: projectSlug,\n\t\t\t\tname: name || projectSlug,\n\t\t\t\tconfig: config || {},\n\t\t\t\tsecrets: Object.fromEntries((secrets || []).map(it => [it.key, it.value])),\n\t\t\t},\n\t\t\t{\n\t\t\t\townerIdentityId: isSuperAdmin ? undefined : context.identity.id,\n\t\t\t\tdeployTokenHash,\n\t\t\t\tnoDeployToken: options?.noDeployToken ?? false,\n\t\t\t},\n\t\t)\n\t\tif (!response.ok) {\n\t\t\treturn createErrorResponse(response.error, response.errorMessage)\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\terror: null,\n\t\t\tresult: {\n\t\t\t\tdeployerApiKey: response.result.deployerApiKey?.toApiKeyWithToken(),\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,EAAE,aAAa,MAAM,QAAQ,iBAAiB,2BAA2B,SAAS,QAAQ,GAC1F,SACiC;AACjC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAElF,QAAI,SAAS;AACZ,aAAO,oBAAoB,kBAAkB,WAAW,WAAW,iBAAiB;AAAA,IAAA;AAGrF,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACK,UAAA,kBAAkB,SAAS,mBAAmB,6BAA6B;AAEjF,QAAI,OAAO,oBAAoB,YAAY,CAAC,YAAY,eAAe,GAAG;AACnE,YAAA,IAAI,eAAe,gEAAgE;AAAA,IAAA;AAG1F,UAAM,eAAe,MAAM,QAAQ,SAAS,MAAM,SAAS,WAAW,WAAW;AAE3E,UAAA,WAAW,MAAM,KAAK,eAAe;AAAA,MAC1C,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,MAAM,QAAQ;AAAA,QACd,QAAQ,UAAU,CAAC;AAAA,QACnB,SAAS,OAAO,aAAa,WAAW,CAAA,GAAI,IAAI,CAAM,OAAA,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAAA,MAC1E;AAAA,MACA;AAAA,QACC,iBAAiB,eAAe,SAAY,QAAQ,SAAS;AAAA,QAC7D;AAAA,QACA,eAAe,SAAS,iBAAiB;AAAA,MAAA;AAAA,IAE3C;AACI,QAAA,CAAC,SAAS,IAAI;AACjB,aAAO,oBAAoB,SAAS,OAAO,SAAS,YAAY;AAAA,IAAA;AAE1D,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,QACP,gBAAgB,SAAS,OAAO,gBAAgB,kBAAkB;AAAA,MAAA;AAAA,IAEpE;AAAA,EAAA;AAEF;"}
@@ -14,7 +14,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
14
14
  require("openid-client");
15
15
  require("@contember/typesafe");
16
16
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
17
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
18
17
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
19
18
  require("@contember/schema-utils");
20
19
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"SetProjectSecretMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/SetProjectSecretMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tCreateProjectResponseErrorCode,\n\tMutationResolvers,\n\tMutationSetProjectSecretArgs,\n\tSetProjectSecretResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, SecretsManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class SetProjectSecretMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager, private readonly secretManager: SecretsManager) {}\n\n\tasync setProjectSecret(\n\t\tparent: any,\n\t\targs: MutationSetProjectSecretArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<SetProjectSecretResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_SET_SECRET,\n\t\t\tmessage: 'You are not allowed to set project secrets',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.secretManager.setSecret(context.db, project.id, args.key, args.value)\n\t\treturn { ok: true }\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YAA6B,gBAAiD,eAA+B;AAAhF,SAAA,iBAAA;AAAiD,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE9E,MAAM,iBACL,QACA,MACA,SACoC;AAC9B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,yCAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAErE,UAAA,KAAK,cAAc,UAAU,QAAQ,IAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,KAAK;AACxE,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;;"}
1
+ {"version":3,"file":"SetProjectSecretMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/SetProjectSecretMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tCreateProjectResponseErrorCode,\n\tMutationResolvers,\n\tMutationSetProjectSecretArgs,\n\tSetProjectSecretResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, SecretsManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class SetProjectSecretMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager, private readonly secretManager: SecretsManager) {}\n\n\tasync setProjectSecret(\n\t\tparent: any,\n\t\targs: MutationSetProjectSecretArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<SetProjectSecretResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_SET_SECRET,\n\t\t\tmessage: 'You are not allowed to set project secrets',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.secretManager.setSecret(context.db, project.id, args.key, args.value)\n\t\treturn { ok: true }\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YAA6B,gBAAiD,eAA+B;AAAhF,SAAA,iBAAA;AAAiD,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE9E,MAAM,iBACL,QACA,MACA,SACoC;AAC9B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,yCAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAErE,UAAA,KAAK,cAAc,UAAU,QAAQ,IAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,KAAK;AACxE,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;;"}
@@ -12,7 +12,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
12
12
  import "openid-client";
13
13
  import "@contember/typesafe";
14
14
  import "../../../model/service/idp/providers/OIDCTypes.js";
15
- import "../../../model/service/idp/providers/OIDCHelpers.js";
16
15
  import "../../../model/service/idp/providers/FacebookProvider.js";
17
16
  import "@contember/schema-utils";
18
17
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"SetProjectSecretMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/SetProjectSecretMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tCreateProjectResponseErrorCode,\n\tMutationResolvers,\n\tMutationSetProjectSecretArgs,\n\tSetProjectSecretResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, SecretsManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class SetProjectSecretMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager, private readonly secretManager: SecretsManager) {}\n\n\tasync setProjectSecret(\n\t\tparent: any,\n\t\targs: MutationSetProjectSecretArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<SetProjectSecretResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_SET_SECRET,\n\t\t\tmessage: 'You are not allowed to set project secrets',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.secretManager.setSecret(context.db, project.id, args.key, args.value)\n\t\treturn { ok: true }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YAA6B,gBAAiD,eAA+B;AAAhF,SAAA,iBAAA;AAAiD,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE9E,MAAM,iBACL,QACA,MACA,SACoC;AAC9B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAErE,UAAA,KAAK,cAAc,UAAU,QAAQ,IAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,KAAK;AACxE,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;"}
1
+ {"version":3,"file":"SetProjectSecretMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/SetProjectSecretMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tCreateProjectResponseErrorCode,\n\tMutationResolvers,\n\tMutationSetProjectSecretArgs,\n\tSetProjectSecretResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, SecretsManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class SetProjectSecretMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager, private readonly secretManager: SecretsManager) {}\n\n\tasync setProjectSecret(\n\t\tparent: any,\n\t\targs: MutationSetProjectSecretArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<SetProjectSecretResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_SET_SECRET,\n\t\t\tmessage: 'You are not allowed to set project secrets',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.secretManager.setSecret(context.db, project.id, args.key, args.value)\n\t\treturn { ok: true }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YAA6B,gBAAiD,eAA+B;AAAhF,SAAA,iBAAA;AAAiD,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE9E,MAAM,iBACL,QACA,MACA,SACoC;AAC9B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAErE,UAAA,KAAK,cAAc,UAAU,QAAQ,IAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,KAAK;AACxE,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;"}
@@ -14,7 +14,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
14
14
  require("openid-client");
15
15
  require("@contember/typesafe");
16
16
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
17
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
18
17
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
19
18
  require("@contember/schema-utils");
20
19
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateProjectMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/UpdateProjectMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationUpdateProjectArgs, UpdateProjectResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\nimport { Merger } from '@contember/config-loader'\n\nexport class UpdateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync updateProject(\n\t\tparent: any,\n\t\targs: MutationUpdateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_UPDATE,\n\t\t\tmessage: 'You are not allowed to update a project',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.projectManager.updateProject(context.db, project.id, {\n\t\t\tname: args.name || undefined,\n\t\t\tconfig: args.config !== undefined ? Merger.merge(args.mergeConfig ? project.config : {}, args.config) : undefined,\n\t\t})\n\t\treturn { ok: true }\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","Merger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,MACA,SACiC;AAC3B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,yCAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAE3E,UAAM,KAAK,eAAe,cAAc,QAAQ,IAAI,QAAQ,IAAI;AAAA,MAC/D,MAAM,KAAK,QAAQ;AAAA,MACnB,QAAQ,KAAK,WAAW,SAAYC,aAAAA,OAAO,MAAM,KAAK,cAAc,QAAQ,SAAS,CAAA,GAAI,KAAK,MAAM,IAAI;AAAA,IAAA,CACxG;AACM,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;;"}
1
+ {"version":3,"file":"UpdateProjectMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/UpdateProjectMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationUpdateProjectArgs, UpdateProjectResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\nimport { Merger } from '@contember/config-loader'\n\nexport class UpdateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync updateProject(\n\t\tparent: any,\n\t\targs: MutationUpdateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_UPDATE,\n\t\t\tmessage: 'You are not allowed to update a project',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.projectManager.updateProject(context.db, project.id, {\n\t\t\tname: args.name || undefined,\n\t\t\tconfig: args.config !== undefined ? Merger.merge(args.mergeConfig ? project.config : {}, args.config) : undefined,\n\t\t})\n\t\treturn { ok: true }\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","Merger"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,MACA,SACiC;AAC3B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,yCAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAE3E,UAAM,KAAK,eAAe,cAAc,QAAQ,IAAI,QAAQ,IAAI;AAAA,MAC/D,MAAM,KAAK,QAAQ;AAAA,MACnB,QAAQ,KAAK,WAAW,SAAYC,aAAAA,OAAO,MAAM,KAAK,cAAc,QAAQ,SAAS,CAAA,GAAI,KAAK,MAAM,IAAI;AAAA,IAAA,CACxG;AACM,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;;"}
@@ -12,7 +12,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
12
12
  import "openid-client";
13
13
  import "@contember/typesafe";
14
14
  import "../../../model/service/idp/providers/OIDCTypes.js";
15
- import "../../../model/service/idp/providers/OIDCHelpers.js";
16
15
  import "../../../model/service/idp/providers/FacebookProvider.js";
17
16
  import "@contember/schema-utils";
18
17
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateProjectMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/UpdateProjectMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationUpdateProjectArgs, UpdateProjectResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\nimport { Merger } from '@contember/config-loader'\n\nexport class UpdateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync updateProject(\n\t\tparent: any,\n\t\targs: MutationUpdateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_UPDATE,\n\t\t\tmessage: 'You are not allowed to update a project',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.projectManager.updateProject(context.db, project.id, {\n\t\t\tname: args.name || undefined,\n\t\t\tconfig: args.config !== undefined ? Merger.merge(args.mergeConfig ? project.config : {}, args.config) : undefined,\n\t\t})\n\t\treturn { ok: true }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,MACA,SACiC;AAC3B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAE3E,UAAM,KAAK,eAAe,cAAc,QAAQ,IAAI,QAAQ,IAAI;AAAA,MAC/D,MAAM,KAAK,QAAQ;AAAA,MACnB,QAAQ,KAAK,WAAW,SAAY,OAAO,MAAM,KAAK,cAAc,QAAQ,SAAS,CAAA,GAAI,KAAK,MAAM,IAAI;AAAA,IAAA,CACxG;AACM,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;"}
1
+ {"version":3,"file":"UpdateProjectMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/project/UpdateProjectMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationUpdateProjectArgs, UpdateProjectResponse } from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../../model'\nimport { createProjectNotFoundResponse } from '../../errorUtils'\nimport { Merger } from '@contember/config-loader'\n\nexport class UpdateProjectMutationResolver implements MutationResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync updateProject(\n\t\tparent: any,\n\t\targs: MutationUpdateProjectArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_UPDATE,\n\t\t\tmessage: 'You are not allowed to update a project',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', args.projectSlug)\n\t\t}\n\t\tawait this.projectManager.updateProject(context.db, project.id, {\n\t\t\tname: args.name || undefined,\n\t\t\tconfig: args.config !== undefined ? Merger.merge(args.mergeConfig ? project.config : {}, args.config) : undefined,\n\t\t})\n\t\treturn { ok: true }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAMO,MAAM,8BAA2D;AAAA,EACvE,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,cACL,QACA,MACA,SACiC;AAC3B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,KAAK,WAAW;AAAA,IAAA;AAE3E,UAAM,KAAK,eAAe,cAAc,QAAQ,IAAI,QAAQ,IAAI;AAAA,MAC/D,MAAM,KAAK,QAAQ;AAAA,MACnB,QAAQ,KAAK,WAAW,SAAY,OAAO,MAAM,KAAK,cAAc,QAAQ,SAAS,CAAA,GAAI,KAAK,MAAM,IAAI;AAAA,IAAA,CACxG;AACM,WAAA,EAAE,IAAI,KAAK;AAAA,EAAA;AAEpB;"}
@@ -14,7 +14,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
14
14
  require("openid-client");
15
15
  require("@contember/typesafe");
16
16
  require("../../../model/service/idp/providers/OIDCTypes.cjs");
17
- require("../../../model/service/idp/providers/OIDCHelpers.cjs");
18
17
  require("../../../model/service/idp/providers/FacebookProvider.cjs");
19
18
  require("@contember/schema-utils");
20
19
  require("otpauth");
@@ -1 +1 @@
1
- {"version":3,"file":"AddProjectMemberMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tAddProjectMemberResponse,\n\tMutationAddProjectMemberArgs,\n\tMutationResolvers,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { MembershipValidator, PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class AddProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync addProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationAddProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<AddProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_ADD_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to add a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst validationResult = await this.membershipValidator.validate(project.slug, memberships)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.addProjectMember(context.db, project.id, identityId, memberships)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","createMembershipValidationErrorResult","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YACkB,sBACA,gBACA,qBAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,sBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,iBACL,QACA,EAAE,aAAa,YAAY,eAC3B,SACoC;AACpC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQA,kBAAAA,kBAAkB,mBAAmB,WAAW;AAAA,MACxD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,WAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEtE,UAAM,mBAAmB,MAAM,KAAK,oBAAoB,SAAS,QAAQ,MAAM,WAAW;AACtF,QAAA,iBAAiB,SAAS,GAAG;AAC1B,YAAA,SAASC,sDAAsC,gBAAgB;AAC9D,aAAA;AAAA,QACN,IAAI;AAAA,QACJ;AAAA,QACA,OAAO,OAAO,CAAC;AAAA,MAChB;AAAA,IAAA;AAGK,UAAA,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,QAAQ,IAAI,QAAQ,IAAI,YAAY,WAAW;AAE3G,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"AddProjectMemberMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tAddProjectMemberResponse,\n\tMutationAddProjectMemberArgs,\n\tMutationResolvers,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { MembershipValidator, PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class AddProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync addProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationAddProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<AddProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_ADD_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to add a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst validationResult = await this.membershipValidator.validate(project.slug, memberships)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.addProjectMember(context.db, project.id, identityId, memberships)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","createMembershipValidationErrorResult","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YACkB,sBACA,gBACA,qBAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,sBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,iBACL,QACA,EAAE,aAAa,YAAY,eAC3B,SACoC;AACpC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQA,kBAAAA,kBAAkB,mBAAmB,WAAW;AAAA,MACxD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,WAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEtE,UAAM,mBAAmB,MAAM,KAAK,oBAAoB,SAAS,QAAQ,MAAM,WAAW;AACtF,QAAA,iBAAiB,SAAS,GAAG;AAC1B,YAAA,SAASC,sDAAsC,gBAAgB;AAC9D,aAAA;AAAA,QACN,IAAI;AAAA,QACJ;AAAA,QACA,OAAO,OAAO,CAAC;AAAA,MAChB;AAAA,IAAA;AAGK,UAAA,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,QAAQ,IAAI,QAAQ,IAAI,YAAY,WAAW;AAE3G,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;;"}
@@ -12,7 +12,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
12
12
  import "openid-client";
13
13
  import "@contember/typesafe";
14
14
  import "../../../model/service/idp/providers/OIDCTypes.js";
15
- import "../../../model/service/idp/providers/OIDCHelpers.js";
16
15
  import "../../../model/service/idp/providers/FacebookProvider.js";
17
16
  import "@contember/schema-utils";
18
17
  import "otpauth";
@@ -1 +1 @@
1
- {"version":3,"file":"AddProjectMemberMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tAddProjectMemberResponse,\n\tMutationAddProjectMemberArgs,\n\tMutationResolvers,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { MembershipValidator, PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class AddProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync addProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationAddProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<AddProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_ADD_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to add a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst validationResult = await this.membershipValidator.validate(project.slug, memberships)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.addProjectMember(context.db, project.id, identityId, memberships)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YACkB,sBACA,gBACA,qBAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,sBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,iBACL,QACA,EAAE,aAAa,YAAY,eAC3B,SACoC;AACpC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQ,kBAAkB,mBAAmB,WAAW;AAAA,MACxD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEtE,UAAM,mBAAmB,MAAM,KAAK,oBAAoB,SAAS,QAAQ,MAAM,WAAW;AACtF,QAAA,iBAAiB,SAAS,GAAG;AAC1B,YAAA,SAAS,sCAAsC,gBAAgB;AAC9D,aAAA;AAAA,QACN,IAAI;AAAA,QACJ;AAAA,QACA,OAAO,OAAO,CAAC;AAAA,MAChB;AAAA,IAAA;AAGK,UAAA,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,QAAQ,IAAI,QAAQ,IAAI,YAAY,WAAW;AAE3G,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"AddProjectMemberMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tAddProjectMemberErrorCode,\n\tAddProjectMemberResponse,\n\tMutationAddProjectMemberArgs,\n\tMutationResolvers,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { MembershipValidator, PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class AddProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync addProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationAddProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<AddProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tawait context.requireAccess({\n\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\taction: PermissionActions.PROJECT_ADD_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to add a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst validationResult = await this.membershipValidator.validate(project.slug, memberships)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.addProjectMember(context.db, project.id, identityId, memberships)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAWO,MAAM,iCAA8D;AAAA,EAC1E,YACkB,sBACA,gBACA,qBAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,sBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,iBACL,QACA,EAAE,aAAa,YAAY,eAC3B,SACoC;AACpC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQ,kBAAkB,mBAAmB,WAAW;AAAA,MACxD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEtE,UAAM,mBAAmB,MAAM,KAAK,oBAAoB,SAAS,QAAQ,MAAM,WAAW;AACtF,QAAA,iBAAiB,SAAS,GAAG;AAC1B,YAAA,SAAS,sCAAsC,gBAAgB;AAC9D,aAAA;AAAA,QACN,IAAI;AAAA,QACJ;AAAA,QACA,OAAO,OAAO,CAAC;AAAA,MAChB;AAAA,IAAA;AAGK,UAAA,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,QAAQ,IAAI,QAAQ,IAAI,YAAY,WAAW;AAE3G,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;"}