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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/src/TenantContainer.d.ts +1 -1
  2. package/dist/src/TenantContainer.d.ts.map +1 -1
  3. package/dist/src/TenantContainer.js +2 -0
  4. package/dist/src/TenantContainer.js.map +1 -1
  5. package/dist/src/bin/runMigrations.d.ts +2 -0
  6. package/dist/src/bin/runMigrations.d.ts.map +1 -0
  7. package/dist/src/bin/runMigrations.js +28 -0
  8. package/dist/src/bin/runMigrations.js.map +1 -0
  9. package/dist/src/migrations/2018-08-02-174310-init.d.ts +3 -0
  10. package/dist/src/migrations/2018-08-02-174310-init.d.ts.map +1 -0
  11. package/dist/src/migrations/2018-08-02-174310-init.js +64 -0
  12. package/dist/src/migrations/2018-08-02-174310-init.js.map +1 -0
  13. package/dist/src/migrations/2018-09-03-140621-identity-project.d.ts +3 -0
  14. package/dist/src/migrations/2018-09-03-140621-identity-project.d.ts.map +1 -0
  15. package/dist/src/migrations/2018-09-03-140621-identity-project.js +33 -0
  16. package/dist/src/migrations/2018-09-03-140621-identity-project.js.map +1 -0
  17. package/dist/src/migrations/2018-10-26-165450-setup-api-key.d.ts +3 -0
  18. package/dist/src/migrations/2018-10-26-165450-setup-api-key.d.ts.map +1 -0
  19. package/dist/src/migrations/2018-10-26-165450-setup-api-key.js +27 -0
  20. package/dist/src/migrations/2018-10-26-165450-setup-api-key.js.map +1 -0
  21. package/dist/src/migrations/2018-10-26-175155-variables.d.ts +3 -0
  22. package/dist/src/migrations/2018-10-26-175155-variables.d.ts.map +1 -0
  23. package/dist/src/migrations/2018-10-26-175155-variables.js +23 -0
  24. package/dist/src/migrations/2018-10-26-175155-variables.js.map +1 -0
  25. package/dist/src/migrations/2019-02-18-110949-project-slug.d.ts +3 -0
  26. package/dist/src/migrations/2019-02-18-110949-project-slug.d.ts.map +1 -0
  27. package/dist/src/migrations/2019-02-18-110949-project-slug.js +18 -0
  28. package/dist/src/migrations/2019-02-18-110949-project-slug.js.map +1 -0
  29. package/dist/src/migrations/2019-02-18-160155-session-expiration.d.ts +3 -0
  30. package/dist/src/migrations/2019-02-18-160155-session-expiration.d.ts.map +1 -0
  31. package/dist/src/migrations/2019-02-18-160155-session-expiration.js +11 -0
  32. package/dist/src/migrations/2019-02-18-160155-session-expiration.js.map +1 -0
  33. package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.d.ts +3 -0
  34. package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.d.ts.map +1 -0
  35. package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.js +18 -0
  36. package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.js.map +1 -0
  37. package/dist/src/migrations/2019-08-14-153300-project-slug-unique.d.ts +3 -0
  38. package/dist/src/migrations/2019-08-14-153300-project-slug-unique.d.ts.map +1 -0
  39. package/dist/src/migrations/2019-08-14-153300-project-slug-unique.js +11 -0
  40. package/dist/src/migrations/2019-08-14-153300-project-slug-unique.js.map +1 -0
  41. package/dist/src/migrations/2019-09-06-111000-membership.d.ts +3 -0
  42. package/dist/src/migrations/2019-09-06-111000-membership.d.ts.map +1 -0
  43. package/dist/src/migrations/2019-09-06-111000-membership.js +51 -0
  44. package/dist/src/migrations/2019-09-06-111000-membership.js.map +1 -0
  45. package/dist/src/migrations/2019-09-06-111001-drop-old-member.d.ts +3 -0
  46. package/dist/src/migrations/2019-09-06-111001-drop-old-member.d.ts.map +1 -0
  47. package/dist/src/migrations/2019-09-06-111001-drop-old-member.js +11 -0
  48. package/dist/src/migrations/2019-09-06-111001-drop-old-member.js.map +1 -0
  49. package/dist/src/migrations/2020-01-29-idenity-note.d.ts +3 -0
  50. package/dist/src/migrations/2020-01-29-idenity-note.d.ts.map +1 -0
  51. package/dist/src/migrations/2020-01-29-idenity-note.js +18 -0
  52. package/dist/src/migrations/2020-01-29-idenity-note.js.map +1 -0
  53. package/dist/src/migrations/2020-04-17-fix-person-index.d.ts +3 -0
  54. package/dist/src/migrations/2020-04-17-fix-person-index.d.ts.map +1 -0
  55. package/dist/src/migrations/2020-04-17-fix-person-index.js +12 -0
  56. package/dist/src/migrations/2020-04-17-fix-person-index.js.map +1 -0
  57. package/dist/src/migrations/2020-05-01-170000-api-key-index.d.ts +3 -0
  58. package/dist/src/migrations/2020-05-01-170000-api-key-index.d.ts.map +1 -0
  59. package/dist/src/migrations/2020-05-01-170000-api-key-index.js +10 -0
  60. package/dist/src/migrations/2020-05-01-170000-api-key-index.js.map +1 -0
  61. package/dist/src/migrations/2020-06-08-134000-tenant-credentials.d.ts.map +1 -1
  62. package/dist/src/migrations/2020-06-08-134000-tenant-credentials.js +2 -50
  63. package/dist/src/migrations/2020-06-08-134000-tenant-credentials.js.map +1 -1
  64. package/dist/src/migrations/2020-08-07-110000-person-otp.d.ts +3 -0
  65. package/dist/src/migrations/2020-08-07-110000-person-otp.d.ts.map +1 -0
  66. package/dist/src/migrations/2020-08-07-110000-person-otp.js +12 -0
  67. package/dist/src/migrations/2020-08-07-110000-person-otp.js.map +1 -0
  68. package/dist/src/migrations/2020-08-17-162200-mail-templates.d.ts +3 -0
  69. package/dist/src/migrations/2020-08-17-162200-mail-templates.d.ts.map +1 -0
  70. package/dist/src/migrations/2020-08-17-162200-mail-templates.js +23 -0
  71. package/dist/src/migrations/2020-08-17-162200-mail-templates.js.map +1 -0
  72. package/dist/src/migrations/2020-08-21-143400-person-password-reset.d.ts +3 -0
  73. package/dist/src/migrations/2020-08-21-143400-person-password-reset.d.ts.map +1 -0
  74. package/dist/src/migrations/2020-08-21-143400-person-password-reset.js +23 -0
  75. package/dist/src/migrations/2020-08-21-143400-person-password-reset.js.map +1 -0
  76. package/dist/src/migrations/2020-09-07-094200-identity-provider.d.ts +3 -0
  77. package/dist/src/migrations/2020-09-07-094200-identity-provider.d.ts.map +1 -0
  78. package/dist/src/migrations/2020-09-07-094200-identity-provider.js +17 -0
  79. package/dist/src/migrations/2020-09-07-094200-identity-provider.js.map +1 -0
  80. package/dist/src/migrations/2021-03-28-134000-timestamp.d.ts +3 -0
  81. package/dist/src/migrations/2021-03-28-134000-timestamp.d.ts.map +1 -0
  82. package/dist/src/migrations/2021-03-28-134000-timestamp.js +27 -0
  83. package/dist/src/migrations/2021-03-28-134000-timestamp.js.map +1 -0
  84. package/dist/src/migrations/2021-07-26-105000-project-config.d.ts +3 -0
  85. package/dist/src/migrations/2021-07-26-105000-project-config.d.ts.map +1 -0
  86. package/dist/src/migrations/2021-07-26-105000-project-config.js +12 -0
  87. package/dist/src/migrations/2021-07-26-105000-project-config.js.map +1 -0
  88. package/dist/src/migrations/2021-07-26-132000-project-secrets.d.ts +3 -0
  89. package/dist/src/migrations/2021-07-26-132000-project-secrets.d.ts.map +1 -0
  90. package/dist/src/migrations/2021-07-26-132000-project-secrets.js +24 -0
  91. package/dist/src/migrations/2021-07-26-132000-project-secrets.js.map +1 -0
  92. package/dist/src/migrations/2021-07-27-174000-project-alias-index.d.ts +3 -0
  93. package/dist/src/migrations/2021-07-27-174000-project-alias-index.d.ts.map +1 -0
  94. package/dist/src/migrations/2021-07-27-174000-project-alias-index.js +10 -0
  95. package/dist/src/migrations/2021-07-27-174000-project-alias-index.js.map +1 -0
  96. package/dist/src/migrations/2021-11-24-130000-person-password-null.d.ts +3 -0
  97. package/dist/src/migrations/2021-11-24-130000-person-password-null.d.ts.map +1 -0
  98. package/dist/src/migrations/2021-11-24-130000-person-password-null.js +10 -0
  99. package/dist/src/migrations/2021-11-24-130000-person-password-null.js.map +1 -0
  100. package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.d.ts +3 -0
  101. package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.d.ts.map +1 -0
  102. package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.js +18 -0
  103. package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.js.map +1 -0
  104. package/dist/src/migrations/2022-01-04-144000-person-unique-identity.d.ts +3 -0
  105. package/dist/src/migrations/2022-01-04-144000-person-unique-identity.d.ts.map +1 -0
  106. package/dist/src/migrations/2022-01-04-144000-person-unique-identity.js +11 -0
  107. package/dist/src/migrations/2022-01-04-144000-person-unique-identity.js.map +1 -0
  108. package/dist/src/migrations/2022-02-09-111800-fix-crypted.d.ts +3 -0
  109. package/dist/src/migrations/2022-02-09-111800-fix-crypted.d.ts.map +1 -0
  110. package/dist/src/migrations/2022-02-09-111800-fix-crypted.js +22 -0
  111. package/dist/src/migrations/2022-02-09-111800-fix-crypted.js.map +1 -0
  112. package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.d.ts +3 -0
  113. package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.d.ts.map +1 -0
  114. package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.js +11 -0
  115. package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.js.map +1 -0
  116. package/dist/src/migrations/2022-06-29-105000-person-idp.d.ts +3 -0
  117. package/dist/src/migrations/2022-06-29-105000-person-idp.d.ts.map +1 -0
  118. package/dist/src/migrations/2022-06-29-105000-person-idp.js +23 -0
  119. package/dist/src/migrations/2022-06-29-105000-person-idp.js.map +1 -0
  120. package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.d.ts +3 -0
  121. package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.d.ts.map +1 -0
  122. package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.js +12 -0
  123. package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.js.map +1 -0
  124. package/dist/src/migrations/2022-07-07-141000-person-display-name.d.ts +3 -0
  125. package/dist/src/migrations/2022-07-07-141000-person-display-name.d.ts.map +1 -0
  126. package/dist/src/migrations/2022-07-07-141000-person-display-name.js +13 -0
  127. package/dist/src/migrations/2022-07-07-141000-person-display-name.js.map +1 -0
  128. package/dist/src/migrations/2022-07-14-145000-person-login-options.d.ts +3 -0
  129. package/dist/src/migrations/2022-07-14-145000-person-login-options.d.ts.map +1 -0
  130. package/dist/src/migrations/2022-07-14-145000-person-login-options.js +15 -0
  131. package/dist/src/migrations/2022-07-14-145000-person-login-options.js.map +1 -0
  132. package/dist/src/migrations/2022-11-08-project-update-notification.d.ts +3 -0
  133. package/dist/src/migrations/2022-11-08-project-update-notification.d.ts.map +1 -0
  134. package/dist/src/migrations/2022-11-08-project-update-notification.js +64 -0
  135. package/dist/src/migrations/2022-11-08-project-update-notification.js.map +1 -0
  136. package/dist/src/migrations/runner.d.ts +1 -1
  137. package/dist/src/migrations/runner.d.ts.map +1 -1
  138. package/dist/src/migrations/runner.js +68 -5
  139. package/dist/src/migrations/runner.js.map +1 -1
  140. package/dist/src/migrations/snapshot-factory.d.ts +5 -0
  141. package/dist/src/migrations/snapshot-factory.d.ts.map +1 -0
  142. package/dist/src/migrations/snapshot-factory.js +18 -0
  143. package/dist/src/migrations/snapshot-factory.js.map +1 -0
  144. package/dist/src/migrations/snapshot.d.ts +4 -0
  145. package/dist/src/migrations/snapshot.d.ts.map +1 -0
  146. package/dist/src/migrations/snapshot.js +202 -0
  147. package/dist/src/migrations/snapshot.js.map +1 -0
  148. package/dist/src/migrations/tenantCredentials.d.ts +4 -0
  149. package/dist/src/migrations/tenantCredentials.d.ts.map +1 -0
  150. package/dist/src/migrations/tenantCredentials.js +57 -0
  151. package/dist/src/migrations/tenantCredentials.js.map +1 -0
  152. package/dist/src/migrations/types.d.ts +2 -0
  153. package/dist/src/migrations/types.d.ts.map +1 -1
  154. package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts +1 -0
  155. package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts.map +1 -1
  156. package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts +3 -3
  157. package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts.map +1 -1
  158. package/dist/src/model/queries/membership/ProjectMembersQuery.js +22 -10
  159. package/dist/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
  160. package/dist/src/model/service/IDPSignInManager.d.ts +3 -3
  161. package/dist/src/model/service/IDPSignInManager.d.ts.map +1 -1
  162. package/dist/src/model/service/IDPSignInManager.js +13 -5
  163. package/dist/src/model/service/IDPSignInManager.js.map +1 -1
  164. package/dist/src/model/service/ProjectMemberManager.d.ts +2 -2
  165. package/dist/src/model/service/ProjectMemberManager.d.ts.map +1 -1
  166. package/dist/src/model/service/ProjectMemberManager.js +2 -2
  167. package/dist/src/model/service/ProjectMemberManager.js.map +1 -1
  168. package/dist/src/model/service/idp/IDPHandlerRegistry.d.ts +2 -2
  169. package/dist/src/model/service/idp/IDPHandlerRegistry.d.ts.map +1 -1
  170. package/dist/src/model/service/idp/IDPHandlerRegistry.js.map +1 -1
  171. package/dist/src/model/service/idp/IDPManager.d.ts.map +1 -1
  172. package/dist/src/model/service/idp/IDPManager.js +7 -2
  173. package/dist/src/model/service/idp/IDPManager.js.map +1 -1
  174. package/dist/src/model/service/idp/IdentityProviderHandler.d.ts +6 -9
  175. package/dist/src/model/service/idp/IdentityProviderHandler.d.ts.map +1 -1
  176. package/dist/src/model/service/idp/index.d.ts +3 -1
  177. package/dist/src/model/service/idp/index.d.ts.map +1 -1
  178. package/dist/src/model/service/idp/index.js +3 -1
  179. package/dist/src/model/service/idp/index.js.map +1 -1
  180. package/dist/src/model/service/idp/providers/AppleProvider.d.ts +29 -0
  181. package/dist/src/model/service/idp/providers/AppleProvider.d.ts.map +1 -0
  182. package/dist/src/model/service/idp/providers/AppleProvider.js +79 -0
  183. package/dist/src/model/service/idp/providers/AppleProvider.js.map +1 -0
  184. package/dist/src/model/service/idp/providers/FacebookProvider.d.ts +27 -0
  185. package/dist/src/model/service/idp/providers/FacebookProvider.d.ts.map +1 -0
  186. package/dist/src/model/service/idp/providers/FacebookProvider.js +137 -0
  187. package/dist/src/model/service/idp/providers/FacebookProvider.js.map +1 -0
  188. package/dist/src/model/service/idp/providers/OIDCHelpers.d.ts +10 -0
  189. package/dist/src/model/service/idp/providers/OIDCHelpers.d.ts.map +1 -0
  190. package/dist/src/model/service/idp/providers/OIDCHelpers.js +56 -0
  191. package/dist/src/model/service/idp/providers/OIDCHelpers.js.map +1 -0
  192. package/dist/src/model/service/idp/providers/OIDCProvider.d.ts +19 -0
  193. package/dist/src/model/service/idp/providers/OIDCProvider.d.ts.map +1 -0
  194. package/dist/src/model/service/idp/providers/OIDCProvider.js +40 -0
  195. package/dist/src/model/service/idp/providers/OIDCProvider.js.map +1 -0
  196. package/dist/src/model/service/idp/providers/OIDCTypes.d.ts +62 -0
  197. package/dist/src/model/service/idp/providers/OIDCTypes.d.ts.map +1 -0
  198. package/dist/src/model/service/idp/providers/OIDCTypes.js +56 -0
  199. package/dist/src/model/service/idp/providers/OIDCTypes.js.map +1 -0
  200. package/dist/src/model/service/idp/providers/helpers.d.ts +3 -0
  201. package/dist/src/model/service/idp/providers/helpers.d.ts.map +1 -0
  202. package/dist/src/model/service/idp/providers/helpers.js +40 -0
  203. package/dist/src/model/service/idp/providers/helpers.js.map +1 -0
  204. package/dist/src/model/utils/DatabaseContext.d.ts +1 -0
  205. package/dist/src/model/utils/DatabaseContext.d.ts.map +1 -1
  206. package/dist/src/model/utils/DatabaseContext.js +5 -0
  207. package/dist/src/model/utils/DatabaseContext.js.map +1 -1
  208. package/dist/src/resolvers/mutation/idp/UpdateIDPMutationResolver.d.ts.map +1 -1
  209. package/dist/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +4 -3
  210. package/dist/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
  211. package/dist/src/resolvers/mutation/person/IDPMutationResolver.d.ts.map +1 -1
  212. package/dist/src/resolvers/mutation/person/IDPMutationResolver.js +10 -3
  213. package/dist/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
  214. package/dist/src/resolvers/types/ProjectTypeResolver.d.ts.map +1 -1
  215. package/dist/src/resolvers/types/ProjectTypeResolver.js +14 -6
  216. package/dist/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  217. package/dist/src/schema/index.d.ts +26 -8
  218. package/dist/src/schema/index.d.ts.map +1 -1
  219. package/dist/src/schema/index.js +1 -0
  220. package/dist/src/schema/index.js.map +1 -1
  221. package/dist/src/schema/tenant.graphql.d.ts.map +1 -1
  222. package/dist/src/schema/tenant.graphql.js +32 -6
  223. package/dist/src/schema/tenant.graphql.js.map +1 -1
  224. package/dist/src/tsconfig.tsbuildinfo +1 -1
  225. package/dist/tests/cases/integration/db/invite.test.js +2 -2
  226. package/dist/tests/cases/integration/db/unmanagedInvite.test.js +2 -2
  227. package/dist/{src → tests/cases}/migrations/2020-06-08-134000-tenant-credentials.test.d.ts +1 -1
  228. package/dist/tests/cases/migrations/2020-06-08-134000-tenant-credentials.test.d.ts.map +1 -0
  229. package/dist/{src → tests/cases}/migrations/2020-06-08-134000-tenant-credentials.test.js +19 -9
  230. package/dist/tests/cases/migrations/2020-06-08-134000-tenant-credentials.test.js.map +1 -0
  231. package/dist/tests/src/IdPMock.d.ts +4 -4
  232. package/dist/tests/src/IdPMock.d.ts.map +1 -1
  233. package/dist/tests/src/IdPMock.js +2 -2
  234. package/dist/tests/src/IdPMock.js.map +1 -1
  235. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  236. package/package.json +14 -13
  237. package/src/TenantContainer.ts +4 -2
  238. package/src/bin/runMigrations.ts +32 -0
  239. package/src/migrations/{2018-08-02-174310-init.sql → 2018-08-02-174310-init.ts} +8 -1
  240. package/src/migrations/{2018-09-03-140621-identity-project.sql → 2018-09-03-140621-identity-project.ts} +8 -0
  241. package/src/migrations/{2018-10-26-165450-setup-api-key.sql → 2018-10-26-165450-setup-api-key.ts} +8 -0
  242. package/src/migrations/{2018-10-26-175155-variables.sql → 2018-10-26-175155-variables.ts} +7 -0
  243. package/src/migrations/{2019-02-18-110949-project-slug.sql → 2019-02-18-110949-project-slug.ts} +8 -0
  244. package/src/migrations/2019-02-18-160155-session-expiration.ts +10 -0
  245. package/src/migrations/{2019-05-03-163729-api-key-disabled-at.sql → 2019-05-03-163729-api-key-disabled-at.ts} +8 -0
  246. package/src/migrations/2019-08-14-153300-project-slug-unique.ts +10 -0
  247. package/src/migrations/{2019-09-06-111000-membership.sql → 2019-09-06-111000-membership.ts} +8 -0
  248. package/src/migrations/2019-09-06-111001-drop-old-member.ts +10 -0
  249. package/src/migrations/2020-01-29-idenity-note.ts +18 -0
  250. package/src/migrations/2020-04-17-fix-person-index.ts +12 -0
  251. package/src/migrations/2020-05-01-170000-api-key-index.ts +10 -0
  252. package/src/migrations/2020-06-08-134000-tenant-credentials.ts +3 -54
  253. package/src/migrations/2020-08-07-110000-person-otp.ts +12 -0
  254. package/src/migrations/{2020-08-17-162200-mail-templates.sql → 2020-08-17-162200-mail-templates.ts} +8 -0
  255. package/src/migrations/{2020-08-21-143400-person-password-reset.sql → 2020-08-21-143400-person-password-reset.ts} +8 -0
  256. package/src/migrations/{2020-09-07-094200-identity-provider.sql → 2020-09-07-094200-identity-provider.ts} +8 -0
  257. package/src/migrations/{2021-03-28-134000-timestamp.sql → 2021-03-28-134000-timestamp.ts} +9 -0
  258. package/src/migrations/2021-07-26-105000-project-config.ts +12 -0
  259. package/src/migrations/{2021-07-26-132000-project-secrets.sql → 2021-07-26-132000-project-secrets.ts} +8 -0
  260. package/src/migrations/2021-07-27-174000-project-alias-index.ts +10 -0
  261. package/src/migrations/2021-11-24-130000-person-password-null.ts +10 -0
  262. package/src/migrations/{2021-11-24-161500-mail-template-project-null.sql → 2021-11-24-161500-mail-template-project-null.ts} +8 -0
  263. package/src/migrations/2022-01-04-144000-person-unique-identity.ts +10 -0
  264. package/src/migrations/{2022-02-09-111800-fix-crypted.sql → 2022-02-09-111800-fix-crypted.ts} +8 -0
  265. package/src/migrations/2022-02-11-153000-idp-auto-sign-up.ts +10 -0
  266. package/src/migrations/{2022-06-29-105000-person-idp.sql → 2022-06-29-105000-person-idp.ts} +8 -0
  267. package/src/migrations/2022-07-07-135000-person-email-opt-uniq.ts +11 -0
  268. package/src/migrations/2022-07-07-141000-person-display-name.ts +13 -0
  269. package/src/migrations/{2022-07-14-145000-person-login-options.sql → 2022-07-14-145000-person-login-options.ts} +9 -0
  270. package/src/migrations/2022-11-08-project-update-notification.ts +64 -0
  271. package/src/migrations/runner.ts +72 -8
  272. package/src/migrations/snapshot-factory.ts +21 -0
  273. package/src/migrations/snapshot-template-end.txt +10 -0
  274. package/src/migrations/snapshot-template-start.txt +6 -0
  275. package/src/migrations/snapshot.ts +202 -0
  276. package/src/migrations/tenantCredentials.ts +58 -0
  277. package/src/migrations/types.ts +3 -0
  278. package/src/model/commands/idp/UpdateIdpCommand.ts +1 -0
  279. package/src/model/queries/membership/ProjectMembersQuery.ts +23 -14
  280. package/src/model/service/IDPSignInManager.ts +13 -10
  281. package/src/model/service/ProjectMemberManager.ts +3 -3
  282. package/src/model/service/idp/IDPHandlerRegistry.ts +3 -3
  283. package/src/model/service/idp/IDPManager.ts +6 -2
  284. package/src/model/service/idp/IdentityProviderHandler.ts +7 -15
  285. package/src/model/service/idp/index.ts +3 -1
  286. package/src/model/service/idp/providers/AppleProvider.ts +65 -0
  287. package/src/model/service/idp/providers/FacebookProvider.ts +125 -0
  288. package/src/model/service/idp/providers/OIDCHelpers.ts +54 -0
  289. package/src/model/service/idp/providers/OIDCProvider.ts +40 -0
  290. package/src/model/service/idp/providers/OIDCTypes.ts +61 -0
  291. package/src/model/service/idp/providers/helpers.ts +12 -0
  292. package/src/model/utils/DatabaseContext.ts +6 -0
  293. package/src/resolvers/mutation/idp/UpdateIDPMutationResolver.ts +1 -0
  294. package/src/resolvers/mutation/person/IDPMutationResolver.ts +9 -7
  295. package/src/resolvers/types/ProjectTypeResolver.ts +9 -2
  296. package/src/schema/index.ts +28 -8
  297. package/src/schema/tenant.graphql.ts +32 -6
  298. package/src/tsconfig.json +10 -30
  299. package/tests/cases/integration/db/invite.test.ts +2 -2
  300. package/tests/cases/integration/db/unmanagedInvite.test.ts +2 -2
  301. package/{src → tests/cases}/migrations/2020-06-08-134000-tenant-credentials.test.ts +17 -9
  302. package/tests/src/IdPMock.ts +4 -4
  303. package/tests/tsconfig.json +2 -6
  304. package/tsconfig.json +2 -6
  305. package/dist/src/migrations/2020-06-08-134000-tenant-credentials.test.d.ts.map +0 -1
  306. package/dist/src/migrations/2020-06-08-134000-tenant-credentials.test.js.map +0 -1
  307. package/dist/src/model/service/idp/OIDCProvider.d.ts +0 -25
  308. package/dist/src/model/service/idp/OIDCProvider.d.ts.map +0 -1
  309. package/dist/src/model/service/idp/OIDCProvider.js +0 -108
  310. package/dist/src/model/service/idp/OIDCProvider.js.map +0 -1
  311. package/src/migrations/2019-02-18-160155-session-expiration.sql +0 -2
  312. package/src/migrations/2019-08-14-153300-project-slug-unique.sql +0 -2
  313. package/src/migrations/2019-09-06-111001-drop-old-member.sql +0 -2
  314. package/src/migrations/2020-01-29-idenity-note.sql +0 -9
  315. package/src/migrations/2020-04-17-fix-person-index.sql +0 -3
  316. package/src/migrations/2020-05-01-170000-api-key-index.sql +0 -1
  317. package/src/migrations/2020-08-07-110000-person-otp.sql +0 -3
  318. package/src/migrations/2021-07-26-105000-project-config.sql +0 -3
  319. package/src/migrations/2021-07-27-174000-project-alias-index.sql +0 -1
  320. package/src/migrations/2021-11-24-130000-person-password-null.sql +0 -1
  321. package/src/migrations/2022-01-04-144000-person-unique-identity.sql +0 -2
  322. package/src/migrations/2022-02-11-153000-idp-auto-sign-up.sql +0 -2
  323. package/src/migrations/2022-07-07-135000-person-email-opt-uniq.sql +0 -3
  324. package/src/migrations/2022-07-07-141000-person-display-name.sql +0 -4
  325. package/src/model/service/idp/OIDCProvider.ts +0 -100
@@ -3,32 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProjectMembersQuery = void 0;
4
4
  const database_1 = require("@contember/database");
5
5
  const schema_1 = require("../../../schema");
6
+ const exceptions_1 = require("../../../exceptions");
6
7
  class ProjectMembersQuery extends database_1.DatabaseQuery {
7
- constructor(projectId, memberType) {
8
+ constructor(projectId, projectMemberInput) {
8
9
  super();
9
10
  this.projectId = projectId;
10
- this.memberType = memberType;
11
+ this.projectMemberInput = projectMemberInput;
11
12
  }
12
13
  async fetch({ db }) {
14
+ var _a, _b;
13
15
  return await database_1.SelectBuilder.create()
14
16
  .select('id')
15
17
  .select('description')
16
18
  .from('identity')
17
19
  .where(it => it.exists(builder => builder
18
20
  .from('project_membership')
19
- .where(expr => expr.columnsEq(['project_membership', 'identity_id'], ['identity', 'id']))))
21
+ .where(expr => expr.columnsEq(['project_membership', 'identity_id'], ['identity', 'id']))
22
+ .where({ project_id: this.projectId })))
20
23
  .match(qb => {
21
- if (!this.memberType) {
22
- return qb;
24
+ var _a;
25
+ const { email, memberType } = (_a = this.projectMemberInput.filter) !== null && _a !== void 0 ? _a : {};
26
+ if (email && memberType === schema_1.MemberType.ApiKey) {
27
+ throw new exceptions_1.ImplementationException();
23
28
  }
24
- const expr = database_1.ConditionBuilder.create().exists(builder => builder
29
+ const personQuery = database_1.SelectBuilder.create()
25
30
  .from('person')
26
- .where(expr => expr.columnsEq(['person', 'identity_id'], ['identity', 'id'])));
27
- if (this.memberType === schema_1.MemberType.Person) {
28
- return qb.where(expr);
31
+ .where(expr => expr.columnsEq(['person', 'identity_id'], ['identity', 'id']));
32
+ if (email) {
33
+ return qb.where(it => it.exists(personQuery.where({ email })));
29
34
  }
30
- return qb.where(database_1.ConditionBuilder.not(expr));
35
+ switch (memberType) {
36
+ case schema_1.MemberType.ApiKey:
37
+ return qb.where(it => it.not(it => it.exists(personQuery)));
38
+ case schema_1.MemberType.Person:
39
+ return qb.where(it => it.exists(personQuery));
40
+ }
41
+ return qb;
31
42
  })
43
+ .limit((_a = this.projectMemberInput.limit) !== null && _a !== void 0 ? _a : undefined, (_b = this.projectMemberInput.offset) !== null && _b !== void 0 ? _b : undefined)
32
44
  .getResult(db);
33
45
  }
34
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAuG;AACvG,4CAA4C;AAE5C,MAAa,mBAAoB,SAAQ,wBAAwC;IAChF,YACkB,SAAiB,EACjB,UAAuB;QAExC,KAAK,EAAE,CAAA;QAHU,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAa;IAGzC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;QACpC,OAAO,MAAM,wBAAa,CAAC,MAAM,EAAuC;aACtE,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,aAAa,CAAC;aACrB,IAAI,CAAC,UAAU,CAAC;aAChB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CACrB,OAAO,CAAC,EAAE,CAAC,OAAO;aAChB,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAC1F,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACrB,OAAO,EAAE,CAAA;aACT;YACD,MAAM,IAAI,GAAG,2BAAgB,CAAC,MAAM,EAAE,CAAC,MAAM,CAC5C,OAAO,CAAC,EAAE,CAAC,OAAO;iBAChB,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAC9E,CAAA;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,mBAAU,CAAC,MAAM,EAAE;gBAC1C,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;aACrB;YACD,OAAO,EAAE,CAAC,KAAK,CAAC,2BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC;aACD,SAAS,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;CACD;AAlCD,kDAkCC"}
1
+ {"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqF;AACrF,4CAAiE;AACjE,oDAA6D;AAE7D,MAAa,mBAAoB,SAAQ,wBAAwC;IAEhF,YACkB,SAAiB,EACjB,kBAAuC;QAExD,KAAK,EAAE,CAAA;QAHU,cAAS,GAAT,SAAS,CAAQ;QACjB,uBAAkB,GAAlB,kBAAkB,CAAqB;IAGzD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;;QACpC,OAAO,MAAM,wBAAa,CAAC,MAAM,EAAuC;aACtE,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,aAAa,CAAC;aACrB,IAAI,CAAC,UAAU,CAAC;aAChB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CACrB,OAAO,CAAC,EAAE,CAAC,OAAO;aAChB,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;aACxF,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CACvC,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,EAAE;;YACX,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,mCAAI,EAAE,CAAA;YAClE,IAAI,KAAK,IAAI,UAAU,KAAK,mBAAU,CAAC,MAAM,EAAE;gBAC9C,MAAM,IAAI,oCAAuB,EAAE,CAAA;aACnC;YACD,MAAM,WAAW,GAAG,wBAAa,CAAC,MAAM,EAAE;iBACxC,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9E,IAAI,KAAK,EAAE;gBACV,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;aAC9D;YACD,QAAQ,UAAU,EAAE;gBACnB,KAAK,mBAAU,CAAC,MAAM;oBACrB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC5D,KAAK,mBAAU,CAAC,MAAM;oBACrB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;aAC9C;YACD,OAAO,EAAE,CAAA;QACV,CAAC,CAAC;aACD,KAAK,CAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,mCAAI,SAAS,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,mCAAI,SAAS,CAAC;aAC9F,SAAS,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;CACD;AA1CD,kDA0CC"}
@@ -1,6 +1,6 @@
1
1
  import { ApiKeyManager } from './apiKey';
2
2
  import { PersonRow } from '../queries';
3
- import { IDPHandlerRegistry, IDPResponse } from './idp';
3
+ import { IDPHandlerRegistry } from './idp';
4
4
  import { Response } from '../utils/Response';
5
5
  import { InitSignInIdpErrorCode, SignInIdpErrorCode } from '../../schema';
6
6
  import { DatabaseContext } from '../utils';
@@ -8,8 +8,8 @@ declare class IDPSignInManager {
8
8
  private readonly apiKeyManager;
9
9
  private readonly idpRegistry;
10
10
  constructor(apiKeyManager: ApiKeyManager, idpRegistry: IDPHandlerRegistry);
11
- signInIDP(dbContext: DatabaseContext, idpSlug: string, redirectUrl: string, idpResponse: IDPResponse, sessionData: any, expiration?: number): Promise<IDPSignInManager.SignInIDPResponse>;
12
- initSignInIDP(dbContext: DatabaseContext, idpSlug: string, redirectUrl: string): Promise<IDPSignInManager.InitSignInIDPResponse>;
11
+ signInIDP(dbContext: DatabaseContext, idpSlug: string, responseData: unknown, expiration?: number): Promise<IDPSignInManager.SignInIDPResponse>;
12
+ initSignInIDP(dbContext: DatabaseContext, idpSlug: string, data: unknown): Promise<IDPSignInManager.InitSignInIDPResponse>;
13
13
  private resolvePerson;
14
14
  private signUp;
15
15
  private saveIdpIdentifier;
@@ -1 +1 @@
1
- {"version":3,"file":"IDPSignInManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAA8D,SAAS,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAY,kBAAkB,EAAE,WAAW,EAAwC,MAAM,OAAO,CAAA;AACvG,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAM1C,cAAM,gBAAgB;IAEpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,kBAAkB;IAG3C,SAAS,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;IAmCxC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;YAWxH,aAAa;YAwBb,MAAM;YAiBN,iBAAiB;CAG/B;AAED,kBAAU,gBAAgB,CAAC;IAC1B,MAAM,WAAW,mBAAmB;QACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAA;KACzB;IAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAA;IAEzF,UAAU,eAAe;QACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACtB;IAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;;CAC7E;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"IDPSignInManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAA8D,SAAS,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAY,kBAAkB,EAAwC,MAAM,OAAO,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAM1C,cAAM,gBAAgB;IAEpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,kBAAkB;IAG3C,SAAS,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;IAiCxC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;YAkBlH,aAAa;YAwBb,MAAM;YAiBN,iBAAiB;CAG/B;AAED,kBAAU,gBAAgB,CAAC;IAC1B,MAAM,WAAW,mBAAmB;QACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAA;KACzB;IAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAA;IAEzF,UAAU,eAAe;QACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACtB;IAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;;CAC7E;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
@@ -13,7 +13,7 @@ class IDPSignInManager {
13
13
  this.apiKeyManager = apiKeyManager;
14
14
  this.idpRegistry = idpRegistry;
15
15
  }
16
- async signInIDP(dbContext, idpSlug, redirectUrl, idpResponse, sessionData, expiration) {
16
+ async signInIDP(dbContext, idpSlug, responseData, expiration) {
17
17
  return dbContext.transaction(async (db) => {
18
18
  const provider = await db.queryHandler.fetch(new queries_1.IdentityProviderBySlugQuery(idpSlug));
19
19
  if (!provider || provider.disabledAt) {
@@ -23,7 +23,7 @@ class IDPSignInManager {
23
23
  const validatedConfig = providerService.validateConfiguration(provider.configuration);
24
24
  let claim;
25
25
  try {
26
- claim = await providerService.processResponse(validatedConfig, redirectUrl, idpResponse, sessionData);
26
+ claim = await providerService.processResponse(validatedConfig, responseData);
27
27
  }
28
28
  catch (e) {
29
29
  if (e instanceof idp_1.IDPResponseError) {
@@ -42,15 +42,23 @@ class IDPSignInManager {
42
42
  return new Response_1.ResponseOk({ person: personRow, token: sessionToken });
43
43
  });
44
44
  }
45
- async initSignInIDP(dbContext, idpSlug, redirectUrl) {
45
+ async initSignInIDP(dbContext, idpSlug, data) {
46
46
  const provider = await dbContext.queryHandler.fetch(new queries_1.IdentityProviderBySlugQuery(idpSlug));
47
47
  if (!provider || provider.disabledAt) {
48
48
  return new Response_1.ResponseError(schema_1.InitSignInIdpErrorCode.ProviderNotFound, `Identity provider ${idpSlug} not found`);
49
49
  }
50
50
  const providerService = this.idpRegistry.getHandler(provider.type);
51
51
  const validatedConfig = providerService.validateConfiguration(provider.configuration);
52
- const initResponse = await providerService.initAuth(validatedConfig, redirectUrl);
53
- return new Response_1.ResponseOk(initResponse);
52
+ try {
53
+ const initResponse = await providerService.initAuth(validatedConfig, data);
54
+ return new Response_1.ResponseOk(initResponse);
55
+ }
56
+ catch (e) {
57
+ if (e instanceof idp_1.IDPValidationError) {
58
+ return new Response_1.ResponseError(schema_1.InitSignInIdpErrorCode.IdpValidationFailed, e.message);
59
+ }
60
+ throw e;
61
+ }
54
62
  }
55
63
  async resolvePerson(db, claim, provider) {
56
64
  const personByIdPQuery = new queries_1.PersonByIdPQuery(provider.id, claim.externalIdentifier);
@@ -1 +1 @@
1
- {"version":3,"file":"IDPSignInManager.js","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IDPSignInManager.js","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":";;;AACA,wCAAkG;AAClG,+BAA0F;AAC1F,gDAAuE;AACvE,yCAAyE;AAEzE,0CAAuH;AACvH,oDAA6C;AAC7C,kCAAoC;AAGpC,MAAM,gBAAgB;IACrB,YACkB,aAA4B,EAC5B,WAA+B;QAD/B,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAoB;IAC9C,CAAC;IAEJ,KAAK,CAAC,SAAS,CACd,SAA0B,EAC1B,OAAe,EACf,YAAqB,EACrB,UAAmB;QAEnB,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,qCAA2B,CAAC,OAAO,CAAC,CAAC,CAAA;YACtF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;aACrC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAClE,MAAM,eAAe,GAAG,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YACrF,IAAI,KAAe,CAAA;YACnB,IAAI;gBACH,KAAK,GAAG,MAAM,eAAe,CAAC,eAAe,CAC5C,eAAe,EACf,YAAY,CACZ,CAAA;aACD;YAAC,OAAO,CAAC,EAAE;gBACX,IAAI,CAAC,YAAY,sBAAgB,EAAE;oBAClC,OAAO,IAAI,wBAAa,CAAC,2BAAkB,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;iBAC1E;gBACD,IAAI,CAAC,YAAY,wBAAkB,EAAE;oBACpC,OAAO,IAAI,wBAAa,CAAC,2BAAkB,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;iBAC3E;gBACD,MAAM,CAAC,CAAA;aACP;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;YAC/D,IAAI,CAAC,SAAS,EAAE;gBACf,OAAO,IAAI,wBAAa,CAAC,2BAAkB,CAAC,cAAc,EAAE,UAAU,KAAK,CAAC,KAAK,YAAY,CAAC,CAAA;aAC9F;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAAE,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;YACxG,OAAO,IAAI,qBAAU,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAA0B,EAAE,OAAe,EAAE,IAAa;QAC7E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,qCAA2B,CAAC,OAAO,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;YACrC,OAAO,IAAI,wBAAa,CAAC,+BAAsB,CAAC,gBAAgB,EAAE,qBAAqB,OAAO,YAAY,CAAC,CAAA;SAC3G;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,eAAe,GAAG,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QACrF,IAAI;YACH,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;YAC1E,OAAO,IAAI,qBAAU,CAAC,YAAY,CAAC,CAAA;SACnC;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,YAAY,wBAAkB,EAAE;gBACpC,OAAO,IAAI,wBAAa,CAAC,+BAAsB,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;aAC/E;YACD,MAAM,CAAC,CAAA;SACP;IACF,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAmB,EAAE,KAAe,EAAE,QAA6B;QAC9F,MAAM,gBAAgB,GAAG,IAAI,0BAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACpF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACjE,IAAI,WAAW,EAAE;YAChB,OAAO,WAAW,CAAA;SAClB;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACxB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,qBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACxG,IAAI,aAAa,EAAE;gBAClB,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;gBAChE,OAAO,aAAa,CAAA;aACpB;SACD;QAED,IAAI,QAAQ,CAAC,UAAU,EAAE;YACxB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;YAC7D,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;YACjE,OAAO,cAAc,CAAA;SACrB;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,EAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAY,EAAE,QAA6B;;QACrH,MAAM,KAAK,GAAG,CAAC,0BAAU,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,gCAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;QAChF,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,8BAAmB,CAAC;YACrE,UAAU;YACV,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YAC7C,QAAQ,EAAE,iBAAU;YACpB,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,kBAAkB;YACxD,OAAO,EAAE,QAAQ,CAAC,SAAS;SAC3B,CAAC,CAAC,CAAA;QAEH,OAAO;YACN,GAAG,SAAS;YACZ,KAAK;SACL,CAAA;IACF,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,EAAmB,EAAE,QAA6B,EAAE,KAAe,EAAE,MAAiB;QACrH,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,wDAA6C,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACjI,CAAC;CACD;AAkBQ,4CAAgB"}
@@ -1,5 +1,5 @@
1
1
  import { MembershipUpdateInput, RemoveProjectMemberResponse, UpdateProjectMemberResponse } from '../commands';
2
- import { AddProjectMemberErrorCode, MemberType } from '../../schema';
2
+ import { AddProjectMemberErrorCode, ProjectMembersInput } from '../../schema';
3
3
  import { AccessVerifier } from '../authorization';
4
4
  import { Acl } from '@contember/schema';
5
5
  import { Response } from '../utils/Response';
@@ -32,7 +32,7 @@ export declare class ProjectMemberManager {
32
32
  id: string;
33
33
  }, verifier: AccessVerifier | undefined): Promise<readonly Acl.Membership[]>;
34
34
  private getImplicitProjectMemberships;
35
- getProjectMembers(dbContext: DatabaseContext, projectId: string, accessVerifier: AccessVerifier, memberType?: MemberType): Promise<GetProjectMembersResponse>;
35
+ getProjectMembers(dbContext: DatabaseContext, projectId: string, accessVerifier: AccessVerifier, input: ProjectMembersInput): Promise<GetProjectMembersResponse>;
36
36
  private filterMemberships;
37
37
  private filterProjectMembershipVariableValues;
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectMemberManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,qBAAqB,EAErB,2BAA2B,EAE3B,2BAA2B,EAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,cAAc,EAAiC,MAAM,kBAAkB,CAAA;AAGhF,OAAO,EAAE,GAAG,EAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,qBAAa,oBAAoB;IAC1B,gBAAgB,CACrB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,GACpC,OAAO,CAAC,wBAAwB,CAAC;IAmB9B,mBAAmB,CACxB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,qBAAqB,EAAE,GAC3C,OAAO,CAAC,2BAA2B,CAAC;IAMjC,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAM5H,wBAAwB,CAC7B,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EACnD,QAAQ,EAAE,cAAc,GAAG,SAAS,GAClC,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAO/B,8BAA8B,CACnC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GACjD,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAQ/B,4BAA4B,CACjC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EACxB,QAAQ,EAAE,cAAc,GAAG,SAAS,GAClC,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAUrC,OAAO,CAAC,6BAA6B;IAQ/B,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,yBAAyB,CAAC;YAiBrJ,iBAAiB;YAwBjB,qCAAqC;CAyBnD;AAED,oBAAY,wBAAwB,GAAG,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAA;AAEhF,oBAAY,yBAAyB,GAAG;IACvC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,CAAA;CACtC,EAAE,CAAA"}
1
+ {"version":3,"file":"ProjectMemberManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,qBAAqB,EAErB,2BAA2B,EAE3B,2BAA2B,EAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,yBAAyB,EAAc,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACzF,OAAO,EAAE,cAAc,EAAiC,MAAM,kBAAkB,CAAA;AAGhF,OAAO,EAAE,GAAG,EAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,qBAAa,oBAAoB;IAC1B,gBAAgB,CACrB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,GACpC,OAAO,CAAC,wBAAwB,CAAC;IAmB9B,mBAAmB,CACxB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,qBAAqB,EAAE,GAC3C,OAAO,CAAC,2BAA2B,CAAC;IAMjC,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAM5H,wBAAwB,CAC7B,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EACnD,QAAQ,EAAE,cAAc,GAAG,SAAS,GAClC,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAO/B,8BAA8B,CACnC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GACjD,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAQ/B,4BAA4B,CACjC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EACxB,QAAQ,EAAE,cAAc,GAAG,SAAS,GAClC,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAUrC,OAAO,CAAC,6BAA6B;IAQ/B,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;YAiBxJ,iBAAiB;YAwBjB,qCAAqC;CAyBnD;AAED,oBAAY,wBAAwB,GAAG,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAA;AAEhF,oBAAY,yBAAyB,GAAG;IACvC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,CAAA;CACtC,EAAE,CAAA"}
@@ -59,9 +59,9 @@ class ProjectMemberManager {
59
59
  }
60
60
  return [];
61
61
  }
62
- async getProjectMembers(dbContext, projectId, accessVerifier, memberType) {
62
+ async getProjectMembers(dbContext, projectId, accessVerifier, input) {
63
63
  return dbContext.transaction(async (db) => {
64
- const members = await db.queryHandler.fetch(new queries_1.ProjectMembersQuery(projectId, memberType));
64
+ const members = await db.queryHandler.fetch(new queries_1.ProjectMembersQuery(projectId, input));
65
65
  const memberships = await db.queryHandler.fetch(new queries_1.ProjectMembershipByIdentityQuery({ id: projectId }, members.map(it => it.id)));
66
66
  const filteredMemberships = await this.filterMemberships(memberships, accessVerifier);
67
67
  const byIdentity = (0, array_1.indexListBy)(filteredMemberships, 'identityId');
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectMemberManager.js","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectMemberManager.js","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { IdentityProviderHandler } from './IdentityProviderHandler';
2
2
  export declare class IDPHandlerRegistry {
3
3
  private providers;
4
- registerHandler(type: string, provider: IdentityProviderHandler<any, any>): void;
5
- getHandler(type: string): IdentityProviderHandler<any, any>;
4
+ registerHandler(type: string, provider: IdentityProviderHandler<any>): void;
5
+ getHandler(type: string): IdentityProviderHandler<{}>;
6
6
  }
7
7
  //# sourceMappingURL=IDPHandlerRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IDPHandlerRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,SAAS,CAAwD;IAElE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAIhF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC;CAOlE"}
1
+ {"version":3,"file":"IDPHandlerRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,SAAS,CAAmD;IAE7D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI;IAI3E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAAC,EAAE,CAAC;CAO5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"IDPHandlerRegistry.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":";;;AACA,mFAA+E;AAE/E,MAAa,kBAAkB;IAA/B;QACS,cAAS,GAAsD,EAAE,CAAA;IAa1E,CAAC;IAXO,eAAe,CAAC,IAAY,EAAE,QAA2C;QAC/E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAChC,CAAC;IAEM,UAAU,CAAC,IAAY;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,QAAQ,EAAE;YACd,MAAM,IAAI,6DAA6B,CAAC,6BAA6B,IAAI,YAAY,CAAC,CAAA;SACtF;QACD,OAAO,QAAQ,CAAA;IAChB,CAAC;CACD;AAdD,gDAcC"}
1
+ {"version":3,"file":"IDPHandlerRegistry.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":";;;AACA,mFAA+E;AAE/E,MAAa,kBAAkB;IAA/B;QACS,cAAS,GAAiD,EAAE,CAAA;IAarE,CAAC;IAXO,eAAe,CAAC,IAAY,EAAE,QAAsC;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAChC,CAAC;IAEM,UAAU,CAAC,IAAY;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,QAAQ,EAAE;YACd,MAAM,IAAI,6DAA6B,CAAC,6BAA6B,IAAI,YAAY,CAAC,CAAA;SACtF;QACD,OAAO,QAAQ,CAAA;IAChB,CAAC;CACD;AAdD,gDAcC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IDPManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAKzD,OAAO,EAAoB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBAAa,UAAU;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAIpC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwBpF,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc1E,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAaxE,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAmB1G;AAED,oBAAY,mBAAmB,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AACjE,oBAAY,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;AACpE,oBAAY,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;AAClE,oBAAY,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA"}
1
+ {"version":3,"file":"IDPManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAKzD,OAAO,EAAoB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBAAa,UAAU;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAIpC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwBpF,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc1E,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAaxE,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAuB1G;AAED,oBAAY,mBAAmB,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AACjE,oBAAY,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;AACpE,oBAAY,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;AAClE,oBAAY,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA"}
@@ -63,13 +63,18 @@ class IDPManager {
63
63
  }
64
64
  async updateIDP(db, slug, data) {
65
65
  return await db.transaction(async (db) => {
66
+ var _a, _b;
66
67
  const existing = await db.queryHandler.fetch(new queries_1.IdentityProviderBySlugQuery(slug));
67
68
  if (!existing) {
68
69
  return new Response_1.ResponseError(schema_1.UpdateIdpErrorCode.NotFound, `IDP ${slug} not found`);
69
70
  }
70
71
  try {
71
- const providerService = this.idpRegistry.getHandler(existing.type);
72
- providerService.validateConfiguration(data.configuration);
72
+ const type = (_a = data.type) !== null && _a !== void 0 ? _a : existing.type;
73
+ const configuration = (_b = data.configuration) !== null && _b !== void 0 ? _b : existing.configuration;
74
+ const providerService = this.idpRegistry.getHandler(type);
75
+ if (data.configuration !== undefined || type !== existing.type) {
76
+ providerService.validateConfiguration(configuration);
77
+ }
73
78
  }
74
79
  catch (e) {
75
80
  if (e instanceof InvalidIDPConfigurationError_1.InvalidIDPConfigurationError) {
@@ -1 +1 @@
1
- {"version":3,"file":"IDPManager.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IDPManager.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,15 @@
1
- export interface InitIDPAuthResult<SessionData extends {}> {
1
+ export interface InitIDPAuthResult {
2
2
  authUrl: string;
3
- sessionData: SessionData;
4
- }
5
- export interface IDPResponse {
6
- url: string;
3
+ sessionData: unknown;
7
4
  }
8
5
  export interface IDPClaim {
9
6
  externalIdentifier: string;
10
7
  email?: string;
11
8
  name?: string;
12
9
  }
13
- export interface IdentityProviderHandler<SessionData extends {}, Configuration extends {}> {
14
- initAuth(configuration: Configuration, redirectUrl: string): Promise<InitIDPAuthResult<SessionData>>;
15
- processResponse(configuration: Configuration, redirectUrl: string, idpResponse: IDPResponse, sessionData: SessionData): Promise<IDPClaim>;
16
- validateConfiguration(config: unknown): Configuration;
10
+ export interface IdentityProviderHandler<Configuration extends {}> {
11
+ initAuth: (configuration: Configuration, data: unknown) => Promise<InitIDPAuthResult>;
12
+ processResponse: (configuration: Configuration, responseData: unknown) => Promise<IDPClaim>;
13
+ validateConfiguration: (config: unknown) => Configuration;
17
14
  }
18
15
  //# sourceMappingURL=IdentityProviderHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityProviderHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IdentityProviderHandler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB,CAAC,WAAW,SAAS,EAAE;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,WAAW,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,QAAQ;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,uBAAuB,CAAC,WAAW,SAAS,EAAE,EAAE,aAAa,SAAS,EAAE;IACxF,QAAQ,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAA;IAEpG,eAAe,CACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,GACtB,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAAA;CACrD"}
1
+ {"version":3,"file":"IdentityProviderHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IdentityProviderHandler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,uBAAuB,CAAC,aAAa,SAAS,EAAE;IAEhE,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAErF,eAAe,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,KAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE5F,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,aAAa,CAAA;CACzD"}
@@ -4,5 +4,7 @@ export * from './IDPHandlerRegistry';
4
4
  export * from './IDPResponseError';
5
5
  export * from './IDPValidationError';
6
6
  export * from './InvalidIDPConfigurationError';
7
- export * from './OIDCProvider';
7
+ export * from './providers/AppleProvider';
8
+ export * from './providers/OIDCProvider';
9
+ export * from './providers/FacebookProvider';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA"}
@@ -20,5 +20,7 @@ __exportStar(require("./IDPHandlerRegistry"), exports);
20
20
  __exportStar(require("./IDPResponseError"), exports);
21
21
  __exportStar(require("./IDPValidationError"), exports);
22
22
  __exportStar(require("./InvalidIDPConfigurationError"), exports);
23
- __exportStar(require("./OIDCProvider"), exports);
23
+ __exportStar(require("./providers/AppleProvider"), exports);
24
+ __exportStar(require("./providers/OIDCProvider"), exports);
25
+ __exportStar(require("./providers/FacebookProvider"), exports);
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kEAA+C;AAC/C,uDAAoC;AACpC,qDAAkC;AAClC,uDAAoC;AACpC,iEAA8C;AAC9C,iDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kEAA+C;AAC/C,uDAAoC;AACpC,qDAAkC;AAClC,uDAAoC;AACpC,iEAA8C;AAC9C,4DAAyC;AACzC,2DAAwC;AACxC,+DAA4C"}
@@ -0,0 +1,29 @@
1
+ import * as Typesafe from '@contember/typesafe';
2
+ import { IdentityProviderHandler, IDPClaim, InitIDPAuthResult } from '../IdentityProviderHandler';
3
+ export declare const AppleConfiguration: Typesafe.Type<{
4
+ readonly keyId: string;
5
+ readonly teamId: string;
6
+ readonly clientId: string;
7
+ readonly privateKey: string;
8
+ } & {
9
+ readonly responseType?: string | undefined;
10
+ readonly claims?: string | undefined;
11
+ }>;
12
+ declare type AppleConfiguration = ReturnType<typeof AppleConfiguration>;
13
+ export declare class AppleProvider implements IdentityProviderHandler<AppleConfiguration> {
14
+ private issuer;
15
+ validateConfiguration: (value: unknown) => {
16
+ readonly keyId: string;
17
+ readonly teamId: string;
18
+ readonly clientId: string;
19
+ readonly privateKey: string;
20
+ } & {
21
+ readonly responseType?: string | undefined;
22
+ readonly claims?: string | undefined;
23
+ };
24
+ initAuth(configuration: AppleConfiguration, data: unknown): Promise<InitIDPAuthResult>;
25
+ processResponse(configuration: AppleConfiguration, data: unknown): Promise<IDPClaim>;
26
+ private createOIDCClient;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=AppleProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppleProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/model/service/idp/providers/AppleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AASjG,eAAO,MAAM,kBAAkB;;;;;;;;EAQ9B,CAAA;AAED,aAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAI/D,qBAAa,aAAc,YAAW,uBAAuB,CAAC,kBAAkB,CAAC;IAChF,OAAO,CAAC,MAAM,CAA4B;IAE1C,qBAAqB;;;;;;;;MAAkE;IAE1E,QAAQ,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAStF,eAAe,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;YAOnF,gBAAgB;CAmB9B"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AppleProvider = exports.AppleConfiguration = void 0;
27
+ const Typesafe = __importStar(require("@contember/typesafe"));
28
+ const OIDCTypes_1 = require("./OIDCTypes");
29
+ const helpers_1 = require("./helpers");
30
+ const IDPValidationError_1 = require("../IDPValidationError");
31
+ const InvalidIDPConfigurationError_1 = require("../InvalidIDPConfigurationError");
32
+ const OIDCHelpers_1 = require("./OIDCHelpers");
33
+ const openid_client_1 = require("openid-client");
34
+ const jose_1 = require("jose");
35
+ exports.AppleConfiguration = Typesafe.intersection(Typesafe.object({
36
+ keyId: Typesafe.string,
37
+ teamId: Typesafe.string,
38
+ clientId: Typesafe.string,
39
+ privateKey: Typesafe.string,
40
+ }), OIDCTypes_1.OIDCConfigurationOptions);
41
+ const APPLE_OIDC_CONFIGURATION_ENDPOINT = 'https://appleid.apple.com/.well-known/openid-configuration';
42
+ class AppleProvider {
43
+ constructor() {
44
+ this.validateConfiguration = (0, helpers_1.catchTypesafe)(exports.AppleConfiguration, InvalidIDPConfigurationError_1.InvalidIDPConfigurationError);
45
+ }
46
+ async initAuth(configuration, data) {
47
+ const initData = (0, helpers_1.catchTypesafe)(OIDCTypes_1.OIDCInitData, IDPValidationError_1.IDPValidationError)(data);
48
+ const client = await this.createOIDCClient(configuration);
49
+ return await (0, OIDCHelpers_1.initOIDCAuth)(client, {
50
+ claims: configuration.claims,
51
+ ...initData,
52
+ });
53
+ }
54
+ async processResponse(configuration, data) {
55
+ const responseData = (0, helpers_1.catchTypesafe)(OIDCTypes_1.OIDCResponseData, IDPValidationError_1.IDPValidationError)(data);
56
+ const client = await this.createOIDCClient(configuration);
57
+ return await (0, OIDCHelpers_1.handleOIDCResponse)(client, responseData);
58
+ }
59
+ async createOIDCClient(configuration) {
60
+ var _a;
61
+ (_a = this.issuer) !== null && _a !== void 0 ? _a : (this.issuer = await openid_client_1.Issuer.discover(APPLE_OIDC_CONFIGURATION_ENDPOINT));
62
+ const privateKey = await (0, jose_1.importPKCS8)(configuration.privateKey, 'ES256');
63
+ const jwt = await new jose_1.SignJWT({})
64
+ .setProtectedHeader({ alg: 'ES256', typ: 'JWT', kid: configuration.keyId })
65
+ .setIssuedAt()
66
+ .setIssuer(configuration.teamId)
67
+ .setAudience('https://appleid.apple.com')
68
+ .setSubject(configuration.clientId)
69
+ .setExpirationTime('10m')
70
+ .sign(privateKey);
71
+ return new this.issuer.Client({
72
+ client_id: configuration.clientId,
73
+ client_secret: jwt,
74
+ response_types: [configuration.responseType || 'code'],
75
+ });
76
+ }
77
+ }
78
+ exports.AppleProvider = AppleProvider;
79
+ //# sourceMappingURL=AppleProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppleProvider.js","sourceRoot":"","sources":["../../../../../../src/model/service/idp/providers/AppleProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAA+C;AAE/C,2CAAuG;AACvG,uCAAyC;AACzC,8DAA0D;AAC1D,kFAA8E;AAC9E,+CAAgE;AAChE,iDAA8C;AAC9C,+BAA2C;AAE9B,QAAA,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CACtD,QAAQ,CAAC,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC,MAAM;IACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM;IACzB,UAAU,EAAE,QAAQ,CAAC,MAAM;CAC3B,CAAC,EACF,oCAAwB,CACxB,CAAA;AAID,MAAM,iCAAiC,GAAG,4DAA4D,CAAA;AAEtG,MAAa,aAAa;IAA1B;QAGC,0BAAqB,GAAG,IAAA,uBAAa,EAAC,0BAAkB,EAAE,2DAA4B,CAAC,CAAA;IAqCxF,CAAC;IAnCO,KAAK,CAAC,QAAQ,CAAC,aAAiC,EAAE,IAAa;QACrE,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,wBAAY,EAAE,uCAAkB,CAAC,CAAC,IAAI,CAAC,CAAA;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QACzD,OAAO,MAAM,IAAA,0BAAY,EAAC,MAAM,EAAE;YACjC,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,GAAG,QAAQ;SACX,CAAC,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,aAAiC,EAAE,IAAa;QAC5E,MAAM,YAAY,GAAG,IAAA,uBAAa,EAAC,4BAAgB,EAAE,uCAAkB,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QACzD,OAAO,MAAM,IAAA,gCAAkB,EAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;IAGO,KAAK,CAAC,gBAAgB,CAAC,aAAiC;;QAC/D,MAAA,IAAI,CAAC,MAAM,oCAAX,IAAI,CAAC,MAAM,GAAK,MAAM,sBAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAA;QACxE,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAW,EAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEvE,MAAM,GAAG,GAAG,MAAM,IAAI,cAAO,CAAC,EAAE,CAAC;aAC/B,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;aAC1E,WAAW,EAAE;aACb,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;aAC/B,WAAW,CAAC,2BAA2B,CAAC;aACxC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;aAClC,iBAAiB,CAAC,KAAK,CAAC;aACxB,IAAI,CAAC,UAAU,CAAC,CAAA;QAElB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,SAAS,EAAE,aAAa,CAAC,QAAQ;YACjC,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,CAAC,aAAa,CAAC,YAAY,IAAI,MAAM,CAAC;SACtD,CAAC,CAAA;IACH,CAAC;CACD;AAxCD,sCAwCC"}
@@ -0,0 +1,27 @@
1
+ import * as Typesafe from '@contember/typesafe';
2
+ import { IdentityProviderHandler, IDPClaim, InitIDPAuthResult } from '../IdentityProviderHandler';
3
+ declare const FacebookConfiguration: Typesafe.Type<{
4
+ readonly url: string;
5
+ readonly clientId: string;
6
+ readonly clientSecret: string;
7
+ } & {
8
+ readonly responseType?: string | undefined;
9
+ readonly claims?: string | undefined;
10
+ }>;
11
+ declare type FacebookConfiguration = ReturnType<typeof FacebookConfiguration>;
12
+ export declare class FacebookProvider implements IdentityProviderHandler<FacebookConfiguration> {
13
+ private facebookIssuer;
14
+ validateConfiguration: (value: unknown) => {
15
+ readonly url: string;
16
+ readonly clientId: string;
17
+ readonly clientSecret: string;
18
+ } & {
19
+ readonly responseType?: string | undefined;
20
+ readonly claims?: string | undefined;
21
+ };
22
+ initAuth(configuration: FacebookConfiguration, data: unknown): Promise<InitIDPAuthResult>;
23
+ processResponse(configuration: FacebookConfiguration, data: unknown): Promise<IDPClaim>;
24
+ private createOIDCClient;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=FacebookProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FacebookProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/model/service/idp/providers/FacebookProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAWjG,QAAA,MAAM,qBAAqB;;;;;;;EAAwB,CAAA;AACnD,aAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAmBrE,qBAAa,gBAAiB,YAAW,uBAAuB,CAAC,qBAAqB,CAAC;IAGtF,OAAO,CAAC,cAAc,CAsCpB;IAEF,qBAAqB;;;;;;;MAAqE;IAE7E,QAAQ,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IASzF,eAAe,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;YA8BtF,gBAAgB;CAO9B"}