@luochuanyuewu/payload-auth 1.8.0

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 (424) hide show
  1. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +24 -0
  2. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -0
  3. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +317 -0
  4. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +2 -0
  5. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -0
  6. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +23 -0
  7. package/dist/better-auth/adapter/generate-schema/index.d.ts +5 -0
  8. package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -0
  9. package/dist/better-auth/adapter/generate-schema/index.js +19 -0
  10. package/dist/better-auth/adapter/generate-schema/utils.d.ts +3 -0
  11. package/dist/better-auth/adapter/generate-schema/utils.d.ts.map +1 -0
  12. package/dist/better-auth/adapter/generate-schema/utils.js +20 -0
  13. package/dist/better-auth/adapter/index.d.ts +16 -0
  14. package/dist/better-auth/adapter/index.d.ts.map +1 -0
  15. package/dist/better-auth/adapter/index.js +717 -0
  16. package/dist/better-auth/adapter/transform/index.d.ts +31 -0
  17. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -0
  18. package/dist/better-auth/adapter/transform/index.js +729 -0
  19. package/dist/better-auth/adapter/types.d.ts +11 -0
  20. package/dist/better-auth/adapter/types.d.ts.map +1 -0
  21. package/dist/better-auth/adapter/types.js +3 -0
  22. package/dist/better-auth/generated-types.d.ts +329 -0
  23. package/dist/better-auth/generated-types.d.ts.map +1 -0
  24. package/dist/better-auth/generated-types.js +4 -0
  25. package/dist/better-auth/index.d.ts +4 -0
  26. package/dist/better-auth/index.d.ts.map +1 -0
  27. package/dist/better-auth/index.js +5 -0
  28. package/dist/better-auth/plugin/constants.d.ts +231 -0
  29. package/dist/better-auth/plugin/constants.d.ts.map +1 -0
  30. package/dist/better-auth/plugin/constants.js +259 -0
  31. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +13 -0
  32. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts.map +1 -0
  33. package/dist/better-auth/plugin/helpers/check-plugin-exists.js +14 -0
  34. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +30 -0
  35. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -0
  36. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +46 -0
  37. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
  38. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
  39. package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
  40. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
  41. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
  42. package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
  43. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +19 -0
  44. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -0
  45. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +75 -0
  46. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +6 -0
  47. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts.map +1 -0
  48. package/dist/better-auth/plugin/helpers/get-collection-slug.js +20 -0
  49. package/dist/better-auth/plugin/helpers/get-collection.d.ts +28 -0
  50. package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -0
  51. package/dist/better-auth/plugin/helpers/get-collection.js +49 -0
  52. package/dist/better-auth/plugin/helpers/get-ip.d.ts +3 -0
  53. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -0
  54. package/dist/better-auth/plugin/helpers/get-ip.js +31 -0
  55. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +3 -0
  56. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts.map +1 -0
  57. package/dist/better-auth/plugin/helpers/get-signed-cookie.js +63 -0
  58. package/dist/better-auth/plugin/helpers/index.d.ts +2 -0
  59. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -0
  60. package/dist/better-auth/plugin/helpers/index.js +3 -0
  61. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +60 -0
  62. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
  63. package/dist/better-auth/plugin/helpers/prepare-session-data.js +49 -0
  64. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +21 -0
  65. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -0
  66. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +63 -0
  67. package/dist/better-auth/plugin/index.d.ts +8 -0
  68. package/dist/better-auth/plugin/index.d.ts.map +1 -0
  69. package/dist/better-auth/plugin/index.js +103 -0
  70. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +13 -0
  71. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +1 -0
  72. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +87 -0
  73. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +4 -0
  74. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
  75. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +51 -0
  76. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +4 -0
  77. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
  78. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +150 -0
  79. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
  80. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
  81. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
  82. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
  83. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
  84. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
  85. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
  86. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
  87. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +117 -0
  88. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +4 -0
  89. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
  90. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +174 -0
  91. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +4 -0
  92. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -0
  93. package/dist/better-auth/plugin/lib/build-collections/device-code.js +49 -0
  94. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +11 -0
  95. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
  96. package/dist/better-auth/plugin/lib/build-collections/index.js +79 -0
  97. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +4 -0
  98. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
  99. package/dist/better-auth/plugin/lib/build-collections/invitations.js +93 -0
  100. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +4 -0
  101. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
  102. package/dist/better-auth/plugin/lib/build-collections/jwks.js +58 -0
  103. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +4 -0
  104. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
  105. package/dist/better-auth/plugin/lib/build-collections/members.js +72 -0
  106. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +4 -0
  107. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
  108. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +105 -0
  109. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +4 -0
  110. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
  111. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +117 -0
  112. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +4 -0
  113. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
  114. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +87 -0
  115. package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts +4 -0
  116. package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts.map +1 -0
  117. package/dist/better-auth/plugin/lib/build-collections/organization-roles.js +65 -0
  118. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +4 -0
  119. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
  120. package/dist/better-auth/plugin/lib/build-collections/organizations.js +106 -0
  121. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +4 -0
  122. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
  123. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +115 -0
  124. package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts +4 -0
  125. package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts.map +1 -0
  126. package/dist/better-auth/plugin/lib/build-collections/rate-limit.js +54 -0
  127. package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts +4 -0
  128. package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts.map +1 -0
  129. package/dist/better-auth/plugin/lib/build-collections/scim-provider.js +65 -0
  130. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +4 -0
  131. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
  132. package/dist/better-auth/plugin/lib/build-collections/sessions.js +140 -0
  133. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +4 -0
  134. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
  135. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +80 -0
  136. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +4 -0
  137. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -0
  138. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +110 -0
  139. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +4 -0
  140. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts.map +1 -0
  141. package/dist/better-auth/plugin/lib/build-collections/team-members.js +63 -0
  142. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +4 -0
  143. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
  144. package/dist/better-auth/plugin/lib/build-collections/teams.js +74 -0
  145. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +4 -0
  146. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
  147. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +66 -0
  148. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
  149. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
  150. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
  151. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +12 -0
  152. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
  153. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +68 -0
  154. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +5 -0
  155. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -0
  156. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +6 -0
  157. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
  158. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
  159. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +114 -0
  160. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +4 -0
  161. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
  162. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +64 -0
  163. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
  164. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
  165. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +90 -0
  166. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +7 -0
  167. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
  168. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +80 -0
  169. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +3 -0
  170. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
  171. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +79 -0
  172. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +3 -0
  173. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
  174. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +54 -0
  175. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +7 -0
  176. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
  177. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +15 -0
  178. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +7 -0
  179. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -0
  180. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +8 -0
  181. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
  182. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
  183. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +17 -0
  184. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +3 -0
  185. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
  186. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +90 -0
  187. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +4 -0
  188. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
  189. package/dist/better-auth/plugin/lib/build-collections/users/index.js +333 -0
  190. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +16 -0
  191. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -0
  192. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +24 -0
  193. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +11 -0
  194. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts.map +1 -0
  195. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +112 -0
  196. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
  197. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
  198. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
  199. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +12 -0
  200. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -0
  201. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +26 -0
  202. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +18 -0
  203. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
  204. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +84 -0
  205. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +21 -0
  206. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -0
  207. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +95 -0
  208. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +4 -0
  209. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
  210. package/dist/better-auth/plugin/lib/build-collections/verifications.js +82 -0
  211. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +6 -0
  212. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -0
  213. package/dist/better-auth/plugin/lib/get-payload-auth.js +9 -0
  214. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +8 -0
  215. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -0
  216. package/dist/better-auth/plugin/lib/init-better-auth.js +16 -0
  217. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
  218. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
  219. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +12 -0
  220. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +3 -0
  221. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
  222. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +10 -0
  223. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +3 -0
  224. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts.map +1 -0
  225. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +8 -0
  226. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +12 -0
  227. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
  228. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +146 -0
  229. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +3 -0
  230. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
  231. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +18 -0
  232. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +3 -0
  233. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
  234. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +34 -0
  235. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +3 -0
  236. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
  237. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +11 -0
  238. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +3 -0
  239. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
  240. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +10 -0
  241. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +3 -0
  242. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -0
  243. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +11 -0
  244. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts +8 -0
  245. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts.map +1 -0
  246. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +20 -0
  247. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts +8 -0
  248. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts.map +1 -0
  249. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.js +20 -0
  250. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts +14 -0
  251. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts.map +1 -0
  252. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.js +38 -0
  253. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +8 -0
  254. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
  255. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
  256. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +26 -0
  257. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
  258. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
  259. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +10 -0
  260. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -0
  261. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +42 -0
  262. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +10 -0
  263. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +1 -0
  264. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +62 -0
  265. package/dist/better-auth/plugin/lib/set-login-methods.d.ts +5 -0
  266. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -0
  267. package/dist/better-auth/plugin/lib/set-login-methods.js +14 -0
  268. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +10 -0
  269. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
  270. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +116 -0
  271. package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +36 -0
  272. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
  273. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
  274. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +213 -0
  275. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +136 -0
  276. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts +4 -0
  277. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -0
  278. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +197 -0
  279. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts +49 -0
  280. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts.map +1 -0
  281. package/dist/better-auth/plugin/payload/components/login-form/context.js +94 -0
  282. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts +4 -0
  283. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts.map +1 -0
  284. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.js +167 -0
  285. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts +5 -0
  286. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts.map +1 -0
  287. package/dist/better-auth/plugin/payload/components/login-form/index.js +6 -0
  288. package/dist/better-auth/plugin/payload/components/login-form/index.scss +58 -0
  289. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +5 -0
  290. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
  291. package/dist/better-auth/plugin/payload/components/logout-button.js +24 -0
  292. package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +9 -0
  293. package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts.map +1 -0
  294. package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +122 -0
  295. package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +3 -0
  296. package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts.map +1 -0
  297. package/dist/better-auth/plugin/payload/components/passkeys/client.js +61 -0
  298. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +5 -0
  299. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -0
  300. package/dist/better-auth/plugin/payload/components/passkeys/index.js +42 -0
  301. package/dist/better-auth/plugin/payload/components/passkeys/index.scss +98 -0
  302. package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +9 -0
  303. package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts.map +1 -0
  304. package/dist/better-auth/plugin/payload/components/passkeys/list.js +57 -0
  305. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +23 -0
  306. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -0
  307. package/dist/better-auth/plugin/payload/components/passkeys/types.js +3 -0
  308. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
  309. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
  310. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +13 -0
  311. package/dist/better-auth/plugin/payload/components/token-field.d.ts +4 -0
  312. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
  313. package/dist/better-auth/plugin/payload/components/token-field.js +29 -0
  314. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts +9 -0
  315. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts.map +1 -0
  316. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js +347 -0
  317. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.scss +116 -0
  318. package/dist/better-auth/plugin/payload/exports/client.d.ts +7 -0
  319. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -0
  320. package/dist/better-auth/plugin/payload/exports/client.js +8 -0
  321. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +9 -0
  322. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -0
  323. package/dist/better-auth/plugin/payload/exports/rsc.js +10 -0
  324. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
  325. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
  326. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +9 -0
  327. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
  328. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
  329. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +22 -0
  330. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +23 -0
  331. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -0
  332. package/dist/better-auth/plugin/payload/views/admin-login/client.js +24 -0
  333. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +11 -0
  334. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -0
  335. package/dist/better-auth/plugin/payload/views/admin-login/index.js +143 -0
  336. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +23 -0
  337. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -0
  338. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +185 -0
  339. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +10 -0
  340. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -0
  341. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +92 -0
  342. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +7 -0
  343. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
  344. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +104 -0
  345. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
  346. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
  347. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +61 -0
  348. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +11 -0
  349. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
  350. package/dist/better-auth/plugin/payload/views/reset-password/client.js +111 -0
  351. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +9 -0
  352. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
  353. package/dist/better-auth/plugin/payload/views/reset-password/index.js +78 -0
  354. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts +9 -0
  355. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts.map +1 -0
  356. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js +79 -0
  357. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +10 -0
  358. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -0
  359. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +49 -0
  360. package/dist/better-auth/plugin/types.d.ts +448 -0
  361. package/dist/better-auth/plugin/types.d.ts.map +1 -0
  362. package/dist/better-auth/plugin/types.js +3 -0
  363. package/dist/better-auth/plugin/utils/set.d.ts +40 -0
  364. package/dist/better-auth/plugin/utils/set.d.ts.map +1 -0
  365. package/dist/better-auth/plugin/utils/set.js +84 -0
  366. package/dist/better-auth/scripts/generate-types.d.ts +2 -0
  367. package/dist/better-auth/scripts/generate-types.d.ts.map +1 -0
  368. package/dist/better-auth/scripts/generate-types.js +225 -0
  369. package/dist/better-auth/types.d.ts +3 -0
  370. package/dist/better-auth/types.d.ts.map +1 -0
  371. package/dist/better-auth/types.js +4 -0
  372. package/dist/index.d.ts +2 -0
  373. package/dist/index.d.ts.map +1 -0
  374. package/dist/index.js +4 -0
  375. package/dist/shared/components/icons.d.ts +8 -0
  376. package/dist/shared/components/icons.d.ts.map +1 -0
  377. package/dist/shared/components/icons.js +436 -0
  378. package/dist/shared/components/logo.d.ts +3 -0
  379. package/dist/shared/components/logo.d.ts.map +1 -0
  380. package/dist/shared/components/logo.js +24 -0
  381. package/dist/shared/form/components/submit.d.ts +8 -0
  382. package/dist/shared/form/components/submit.d.ts.map +1 -0
  383. package/dist/shared/form/components/submit.js +23 -0
  384. package/dist/shared/form/fields/text-field.d.ts +9 -0
  385. package/dist/shared/form/fields/text-field.d.ts.map +1 -0
  386. package/dist/shared/form/fields/text-field.js +44 -0
  387. package/dist/shared/form/index.d.ts +28 -0
  388. package/dist/shared/form/index.d.ts.map +1 -0
  389. package/dist/shared/form/index.js +17 -0
  390. package/dist/shared/form/ui/header/index.d.ts +9 -0
  391. package/dist/shared/form/ui/header/index.d.ts.map +1 -0
  392. package/dist/shared/form/ui/header/index.js +23 -0
  393. package/dist/shared/form/ui/header/index.scss +8 -0
  394. package/dist/shared/form/ui/index.d.ts +34 -0
  395. package/dist/shared/form/ui/index.d.ts.map +1 -0
  396. package/dist/shared/form/ui/index.js +70 -0
  397. package/dist/shared/form/ui/index.scss +27 -0
  398. package/dist/shared/form/validation.d.ts +65 -0
  399. package/dist/shared/form/validation.d.ts.map +1 -0
  400. package/dist/shared/form/validation.js +108 -0
  401. package/dist/shared/index.d.ts +3 -0
  402. package/dist/shared/index.d.ts.map +1 -0
  403. package/dist/shared/index.js +4 -0
  404. package/dist/shared/payload/fields/field-copy-button/index.css +47 -0
  405. package/dist/shared/payload/fields/field-copy-button/index.d.ts +4 -0
  406. package/dist/shared/payload/fields/field-copy-button/index.d.ts.map +1 -0
  407. package/dist/shared/payload/fields/field-copy-button/index.js +38 -0
  408. package/dist/shared/payload/fields/generate-uuid-button/index.css +14 -0
  409. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +4 -0
  410. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts.map +1 -0
  411. package/dist/shared/payload/fields/generate-uuid-button/index.js +26 -0
  412. package/dist/shared/payload/fields/index.d.ts +3 -0
  413. package/dist/shared/payload/fields/index.d.ts.map +1 -0
  414. package/dist/shared/payload/fields/index.js +4 -0
  415. package/dist/shared/utils/regex.d.ts +3 -0
  416. package/dist/shared/utils/regex.d.ts.map +1 -0
  417. package/dist/shared/utils/regex.js +4 -0
  418. package/dist/shared/utils/try-catch.d.ts +12 -0
  419. package/dist/shared/utils/try-catch.d.ts.map +1 -0
  420. package/dist/shared/utils/try-catch.js +17 -0
  421. package/dist/shared/utils/value-or-default.d.ts +10 -0
  422. package/dist/shared/utils/value-or-default.d.ts.map +1 -0
  423. package/dist/shared/utils/value-or-default.js +12 -0
  424. package/package.json +124 -0
@@ -0,0 +1,106 @@
1
+ import { baModelFieldKeys, baModelKey } from "../../constants";
2
+ import { getAdminAccess } from "../../helpers/get-admin-access";
3
+ import { assertAllSchemaFields, getSchemaCollectionSlug, getSchemaFieldName } from "./utils/collection-schema";
4
+ import { getCollectionFields } from "./utils/transform-schema-fields-to-payload";
5
+ export function buildOrganizationsCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
6
+ const organizationSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.organization);
7
+ const organizationSchema = resolvedSchemas[baModelKey.organization];
8
+ const organizationRoleSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.organizationRole);
9
+ const memberSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.member);
10
+ const invitationSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.invitation);
11
+ const teamSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.team);
12
+ const existingOrganizationCollection = incomingCollections.find((collection)=>collection.slug === organizationSlug);
13
+ const fieldOverrides = {
14
+ name: ()=>({
15
+ admin: {
16
+ description: "The name of the organization."
17
+ }
18
+ }),
19
+ slug: ()=>({
20
+ unique: true,
21
+ index: true,
22
+ admin: {
23
+ description: "The slug of the organization."
24
+ }
25
+ }),
26
+ logo: ()=>({
27
+ admin: {
28
+ description: "The logo of the organization."
29
+ }
30
+ }),
31
+ metadata: ()=>({
32
+ admin: {
33
+ description: "Additional metadata for the organization."
34
+ }
35
+ })
36
+ };
37
+ const collectionFields = getCollectionFields({
38
+ schema: organizationSchema,
39
+ additionalProperties: fieldOverrides
40
+ });
41
+ const joinFields = [
42
+ {
43
+ label: "Members",
44
+ name: baModelKey.member,
45
+ type: "join",
46
+ hasMany: true,
47
+ collection: memberSlug,
48
+ on: getSchemaFieldName(resolvedSchemas, baModelKey.member, baModelFieldKeys.member.organizationId),
49
+ maxDepth: 1,
50
+ saveToJWT: false
51
+ },
52
+ {
53
+ label: "Invitations",
54
+ name: baModelKey.invitation,
55
+ type: "join",
56
+ hasMany: true,
57
+ collection: invitationSlug,
58
+ on: getSchemaFieldName(resolvedSchemas, baModelKey.invitation, baModelFieldKeys.invitation.organizationId),
59
+ maxDepth: 1,
60
+ saveToJWT: false
61
+ },
62
+ {
63
+ label: "Organization Roles",
64
+ name: baModelKey.organizationRole,
65
+ type: "join",
66
+ hasMany: true,
67
+ collection: organizationRoleSlug,
68
+ on: getSchemaFieldName(resolvedSchemas, baModelKey.organizationRole, baModelFieldKeys.organizationRole.organizationId),
69
+ maxDepth: 1,
70
+ saveToJWT: false
71
+ }
72
+ ];
73
+ let organizationCollection = {
74
+ ...existingOrganizationCollection,
75
+ slug: organizationSlug,
76
+ admin: {
77
+ hidden: pluginOptions.hidePluginCollections ?? false,
78
+ useAsTitle: getSchemaFieldName(resolvedSchemas, baModelKey.organization, "name"),
79
+ description: "Organizations are groups of users that share access to certain resources.",
80
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
81
+ ...existingOrganizationCollection?.admin
82
+ },
83
+ access: {
84
+ ...getAdminAccess(pluginOptions),
85
+ ...existingOrganizationCollection?.access ?? {}
86
+ },
87
+ custom: {
88
+ ...existingOrganizationCollection?.custom ?? {},
89
+ betterAuthModelKey: baModelKey.organization
90
+ },
91
+ fields: [
92
+ ...existingOrganizationCollection?.fields ?? [],
93
+ ...collectionFields ?? [],
94
+ ...joinFields
95
+ ]
96
+ };
97
+ if (typeof pluginOptions.pluginCollectionOverrides?.organizations === "function") {
98
+ organizationCollection = pluginOptions.pluginCollectionOverrides.organizations({
99
+ collection: organizationCollection
100
+ });
101
+ }
102
+ assertAllSchemaFields(organizationCollection, organizationSchema);
103
+ return organizationCollection;
104
+ }
105
+
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL29yZ2FuaXphdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnLCBKb2luRmllbGQgfSBmcm9tIFwicGF5bG9hZFwiO1xuaW1wb3J0IHR5cGUgeyBPcmdhbml6YXRpb24gfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9nZW5lcmF0ZWQtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb2xsZWN0aW9uUHJvcHMsXG4gIEZpZWxkT3ZlcnJpZGVzXG59IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlc1wiO1xuaW1wb3J0IHsgYmFNb2RlbEZpZWxkS2V5cywgYmFNb2RlbEtleSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldEFkbWluQWNjZXNzIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvZ2V0LWFkbWluLWFjY2Vzc1wiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0QWxsU2NoZW1hRmllbGRzLFxuICBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyxcbiAgZ2V0U2NoZW1hRmllbGROYW1lXG59IGZyb20gXCIuL3V0aWxzL2NvbGxlY3Rpb24tc2NoZW1hXCI7XG5pbXBvcnQgeyBnZXRDb2xsZWN0aW9uRmllbGRzIH0gZnJvbSBcIi4vdXRpbHMvdHJhbnNmb3JtLXNjaGVtYS1maWVsZHMtdG8tcGF5bG9hZFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRPcmdhbml6YXRpb25zQ29sbGVjdGlvbih7XG4gIGluY29taW5nQ29sbGVjdGlvbnMsXG4gIHBsdWdpbk9wdGlvbnMsXG4gIHJlc29sdmVkU2NoZW1hc1xufTogQnVpbGRDb2xsZWN0aW9uUHJvcHMpOiBDb2xsZWN0aW9uQ29uZmlnIHtcbiAgY29uc3Qgb3JnYW5pemF0aW9uU2x1ZyA9IGdldFNjaGVtYUNvbGxlY3Rpb25TbHVnKFxuICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICBiYU1vZGVsS2V5Lm9yZ2FuaXphdGlvblxuICApO1xuICBjb25zdCBvcmdhbml6YXRpb25TY2hlbWEgPSByZXNvbHZlZFNjaGVtYXNbYmFNb2RlbEtleS5vcmdhbml6YXRpb25dO1xuXG4gIGNvbnN0IG9yZ2FuaXphdGlvblJvbGVTbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgIGJhTW9kZWxLZXkub3JnYW5pemF0aW9uUm9sZVxuICApO1xuICBjb25zdCBtZW1iZXJTbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgIGJhTW9kZWxLZXkubWVtYmVyXG4gICk7XG4gIGNvbnN0IGludml0YXRpb25TbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgIGJhTW9kZWxLZXkuaW52aXRhdGlvblxuICApO1xuICBjb25zdCB0ZWFtU2x1ZyA9IGdldFNjaGVtYUNvbGxlY3Rpb25TbHVnKHJlc29sdmVkU2NoZW1hcywgYmFNb2RlbEtleS50ZWFtKTtcblxuXG4gIGNvbnN0IGV4aXN0aW5nT3JnYW5pemF0aW9uQ29sbGVjdGlvbiA9IGluY29taW5nQ29sbGVjdGlvbnMuZmluZChcbiAgICAoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBvcmdhbml6YXRpb25TbHVnXG4gICkgYXMgQ29sbGVjdGlvbkNvbmZpZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdCBmaWVsZE92ZXJyaWRlczogRmllbGRPdmVycmlkZXM8a2V5b2YgT3JnYW5pemF0aW9uPiA9IHtcbiAgICBuYW1lOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbi5cIiB9XG4gICAgfSksXG4gICAgc2x1ZzogKCkgPT4gKHtcbiAgICAgIHVuaXF1ZTogdHJ1ZSxcbiAgICAgIGluZGV4OiB0cnVlLFxuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVGhlIHNsdWcgb2YgdGhlIG9yZ2FuaXphdGlvbi5cIiB9XG4gICAgfSksXG4gICAgbG9nbzogKCkgPT4gKHtcbiAgICAgIGFkbWluOiB7IGRlc2NyaXB0aW9uOiBcIlRoZSBsb2dvIG9mIHRoZSBvcmdhbml6YXRpb24uXCIgfVxuICAgIH0pLFxuICAgIG1ldGFkYXRhOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiQWRkaXRpb25hbCBtZXRhZGF0YSBmb3IgdGhlIG9yZ2FuaXphdGlvbi5cIiB9XG4gICAgfSlcbiAgfTtcblxuICBjb25zdCBjb2xsZWN0aW9uRmllbGRzID0gZ2V0Q29sbGVjdGlvbkZpZWxkcyh7XG4gICAgc2NoZW1hOiBvcmdhbml6YXRpb25TY2hlbWEsXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZpZWxkT3ZlcnJpZGVzXG4gIH0pO1xuXG4gIGNvbnN0IGpvaW5GaWVsZHM6IEpvaW5GaWVsZFtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiBcIk1lbWJlcnNcIixcbiAgICAgIG5hbWU6IGJhTW9kZWxLZXkubWVtYmVyLFxuICAgICAgdHlwZTogXCJqb2luXCIsXG4gICAgICBoYXNNYW55OiB0cnVlLFxuICAgICAgY29sbGVjdGlvbjogbWVtYmVyU2x1ZyxcbiAgICAgIG9uOiBnZXRTY2hlbWFGaWVsZE5hbWUoXG4gICAgICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICAgICAgYmFNb2RlbEtleS5tZW1iZXIsXG4gICAgICAgIGJhTW9kZWxGaWVsZEtleXMubWVtYmVyLm9yZ2FuaXphdGlvbklkXG4gICAgICApLFxuICAgICAgbWF4RGVwdGg6IDEsXG4gICAgICBzYXZlVG9KV1Q6IGZhbHNlXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogXCJJbnZpdGF0aW9uc1wiLFxuICAgICAgbmFtZTogYmFNb2RlbEtleS5pbnZpdGF0aW9uLFxuICAgICAgdHlwZTogXCJqb2luXCIsXG4gICAgICBoYXNNYW55OiB0cnVlLFxuICAgICAgY29sbGVjdGlvbjogaW52aXRhdGlvblNsdWcsXG4gICAgICBvbjogZ2V0U2NoZW1hRmllbGROYW1lKFxuICAgICAgICByZXNvbHZlZFNjaGVtYXMsXG4gICAgICAgIGJhTW9kZWxLZXkuaW52aXRhdGlvbixcbiAgICAgICAgYmFNb2RlbEZpZWxkS2V5cy5pbnZpdGF0aW9uLm9yZ2FuaXphdGlvbklkXG4gICAgICApLFxuICAgICAgbWF4RGVwdGg6IDEsXG4gICAgICBzYXZlVG9KV1Q6IGZhbHNlXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogXCJPcmdhbml6YXRpb24gUm9sZXNcIixcbiAgICAgIG5hbWU6IGJhTW9kZWxLZXkub3JnYW5pemF0aW9uUm9sZSxcbiAgICAgIHR5cGU6IFwiam9pblwiLFxuICAgICAgaGFzTWFueTogdHJ1ZSxcbiAgICAgIGNvbGxlY3Rpb246IG9yZ2FuaXphdGlvblJvbGVTbHVnLFxuICAgICAgb246IGdldFNjaGVtYUZpZWxkTmFtZShcbiAgICAgICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgICAgICBiYU1vZGVsS2V5Lm9yZ2FuaXphdGlvblJvbGUsXG4gICAgICAgIGJhTW9kZWxGaWVsZEtleXMub3JnYW5pemF0aW9uUm9sZS5vcmdhbml6YXRpb25JZFxuICAgICAgKSxcbiAgICAgIG1heERlcHRoOiAxLFxuICAgICAgc2F2ZVRvSldUOiBmYWxzZVxuICAgIH1cbiAgXTtcblxuICBsZXQgb3JnYW5pemF0aW9uQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyA9IHtcbiAgICAuLi5leGlzdGluZ09yZ2FuaXphdGlvbkNvbGxlY3Rpb24sXG4gICAgc2x1Zzogb3JnYW5pemF0aW9uU2x1ZyxcbiAgICBhZG1pbjoge1xuICAgICAgaGlkZGVuOiBwbHVnaW5PcHRpb25zLmhpZGVQbHVnaW5Db2xsZWN0aW9ucyA/PyBmYWxzZSxcbiAgICAgIHVzZUFzVGl0bGU6IGdldFNjaGVtYUZpZWxkTmFtZShcbiAgICAgICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgICAgICBiYU1vZGVsS2V5Lm9yZ2FuaXphdGlvbixcbiAgICAgICAgXCJuYW1lXCJcbiAgICAgICksXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJPcmdhbml6YXRpb25zIGFyZSBncm91cHMgb2YgdXNlcnMgdGhhdCBzaGFyZSBhY2Nlc3MgdG8gY2VydGFpbiByZXNvdXJjZXMuXCIsXG4gICAgICBncm91cDogcGx1Z2luT3B0aW9ucz8uY29sbGVjdGlvbkFkbWluR3JvdXAgPz8gXCJBdXRoXCIsXG4gICAgICAuLi5leGlzdGluZ09yZ2FuaXphdGlvbkNvbGxlY3Rpb24/LmFkbWluXG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIC4uLmdldEFkbWluQWNjZXNzKHBsdWdpbk9wdGlvbnMpLFxuICAgICAgLi4uKGV4aXN0aW5nT3JnYW5pemF0aW9uQ29sbGVjdGlvbj8uYWNjZXNzID8/IHt9KVxuICAgIH0sXG4gICAgY3VzdG9tOiB7XG4gICAgICAuLi4oZXhpc3RpbmdPcmdhbml6YXRpb25Db2xsZWN0aW9uPy5jdXN0b20gPz8ge30pLFxuICAgICAgYmV0dGVyQXV0aE1vZGVsS2V5OiBiYU1vZGVsS2V5Lm9yZ2FuaXphdGlvblxuICAgIH0sXG4gICAgZmllbGRzOiBbXG4gICAgICAuLi4oZXhpc3RpbmdPcmdhbml6YXRpb25Db2xsZWN0aW9uPy5maWVsZHMgPz8gW10pLFxuICAgICAgLi4uKGNvbGxlY3Rpb25GaWVsZHMgPz8gW10pLFxuICAgICAgLi4uam9pbkZpZWxkc1xuICAgIF1cbiAgfTtcblxuICBpZiAoXG4gICAgdHlwZW9mIHBsdWdpbk9wdGlvbnMucGx1Z2luQ29sbGVjdGlvbk92ZXJyaWRlcz8ub3JnYW5pemF0aW9ucyA9PT0gXCJmdW5jdGlvblwiXG4gICkge1xuICAgIG9yZ2FuaXphdGlvbkNvbGxlY3Rpb24gPVxuICAgICAgcGx1Z2luT3B0aW9ucy5wbHVnaW5Db2xsZWN0aW9uT3ZlcnJpZGVzLm9yZ2FuaXphdGlvbnMoe1xuICAgICAgICBjb2xsZWN0aW9uOiBvcmdhbml6YXRpb25Db2xsZWN0aW9uXG4gICAgICB9KTtcbiAgfVxuXG4gIGFzc2VydEFsbFNjaGVtYUZpZWxkcyhvcmdhbml6YXRpb25Db2xsZWN0aW9uLCBvcmdhbml6YXRpb25TY2hlbWEpO1xuXG4gIHJldHVybiBvcmdhbml6YXRpb25Db2xsZWN0aW9uO1xufVxuIl0sIm5hbWVzIjpbImJhTW9kZWxGaWVsZEtleXMiLCJiYU1vZGVsS2V5IiwiZ2V0QWRtaW5BY2Nlc3MiLCJhc3NlcnRBbGxTY2hlbWFGaWVsZHMiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsImdldFNjaGVtYUZpZWxkTmFtZSIsImdldENvbGxlY3Rpb25GaWVsZHMiLCJidWlsZE9yZ2FuaXphdGlvbnNDb2xsZWN0aW9uIiwiaW5jb21pbmdDb2xsZWN0aW9ucyIsInBsdWdpbk9wdGlvbnMiLCJyZXNvbHZlZFNjaGVtYXMiLCJvcmdhbml6YXRpb25TbHVnIiwib3JnYW5pemF0aW9uIiwib3JnYW5pemF0aW9uU2NoZW1hIiwib3JnYW5pemF0aW9uUm9sZVNsdWciLCJvcmdhbml6YXRpb25Sb2xlIiwibWVtYmVyU2x1ZyIsIm1lbWJlciIsImludml0YXRpb25TbHVnIiwiaW52aXRhdGlvbiIsInRlYW1TbHVnIiwidGVhbSIsImV4aXN0aW5nT3JnYW5pemF0aW9uQ29sbGVjdGlvbiIsImZpbmQiLCJjb2xsZWN0aW9uIiwic2x1ZyIsImZpZWxkT3ZlcnJpZGVzIiwibmFtZSIsImFkbWluIiwiZGVzY3JpcHRpb24iLCJ1bmlxdWUiLCJpbmRleCIsImxvZ28iLCJtZXRhZGF0YSIsImNvbGxlY3Rpb25GaWVsZHMiLCJzY2hlbWEiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsImpvaW5GaWVsZHMiLCJsYWJlbCIsInR5cGUiLCJoYXNNYW55Iiwib24iLCJvcmdhbml6YXRpb25JZCIsIm1heERlcHRoIiwic2F2ZVRvSldUIiwib3JnYW5pemF0aW9uQ29sbGVjdGlvbiIsImhpZGRlbiIsImhpZGVQbHVnaW5Db2xsZWN0aW9ucyIsInVzZUFzVGl0bGUiLCJncm91cCIsImNvbGxlY3Rpb25BZG1pbkdyb3VwIiwiYWNjZXNzIiwiY3VzdG9tIiwiYmV0dGVyQXV0aE1vZGVsS2V5IiwiZmllbGRzIiwicGx1Z2luQ29sbGVjdGlvbk92ZXJyaWRlcyIsIm9yZ2FuaXphdGlvbnMiXSwibWFwcGluZ3MiOiJBQU1BLFNBQVNBLGdCQUFnQixFQUFFQyxVQUFVLFFBQVEsa0JBQWtCO0FBQy9ELFNBQVNDLGNBQWMsUUFBUSxpQ0FBaUM7QUFDaEUsU0FDRUMscUJBQXFCLEVBQ3JCQyx1QkFBdUIsRUFDdkJDLGtCQUFrQixRQUNiLDRCQUE0QjtBQUNuQyxTQUFTQyxtQkFBbUIsUUFBUSw2Q0FBNkM7QUFFakYsT0FBTyxTQUFTQyw2QkFBNkIsRUFDM0NDLG1CQUFtQixFQUNuQkMsYUFBYSxFQUNiQyxlQUFlLEVBQ007SUFDckIsTUFBTUMsbUJBQW1CUCx3QkFDdkJNLGlCQUNBVCxXQUFXVyxZQUFZO0lBRXpCLE1BQU1DLHFCQUFxQkgsZUFBZSxDQUFDVCxXQUFXVyxZQUFZLENBQUM7SUFFbkUsTUFBTUUsdUJBQXVCVix3QkFDM0JNLGlCQUNBVCxXQUFXYyxnQkFBZ0I7SUFFN0IsTUFBTUMsYUFBYVosd0JBQ2pCTSxpQkFDQVQsV0FBV2dCLE1BQU07SUFFbkIsTUFBTUMsaUJBQWlCZCx3QkFDckJNLGlCQUNBVCxXQUFXa0IsVUFBVTtJQUV2QixNQUFNQyxXQUFXaEIsd0JBQXdCTSxpQkFBaUJULFdBQVdvQixJQUFJO0lBR3pFLE1BQU1DLGlDQUFpQ2Qsb0JBQW9CZSxJQUFJLENBQzdELENBQUNDLGFBQWVBLFdBQVdDLElBQUksS0FBS2Q7SUFHdEMsTUFBTWUsaUJBQXFEO1FBQ3pEQyxNQUFNLElBQU8sQ0FBQTtnQkFDWEMsT0FBTztvQkFBRUMsYUFBYTtnQkFBZ0M7WUFDeEQsQ0FBQTtRQUNBSixNQUFNLElBQU8sQ0FBQTtnQkFDWEssUUFBUTtnQkFDUkMsT0FBTztnQkFDUEgsT0FBTztvQkFBRUMsYUFBYTtnQkFBZ0M7WUFDeEQsQ0FBQTtRQUNBRyxNQUFNLElBQU8sQ0FBQTtnQkFDWEosT0FBTztvQkFBRUMsYUFBYTtnQkFBZ0M7WUFDeEQsQ0FBQTtRQUNBSSxVQUFVLElBQU8sQ0FBQTtnQkFDZkwsT0FBTztvQkFBRUMsYUFBYTtnQkFBNEM7WUFDcEUsQ0FBQTtJQUNGO0lBRUEsTUFBTUssbUJBQW1CNUIsb0JBQW9CO1FBQzNDNkIsUUFBUXRCO1FBQ1J1QixzQkFBc0JWO0lBQ3hCO0lBRUEsTUFBTVcsYUFBMEI7UUFDOUI7WUFDRUMsT0FBTztZQUNQWCxNQUFNMUIsV0FBV2dCLE1BQU07WUFDdkJzQixNQUFNO1lBQ05DLFNBQVM7WUFDVGhCLFlBQVlSO1lBQ1p5QixJQUFJcEMsbUJBQ0ZLLGlCQUNBVCxXQUFXZ0IsTUFBTSxFQUNqQmpCLGlCQUFpQmlCLE1BQU0sQ0FBQ3lCLGNBQWM7WUFFeENDLFVBQVU7WUFDVkMsV0FBVztRQUNiO1FBQ0E7WUFDRU4sT0FBTztZQUNQWCxNQUFNMUIsV0FBV2tCLFVBQVU7WUFDM0JvQixNQUFNO1lBQ05DLFNBQVM7WUFDVGhCLFlBQVlOO1lBQ1p1QixJQUFJcEMsbUJBQ0ZLLGlCQUNBVCxXQUFXa0IsVUFBVSxFQUNyQm5CLGlCQUFpQm1CLFVBQVUsQ0FBQ3VCLGNBQWM7WUFFNUNDLFVBQVU7WUFDVkMsV0FBVztRQUNiO1FBQ0E7WUFDRU4sT0FBTztZQUNQWCxNQUFNMUIsV0FBV2MsZ0JBQWdCO1lBQ2pDd0IsTUFBTTtZQUNOQyxTQUFTO1lBQ1RoQixZQUFZVjtZQUNaMkIsSUFBSXBDLG1CQUNGSyxpQkFDQVQsV0FBV2MsZ0JBQWdCLEVBQzNCZixpQkFBaUJlLGdCQUFnQixDQUFDMkIsY0FBYztZQUVsREMsVUFBVTtZQUNWQyxXQUFXO1FBQ2I7S0FDRDtJQUVELElBQUlDLHlCQUEyQztRQUM3QyxHQUFHdkIsOEJBQThCO1FBQ2pDRyxNQUFNZDtRQUNOaUIsT0FBTztZQUNMa0IsUUFBUXJDLGNBQWNzQyxxQkFBcUIsSUFBSTtZQUMvQ0MsWUFBWTNDLG1CQUNWSyxpQkFDQVQsV0FBV1csWUFBWSxFQUN2QjtZQUVGaUIsYUFDRTtZQUNGb0IsT0FBT3hDLGVBQWV5Qyx3QkFBd0I7WUFDOUMsR0FBRzVCLGdDQUFnQ00sS0FBSztRQUMxQztRQUNBdUIsUUFBUTtZQUNOLEdBQUdqRCxlQUFlTyxjQUFjO1lBQ2hDLEdBQUlhLGdDQUFnQzZCLFVBQVUsQ0FBQyxDQUFDO1FBQ2xEO1FBQ0FDLFFBQVE7WUFDTixHQUFJOUIsZ0NBQWdDOEIsVUFBVSxDQUFDLENBQUM7WUFDaERDLG9CQUFvQnBELFdBQVdXLFlBQVk7UUFDN0M7UUFDQTBDLFFBQVE7ZUFDRmhDLGdDQUFnQ2dDLFVBQVUsRUFBRTtlQUM1Q3BCLG9CQUFvQixFQUFFO2VBQ3ZCRztTQUNKO0lBQ0g7SUFFQSxJQUNFLE9BQU81QixjQUFjOEMseUJBQXlCLEVBQUVDLGtCQUFrQixZQUNsRTtRQUNBWCx5QkFDRXBDLGNBQWM4Qyx5QkFBeUIsQ0FBQ0MsYUFBYSxDQUFDO1lBQ3BEaEMsWUFBWXFCO1FBQ2Q7SUFDSjtJQUVBMUMsc0JBQXNCMEMsd0JBQXdCaEM7SUFFOUMsT0FBT2dDO0FBQ1QifQ==
@@ -0,0 +1,4 @@
1
+ import type { CollectionConfig } from "payload";
2
+ import type { BuildCollectionProps } from "@/better-auth/plugin/types";
3
+ export declare function buildPasskeysCollection({ incomingCollections, pluginOptions, resolvedSchemas }: BuildCollectionProps): CollectionConfig;
4
+ //# sourceMappingURL=passkeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/build-collections/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,4BAA4B,CAAC;AAepC,wBAAgB,uBAAuB,CAAC,EACtC,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,EAAE,oBAAoB,GAAG,gBAAgB,CA+GzC"}
@@ -0,0 +1,115 @@
1
+ import { baModelFieldKeysToFieldNames, baModelKey, defaults } from "../../constants";
2
+ import { getAdminAccess } from "../../helpers/get-admin-access";
3
+ import { assertAllSchemaFields, getSchemaCollectionSlug, getSchemaFieldName } from "./utils/collection-schema";
4
+ import { isAdminOrCurrentUserWithRoles } from "./utils/payload-access";
5
+ import { getCollectionFields } from "./utils/transform-schema-fields-to-payload";
6
+ export function buildPasskeysCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
7
+ const passkeySlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.passkey);
8
+ const passkeySchema = resolvedSchemas[baModelKey.passkey];
9
+ const userIdFieldName = passkeySchema?.fields?.userId?.fieldName ?? baModelFieldKeysToFieldNames.passkey.userId;
10
+ const adminRoles = pluginOptions.users?.adminRoles ?? [
11
+ defaults.adminRole
12
+ ];
13
+ const existingPasskeyCollection = incomingCollections.find((collection)=>collection.slug === passkeySlug);
14
+ const fieldOverrides = {
15
+ name: ()=>({
16
+ admin: {
17
+ readOnly: true,
18
+ description: "The name of the passkey"
19
+ }
20
+ }),
21
+ publicKey: ()=>({
22
+ index: true,
23
+ admin: {
24
+ readOnly: true,
25
+ description: "The public key of the passkey"
26
+ }
27
+ }),
28
+ userId: ()=>({
29
+ index: true,
30
+ admin: {
31
+ readOnly: true,
32
+ description: "The user that the passkey belongs to"
33
+ }
34
+ }),
35
+ credentialID: ()=>({
36
+ name: "credentialId",
37
+ admin: {
38
+ readOnly: true,
39
+ description: "The unique identifier of the registered credential"
40
+ }
41
+ }),
42
+ counter: ()=>({
43
+ required: true,
44
+ admin: {
45
+ readOnly: true,
46
+ description: "The counter of the passkey"
47
+ }
48
+ }),
49
+ deviceType: ()=>({
50
+ required: true,
51
+ admin: {
52
+ readOnly: true,
53
+ description: "The type of device used to register the passkey"
54
+ }
55
+ }),
56
+ backedUp: ()=>({
57
+ required: true,
58
+ admin: {
59
+ readOnly: true,
60
+ description: "Whether the passkey is backed up"
61
+ }
62
+ }),
63
+ transports: ()=>({
64
+ required: true,
65
+ admin: {
66
+ readOnly: true,
67
+ description: "The transports used to register the passkey"
68
+ }
69
+ })
70
+ };
71
+ const collectionFields = getCollectionFields({
72
+ schema: passkeySchema,
73
+ additionalProperties: fieldOverrides
74
+ });
75
+ let passkeyCollection = {
76
+ ...existingPasskeyCollection,
77
+ slug: passkeySlug,
78
+ admin: {
79
+ hidden: pluginOptions.hidePluginCollections ?? false,
80
+ useAsTitle: getSchemaFieldName(resolvedSchemas, baModelKey.passkey, "name"),
81
+ description: "Passkeys are used to authenticate users",
82
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
83
+ ...existingPasskeyCollection?.admin
84
+ },
85
+ access: {
86
+ ...getAdminAccess(pluginOptions),
87
+ read: isAdminOrCurrentUserWithRoles({
88
+ idField: userIdFieldName,
89
+ adminRoles
90
+ }),
91
+ delete: isAdminOrCurrentUserWithRoles({
92
+ idField: userIdFieldName,
93
+ adminRoles
94
+ }),
95
+ ...existingPasskeyCollection?.access ?? {}
96
+ },
97
+ custom: {
98
+ ...existingPasskeyCollection?.custom ?? {},
99
+ betterAuthModelKey: baModelKey.passkey
100
+ },
101
+ fields: [
102
+ ...existingPasskeyCollection?.fields ?? [],
103
+ ...collectionFields ?? []
104
+ ]
105
+ };
106
+ if (typeof pluginOptions.pluginCollectionOverrides?.passkeys === "function") {
107
+ passkeyCollection = pluginOptions.pluginCollectionOverrides.passkeys({
108
+ collection: passkeyCollection
109
+ });
110
+ }
111
+ assertAllSchemaFields(passkeyCollection, passkeySchema);
112
+ return passkeyCollection;
113
+ }
114
+
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3Bhc3NrZXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgdHlwZSB7IFBhc3NrZXkgfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9nZW5lcmF0ZWQtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb2xsZWN0aW9uUHJvcHMsXG4gIEZpZWxkT3ZlcnJpZGVzXG59IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgYmFNb2RlbEZpZWxkS2V5c1RvRmllbGROYW1lcyxcbiAgYmFNb2RlbEtleSxcbiAgZGVmYXVsdHNcbn0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0QWRtaW5BY2Nlc3MgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9nZXQtYWRtaW4tYWNjZXNzXCI7XG5pbXBvcnQge1xuICBhc3NlcnRBbGxTY2hlbWFGaWVsZHMsXG4gIGdldFNjaGVtYUNvbGxlY3Rpb25TbHVnLFxuICBnZXRTY2hlbWFGaWVsZE5hbWVcbn0gZnJvbSBcIi4vdXRpbHMvY29sbGVjdGlvbi1zY2hlbWFcIjtcbmltcG9ydCB7IGlzQWRtaW5PckN1cnJlbnRVc2VyV2l0aFJvbGVzIH0gZnJvbSBcIi4vdXRpbHMvcGF5bG9hZC1hY2Nlc3NcIjtcbmltcG9ydCB7IGdldENvbGxlY3Rpb25GaWVsZHMgfSBmcm9tIFwiLi91dGlscy90cmFuc2Zvcm0tc2NoZW1hLWZpZWxkcy10by1wYXlsb2FkXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFBhc3NrZXlzQ29sbGVjdGlvbih7XG4gIGluY29taW5nQ29sbGVjdGlvbnMsXG4gIHBsdWdpbk9wdGlvbnMsXG4gIHJlc29sdmVkU2NoZW1hc1xufTogQnVpbGRDb2xsZWN0aW9uUHJvcHMpOiBDb2xsZWN0aW9uQ29uZmlnIHtcbiAgY29uc3QgcGFzc2tleVNsdWcgPSBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhcbiAgICByZXNvbHZlZFNjaGVtYXMsXG4gICAgYmFNb2RlbEtleS5wYXNza2V5XG4gICk7XG4gIGNvbnN0IHBhc3NrZXlTY2hlbWEgPSByZXNvbHZlZFNjaGVtYXNbYmFNb2RlbEtleS5wYXNza2V5XTtcbiAgY29uc3QgdXNlcklkRmllbGROYW1lID1cbiAgICBwYXNza2V5U2NoZW1hPy5maWVsZHM/LnVzZXJJZD8uZmllbGROYW1lID8/XG4gICAgYmFNb2RlbEZpZWxkS2V5c1RvRmllbGROYW1lcy5wYXNza2V5LnVzZXJJZDtcbiAgY29uc3QgYWRtaW5Sb2xlcyA9IHBsdWdpbk9wdGlvbnMudXNlcnM/LmFkbWluUm9sZXMgPz8gW2RlZmF1bHRzLmFkbWluUm9sZV07XG5cbiAgY29uc3QgZXhpc3RpbmdQYXNza2V5Q29sbGVjdGlvbiA9IGluY29taW5nQ29sbGVjdGlvbnMuZmluZChcbiAgICAoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBwYXNza2V5U2x1Z1xuICApIGFzIENvbGxlY3Rpb25Db25maWcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3QgZmllbGRPdmVycmlkZXM6IEZpZWxkT3ZlcnJpZGVzPGtleW9mIFBhc3NrZXk+ID0ge1xuICAgIG5hbWU6ICgpID0+ICh7XG4gICAgICBhZG1pbjogeyByZWFkT25seTogdHJ1ZSwgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIHBhc3NrZXlcIiB9XG4gICAgfSksXG4gICAgcHVibGljS2V5OiAoKSA9PiAoe1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBhZG1pbjogeyByZWFkT25seTogdHJ1ZSwgZGVzY3JpcHRpb246IFwiVGhlIHB1YmxpYyBrZXkgb2YgdGhlIHBhc3NrZXlcIiB9XG4gICAgfSksXG4gICAgdXNlcklkOiAoKSA9PiAoe1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHVzZXIgdGhhdCB0aGUgcGFzc2tleSBiZWxvbmdzIHRvXCJcbiAgICAgIH1cbiAgICB9KSxcbiAgICBjcmVkZW50aWFsSUQ6ICgpID0+ICh7XG4gICAgICBuYW1lOiBcImNyZWRlbnRpYWxJZFwiLFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcmVnaXN0ZXJlZCBjcmVkZW50aWFsXCJcbiAgICAgIH1cbiAgICB9KSxcbiAgICBjb3VudGVyOiAoKSA9PiAoe1xuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICBhZG1pbjogeyByZWFkT25seTogdHJ1ZSwgZGVzY3JpcHRpb246IFwiVGhlIGNvdW50ZXIgb2YgdGhlIHBhc3NrZXlcIiB9XG4gICAgfSksXG4gICAgZGV2aWNlVHlwZTogKCkgPT4gKHtcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSB0eXBlIG9mIGRldmljZSB1c2VkIHRvIHJlZ2lzdGVyIHRoZSBwYXNza2V5XCJcbiAgICAgIH1cbiAgICB9KSxcbiAgICBiYWNrZWRVcDogKCkgPT4gKHtcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgYWRtaW46IHsgcmVhZE9ubHk6IHRydWUsIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdGhlIHBhc3NrZXkgaXMgYmFja2VkIHVwXCIgfVxuICAgIH0pLFxuICAgIHRyYW5zcG9ydHM6ICgpID0+ICh7XG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIGFkbWluOiB7XG4gICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgdHJhbnNwb3J0cyB1c2VkIHRvIHJlZ2lzdGVyIHRoZSBwYXNza2V5XCJcbiAgICAgIH1cbiAgICB9KVxuICB9O1xuXG4gIGNvbnN0IGNvbGxlY3Rpb25GaWVsZHMgPSBnZXRDb2xsZWN0aW9uRmllbGRzKHtcbiAgICBzY2hlbWE6IHBhc3NrZXlTY2hlbWEsXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZpZWxkT3ZlcnJpZGVzXG4gIH0pO1xuXG4gIGxldCBwYXNza2V5Q29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyA9IHtcbiAgICAuLi5leGlzdGluZ1Bhc3NrZXlDb2xsZWN0aW9uLFxuICAgIHNsdWc6IHBhc3NrZXlTbHVnLFxuICAgIGFkbWluOiB7XG4gICAgICBoaWRkZW46IHBsdWdpbk9wdGlvbnMuaGlkZVBsdWdpbkNvbGxlY3Rpb25zID8/IGZhbHNlLFxuICAgICAgdXNlQXNUaXRsZTogZ2V0U2NoZW1hRmllbGROYW1lKFxuICAgICAgICByZXNvbHZlZFNjaGVtYXMsXG4gICAgICAgIGJhTW9kZWxLZXkucGFzc2tleSxcbiAgICAgICAgXCJuYW1lXCJcbiAgICAgICksXG4gICAgICBkZXNjcmlwdGlvbjogXCJQYXNza2V5cyBhcmUgdXNlZCB0byBhdXRoZW50aWNhdGUgdXNlcnNcIixcbiAgICAgIGdyb3VwOiBwbHVnaW5PcHRpb25zPy5jb2xsZWN0aW9uQWRtaW5Hcm91cCA/PyBcIkF1dGhcIixcbiAgICAgIC4uLmV4aXN0aW5nUGFzc2tleUNvbGxlY3Rpb24/LmFkbWluXG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIC4uLmdldEFkbWluQWNjZXNzKHBsdWdpbk9wdGlvbnMpLFxuICAgICAgcmVhZDogaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMoe1xuICAgICAgICBpZEZpZWxkOiB1c2VySWRGaWVsZE5hbWUsXG4gICAgICAgIGFkbWluUm9sZXNcbiAgICAgIH0pLFxuICAgICAgZGVsZXRlOiBpc0FkbWluT3JDdXJyZW50VXNlcldpdGhSb2xlcyh7XG4gICAgICAgIGlkRmllbGQ6IHVzZXJJZEZpZWxkTmFtZSxcbiAgICAgICAgYWRtaW5Sb2xlc1xuICAgICAgfSksXG4gICAgICAuLi4oZXhpc3RpbmdQYXNza2V5Q29sbGVjdGlvbj8uYWNjZXNzID8/IHt9KVxuICAgIH0sXG4gICAgY3VzdG9tOiB7XG4gICAgICAuLi4oZXhpc3RpbmdQYXNza2V5Q29sbGVjdGlvbj8uY3VzdG9tID8/IHt9KSxcbiAgICAgIGJldHRlckF1dGhNb2RlbEtleTogYmFNb2RlbEtleS5wYXNza2V5XG4gICAgfSxcbiAgICBmaWVsZHM6IFtcbiAgICAgIC4uLihleGlzdGluZ1Bhc3NrZXlDb2xsZWN0aW9uPy5maWVsZHMgPz8gW10pLFxuICAgICAgLi4uKGNvbGxlY3Rpb25GaWVsZHMgPz8gW10pXG4gICAgXVxuICB9O1xuXG4gIGlmICh0eXBlb2YgcGx1Z2luT3B0aW9ucy5wbHVnaW5Db2xsZWN0aW9uT3ZlcnJpZGVzPy5wYXNza2V5cyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcGFzc2tleUNvbGxlY3Rpb24gPSBwbHVnaW5PcHRpb25zLnBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXMucGFzc2tleXMoe1xuICAgICAgY29sbGVjdGlvbjogcGFzc2tleUNvbGxlY3Rpb25cbiAgICB9KTtcbiAgfVxuXG4gIGFzc2VydEFsbFNjaGVtYUZpZWxkcyhwYXNza2V5Q29sbGVjdGlvbiwgcGFzc2tleVNjaGVtYSk7XG5cbiAgcmV0dXJuIHBhc3NrZXlDb2xsZWN0aW9uO1xufVxuIl0sIm5hbWVzIjpbImJhTW9kZWxGaWVsZEtleXNUb0ZpZWxkTmFtZXMiLCJiYU1vZGVsS2V5IiwiZGVmYXVsdHMiLCJnZXRBZG1pbkFjY2VzcyIsImFzc2VydEFsbFNjaGVtYUZpZWxkcyIsImdldFNjaGVtYUNvbGxlY3Rpb25TbHVnIiwiZ2V0U2NoZW1hRmllbGROYW1lIiwiaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMiLCJnZXRDb2xsZWN0aW9uRmllbGRzIiwiYnVpbGRQYXNza2V5c0NvbGxlY3Rpb24iLCJpbmNvbWluZ0NvbGxlY3Rpb25zIiwicGx1Z2luT3B0aW9ucyIsInJlc29sdmVkU2NoZW1hcyIsInBhc3NrZXlTbHVnIiwicGFzc2tleSIsInBhc3NrZXlTY2hlbWEiLCJ1c2VySWRGaWVsZE5hbWUiLCJmaWVsZHMiLCJ1c2VySWQiLCJmaWVsZE5hbWUiLCJhZG1pblJvbGVzIiwidXNlcnMiLCJhZG1pblJvbGUiLCJleGlzdGluZ1Bhc3NrZXlDb2xsZWN0aW9uIiwiZmluZCIsImNvbGxlY3Rpb24iLCJzbHVnIiwiZmllbGRPdmVycmlkZXMiLCJuYW1lIiwiYWRtaW4iLCJyZWFkT25seSIsImRlc2NyaXB0aW9uIiwicHVibGljS2V5IiwiaW5kZXgiLCJjcmVkZW50aWFsSUQiLCJjb3VudGVyIiwicmVxdWlyZWQiLCJkZXZpY2VUeXBlIiwiYmFja2VkVXAiLCJ0cmFuc3BvcnRzIiwiY29sbGVjdGlvbkZpZWxkcyIsInNjaGVtYSIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwicGFzc2tleUNvbGxlY3Rpb24iLCJoaWRkZW4iLCJoaWRlUGx1Z2luQ29sbGVjdGlvbnMiLCJ1c2VBc1RpdGxlIiwiZ3JvdXAiLCJjb2xsZWN0aW9uQWRtaW5Hcm91cCIsImFjY2VzcyIsInJlYWQiLCJpZEZpZWxkIiwiZGVsZXRlIiwiY3VzdG9tIiwiYmV0dGVyQXV0aE1vZGVsS2V5IiwicGx1Z2luQ29sbGVjdGlvbk92ZXJyaWRlcyIsInBhc3NrZXlzIl0sIm1hcHBpbmdzIjoiQUFNQSxTQUNFQSw0QkFBNEIsRUFDNUJDLFVBQVUsRUFDVkMsUUFBUSxRQUNILGtCQUFrQjtBQUN6QixTQUFTQyxjQUFjLFFBQVEsaUNBQWlDO0FBQ2hFLFNBQ0VDLHFCQUFxQixFQUNyQkMsdUJBQXVCLEVBQ3ZCQyxrQkFBa0IsUUFDYiw0QkFBNEI7QUFDbkMsU0FBU0MsNkJBQTZCLFFBQVEseUJBQXlCO0FBQ3ZFLFNBQVNDLG1CQUFtQixRQUFRLDZDQUE2QztBQUVqRixPQUFPLFNBQVNDLHdCQUF3QixFQUN0Q0MsbUJBQW1CLEVBQ25CQyxhQUFhLEVBQ2JDLGVBQWUsRUFDTTtJQUNyQixNQUFNQyxjQUFjUix3QkFDbEJPLGlCQUNBWCxXQUFXYSxPQUFPO0lBRXBCLE1BQU1DLGdCQUFnQkgsZUFBZSxDQUFDWCxXQUFXYSxPQUFPLENBQUM7SUFDekQsTUFBTUUsa0JBQ0pELGVBQWVFLFFBQVFDLFFBQVFDLGFBQy9CbkIsNkJBQTZCYyxPQUFPLENBQUNJLE1BQU07SUFDN0MsTUFBTUUsYUFBYVQsY0FBY1UsS0FBSyxFQUFFRCxjQUFjO1FBQUNsQixTQUFTb0IsU0FBUztLQUFDO0lBRTFFLE1BQU1DLDRCQUE0QmIsb0JBQW9CYyxJQUFJLENBQ3hELENBQUNDLGFBQWVBLFdBQVdDLElBQUksS0FBS2I7SUFHdEMsTUFBTWMsaUJBQWdEO1FBQ3BEQyxNQUFNLElBQU8sQ0FBQTtnQkFDWEMsT0FBTztvQkFBRUMsVUFBVTtvQkFBTUMsYUFBYTtnQkFBMEI7WUFDbEUsQ0FBQTtRQUNBQyxXQUFXLElBQU8sQ0FBQTtnQkFDaEJDLE9BQU87Z0JBQ1BKLE9BQU87b0JBQUVDLFVBQVU7b0JBQU1DLGFBQWE7Z0JBQWdDO1lBQ3hFLENBQUE7UUFDQWIsUUFBUSxJQUFPLENBQUE7Z0JBQ2JlLE9BQU87Z0JBQ1BKLE9BQU87b0JBQ0xDLFVBQVU7b0JBQ1ZDLGFBQWE7Z0JBQ2Y7WUFDRixDQUFBO1FBQ0FHLGNBQWMsSUFBTyxDQUFBO2dCQUNuQk4sTUFBTTtnQkFDTkMsT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsYUFBYTtnQkFDZjtZQUNGLENBQUE7UUFDQUksU0FBUyxJQUFPLENBQUE7Z0JBQ2RDLFVBQVU7Z0JBQ1ZQLE9BQU87b0JBQUVDLFVBQVU7b0JBQU1DLGFBQWE7Z0JBQTZCO1lBQ3JFLENBQUE7UUFDQU0sWUFBWSxJQUFPLENBQUE7Z0JBQ2pCRCxVQUFVO2dCQUNWUCxPQUFPO29CQUNMQyxVQUFVO29CQUNWQyxhQUFhO2dCQUNmO1lBQ0YsQ0FBQTtRQUNBTyxVQUFVLElBQU8sQ0FBQTtnQkFDZkYsVUFBVTtnQkFDVlAsT0FBTztvQkFBRUMsVUFBVTtvQkFBTUMsYUFBYTtnQkFBbUM7WUFDM0UsQ0FBQTtRQUNBUSxZQUFZLElBQU8sQ0FBQTtnQkFDakJILFVBQVU7Z0JBQ1ZQLE9BQU87b0JBQ0xDLFVBQVU7b0JBQ1ZDLGFBQWE7Z0JBQ2Y7WUFDRixDQUFBO0lBQ0Y7SUFFQSxNQUFNUyxtQkFBbUJoQyxvQkFBb0I7UUFDM0NpQyxRQUFRMUI7UUFDUjJCLHNCQUFzQmY7SUFDeEI7SUFFQSxJQUFJZ0Isb0JBQXNDO1FBQ3hDLEdBQUdwQix5QkFBeUI7UUFDNUJHLE1BQU1iO1FBQ05nQixPQUFPO1lBQ0xlLFFBQVFqQyxjQUFja0MscUJBQXFCLElBQUk7WUFDL0NDLFlBQVl4QyxtQkFDVk0saUJBQ0FYLFdBQVdhLE9BQU8sRUFDbEI7WUFFRmlCLGFBQWE7WUFDYmdCLE9BQU9wQyxlQUFlcUMsd0JBQXdCO1lBQzlDLEdBQUd6QiwyQkFBMkJNLEtBQUs7UUFDckM7UUFDQW9CLFFBQVE7WUFDTixHQUFHOUMsZUFBZVEsY0FBYztZQUNoQ3VDLE1BQU0zQyw4QkFBOEI7Z0JBQ2xDNEMsU0FBU25DO2dCQUNUSTtZQUNGO1lBQ0FnQyxRQUFRN0MsOEJBQThCO2dCQUNwQzRDLFNBQVNuQztnQkFDVEk7WUFDRjtZQUNBLEdBQUlHLDJCQUEyQjBCLFVBQVUsQ0FBQyxDQUFDO1FBQzdDO1FBQ0FJLFFBQVE7WUFDTixHQUFJOUIsMkJBQTJCOEIsVUFBVSxDQUFDLENBQUM7WUFDM0NDLG9CQUFvQnJELFdBQVdhLE9BQU87UUFDeEM7UUFDQUcsUUFBUTtlQUNGTSwyQkFBMkJOLFVBQVUsRUFBRTtlQUN2Q3VCLG9CQUFvQixFQUFFO1NBQzNCO0lBQ0g7SUFFQSxJQUFJLE9BQU83QixjQUFjNEMseUJBQXlCLEVBQUVDLGFBQWEsWUFBWTtRQUMzRWIsb0JBQW9CaEMsY0FBYzRDLHlCQUF5QixDQUFDQyxRQUFRLENBQUM7WUFDbkUvQixZQUFZa0I7UUFDZDtJQUNGO0lBRUF2QyxzQkFBc0J1QyxtQkFBbUI1QjtJQUV6QyxPQUFPNEI7QUFDVCJ9
@@ -0,0 +1,4 @@
1
+ import type { CollectionConfig } from "payload";
2
+ import type { BuildCollectionProps } from "@/better-auth/plugin/types";
3
+ export declare function buildRateLimitCollection({ incomingCollections, pluginOptions, resolvedSchemas }: BuildCollectionProps): CollectionConfig;
4
+ //# sourceMappingURL=rate-limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/build-collections/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,4BAA4B,CAAC;AAUpC,wBAAgB,wBAAwB,CAAC,EACvC,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,EAAE,oBAAoB,GAAG,gBAAgB,CA2DzC"}
@@ -0,0 +1,54 @@
1
+ import { baModelKey } from "../../constants";
2
+ import { getAdminAccess } from "../../helpers/get-admin-access";
3
+ import { assertAllSchemaFields, getSchemaCollectionSlug, getSchemaFieldName } from "./utils/collection-schema";
4
+ import { getCollectionFields } from "./utils/transform-schema-fields-to-payload";
5
+ export function buildRateLimitCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
6
+ const slug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.rateLimit);
7
+ const schema = resolvedSchemas[baModelKey.rateLimit];
8
+ const existingRateLimitCollection = incomingCollections.find((collection)=>collection.slug === slug);
9
+ const fieldOverrides = {
10
+ key: ()=>({
11
+ index: true,
12
+ admin: {
13
+ readOnly: true,
14
+ description: "The key for the rate limit."
15
+ }
16
+ })
17
+ };
18
+ const collectionFields = getCollectionFields({
19
+ schema,
20
+ additionalProperties: fieldOverrides
21
+ });
22
+ let rateLimitCollection = {
23
+ ...existingRateLimitCollection,
24
+ slug,
25
+ admin: {
26
+ hidden: pluginOptions.hidePluginCollections ?? false,
27
+ useAsTitle: getSchemaFieldName(resolvedSchemas, baModelKey.rateLimit, "key"),
28
+ description: "Rate limits for users",
29
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
30
+ ...existingRateLimitCollection?.admin
31
+ },
32
+ access: {
33
+ ...getAdminAccess(pluginOptions),
34
+ ...existingRateLimitCollection?.access ?? {}
35
+ },
36
+ custom: {
37
+ ...existingRateLimitCollection?.custom ?? {},
38
+ betterAuthModelKey: baModelKey.rateLimit
39
+ },
40
+ fields: [
41
+ ...existingRateLimitCollection?.fields ?? [],
42
+ ...collectionFields ?? []
43
+ ]
44
+ };
45
+ if (typeof pluginOptions.pluginCollectionOverrides?.rateLimit === "function") {
46
+ rateLimitCollection = pluginOptions.pluginCollectionOverrides.rateLimit({
47
+ collection: rateLimitCollection
48
+ });
49
+ }
50
+ assertAllSchemaFields(rateLimitCollection, schema);
51
+ return rateLimitCollection;
52
+ }
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3JhdGUtbGltaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IFJhdGVMaW1pdCB9IGZyb20gXCJAL2JldHRlci1hdXRoL2dlbmVyYXRlZC10eXBlc1wiO1xuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbGxlY3Rpb25Qcm9wcyxcbiAgRmllbGRPdmVycmlkZXNcbn0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzXCI7XG5pbXBvcnQgeyBiYU1vZGVsS2V5IH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0QWRtaW5BY2Nlc3MgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9nZXQtYWRtaW4tYWNjZXNzXCI7XG5pbXBvcnQge1xuICBhc3NlcnRBbGxTY2hlbWFGaWVsZHMsXG4gIGdldFNjaGVtYUNvbGxlY3Rpb25TbHVnLFxuICBnZXRTY2hlbWFGaWVsZE5hbWVcbn0gZnJvbSBcIi4vdXRpbHMvY29sbGVjdGlvbi1zY2hlbWFcIjtcbmltcG9ydCB7IGdldENvbGxlY3Rpb25GaWVsZHMgfSBmcm9tIFwiLi91dGlscy90cmFuc2Zvcm0tc2NoZW1hLWZpZWxkcy10by1wYXlsb2FkXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJhdGVMaW1pdENvbGxlY3Rpb24oe1xuICBpbmNvbWluZ0NvbGxlY3Rpb25zLFxuICBwbHVnaW5PcHRpb25zLFxuICByZXNvbHZlZFNjaGVtYXNcbn06IEJ1aWxkQ29sbGVjdGlvblByb3BzKTogQ29sbGVjdGlvbkNvbmZpZyB7XG4gIGNvbnN0IHNsdWcgPSBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhyZXNvbHZlZFNjaGVtYXMsIGJhTW9kZWxLZXkucmF0ZUxpbWl0KTtcbiAgY29uc3Qgc2NoZW1hID0gcmVzb2x2ZWRTY2hlbWFzW2JhTW9kZWxLZXkucmF0ZUxpbWl0XTtcblxuICBjb25zdCBleGlzdGluZ1JhdGVMaW1pdENvbGxlY3Rpb24gPSBpbmNvbWluZ0NvbGxlY3Rpb25zLmZpbmQoXG4gICAgKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uc2x1ZyA9PT0gc2x1Z1xuICApIGFzIENvbGxlY3Rpb25Db25maWcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3QgZmllbGRPdmVycmlkZXM6IEZpZWxkT3ZlcnJpZGVzPGtleW9mIFJhdGVMaW1pdD4gPSB7XG4gICAga2V5OiAoKSA9PiAoe1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBhZG1pbjogeyByZWFkT25seTogdHJ1ZSwgZGVzY3JpcHRpb246IFwiVGhlIGtleSBmb3IgdGhlIHJhdGUgbGltaXQuXCIgfVxuICAgIH0pXG4gIH07XG5cbiAgY29uc3QgY29sbGVjdGlvbkZpZWxkcyA9IGdldENvbGxlY3Rpb25GaWVsZHMoe1xuICAgIHNjaGVtYSxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmllbGRPdmVycmlkZXNcbiAgfSk7XG5cbiAgbGV0IHJhdGVMaW1pdENvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcgPSB7XG4gICAgLi4uZXhpc3RpbmdSYXRlTGltaXRDb2xsZWN0aW9uLFxuICAgIHNsdWcsXG4gICAgYWRtaW46IHtcbiAgICAgIGhpZGRlbjogcGx1Z2luT3B0aW9ucy5oaWRlUGx1Z2luQ29sbGVjdGlvbnMgPz8gZmFsc2UsXG4gICAgICB1c2VBc1RpdGxlOiBnZXRTY2hlbWFGaWVsZE5hbWUoXG4gICAgICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICAgICAgYmFNb2RlbEtleS5yYXRlTGltaXQsXG4gICAgICAgIFwia2V5XCJcbiAgICAgICksXG4gICAgICBkZXNjcmlwdGlvbjogXCJSYXRlIGxpbWl0cyBmb3IgdXNlcnNcIixcbiAgICAgIGdyb3VwOiBwbHVnaW5PcHRpb25zPy5jb2xsZWN0aW9uQWRtaW5Hcm91cCA/PyBcIkF1dGhcIixcbiAgICAgIC4uLmV4aXN0aW5nUmF0ZUxpbWl0Q29sbGVjdGlvbj8uYWRtaW5cbiAgICB9LFxuICAgIGFjY2Vzczoge1xuICAgICAgLi4uZ2V0QWRtaW5BY2Nlc3MocGx1Z2luT3B0aW9ucyksXG4gICAgICAuLi4oZXhpc3RpbmdSYXRlTGltaXRDb2xsZWN0aW9uPy5hY2Nlc3MgPz8ge30pXG4gICAgfSxcbiAgICBjdXN0b206IHtcbiAgICAgIC4uLihleGlzdGluZ1JhdGVMaW1pdENvbGxlY3Rpb24/LmN1c3RvbSA/PyB7fSksXG4gICAgICBiZXR0ZXJBdXRoTW9kZWxLZXk6IGJhTW9kZWxLZXkucmF0ZUxpbWl0XG4gICAgfSxcbiAgICBmaWVsZHM6IFtcbiAgICAgIC4uLihleGlzdGluZ1JhdGVMaW1pdENvbGxlY3Rpb24/LmZpZWxkcyA/PyBbXSksXG4gICAgICAuLi4oY29sbGVjdGlvbkZpZWxkcyA/PyBbXSlcbiAgICBdXG4gIH07XG5cbiAgaWYgKFxuICAgIHR5cGVvZiBwbHVnaW5PcHRpb25zLnBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXM/LnJhdGVMaW1pdCA9PT0gXCJmdW5jdGlvblwiXG4gICkge1xuICAgIHJhdGVMaW1pdENvbGxlY3Rpb24gPSBwbHVnaW5PcHRpb25zLnBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXMucmF0ZUxpbWl0KHtcbiAgICAgIGNvbGxlY3Rpb246IHJhdGVMaW1pdENvbGxlY3Rpb25cbiAgICB9KTtcbiAgfVxuXG4gIGFzc2VydEFsbFNjaGVtYUZpZWxkcyhyYXRlTGltaXRDb2xsZWN0aW9uLCBzY2hlbWEpO1xuXG4gIHJldHVybiByYXRlTGltaXRDb2xsZWN0aW9uO1xufVxuIl0sIm5hbWVzIjpbImJhTW9kZWxLZXkiLCJnZXRBZG1pbkFjY2VzcyIsImFzc2VydEFsbFNjaGVtYUZpZWxkcyIsImdldFNjaGVtYUNvbGxlY3Rpb25TbHVnIiwiZ2V0U2NoZW1hRmllbGROYW1lIiwiZ2V0Q29sbGVjdGlvbkZpZWxkcyIsImJ1aWxkUmF0ZUxpbWl0Q29sbGVjdGlvbiIsImluY29taW5nQ29sbGVjdGlvbnMiLCJwbHVnaW5PcHRpb25zIiwicmVzb2x2ZWRTY2hlbWFzIiwic2x1ZyIsInJhdGVMaW1pdCIsInNjaGVtYSIsImV4aXN0aW5nUmF0ZUxpbWl0Q29sbGVjdGlvbiIsImZpbmQiLCJjb2xsZWN0aW9uIiwiZmllbGRPdmVycmlkZXMiLCJrZXkiLCJpbmRleCIsImFkbWluIiwicmVhZE9ubHkiLCJkZXNjcmlwdGlvbiIsImNvbGxlY3Rpb25GaWVsZHMiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsInJhdGVMaW1pdENvbGxlY3Rpb24iLCJoaWRkZW4iLCJoaWRlUGx1Z2luQ29sbGVjdGlvbnMiLCJ1c2VBc1RpdGxlIiwiZ3JvdXAiLCJjb2xsZWN0aW9uQWRtaW5Hcm91cCIsImFjY2VzcyIsImN1c3RvbSIsImJldHRlckF1dGhNb2RlbEtleSIsImZpZWxkcyIsInBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXMiXSwibWFwcGluZ3MiOiJBQU1BLFNBQVNBLFVBQVUsUUFBUSxrQkFBa0I7QUFDN0MsU0FBU0MsY0FBYyxRQUFRLGlDQUFpQztBQUNoRSxTQUNFQyxxQkFBcUIsRUFDckJDLHVCQUF1QixFQUN2QkMsa0JBQWtCLFFBQ2IsNEJBQTRCO0FBQ25DLFNBQVNDLG1CQUFtQixRQUFRLDZDQUE2QztBQUVqRixPQUFPLFNBQVNDLHlCQUF5QixFQUN2Q0MsbUJBQW1CLEVBQ25CQyxhQUFhLEVBQ2JDLGVBQWUsRUFDTTtJQUNyQixNQUFNQyxPQUFPUCx3QkFBd0JNLGlCQUFpQlQsV0FBV1csU0FBUztJQUMxRSxNQUFNQyxTQUFTSCxlQUFlLENBQUNULFdBQVdXLFNBQVMsQ0FBQztJQUVwRCxNQUFNRSw4QkFBOEJOLG9CQUFvQk8sSUFBSSxDQUMxRCxDQUFDQyxhQUFlQSxXQUFXTCxJQUFJLEtBQUtBO0lBR3RDLE1BQU1NLGlCQUFrRDtRQUN0REMsS0FBSyxJQUFPLENBQUE7Z0JBQ1ZDLE9BQU87Z0JBQ1BDLE9BQU87b0JBQUVDLFVBQVU7b0JBQU1DLGFBQWE7Z0JBQThCO1lBQ3RFLENBQUE7SUFDRjtJQUVBLE1BQU1DLG1CQUFtQmpCLG9CQUFvQjtRQUMzQ087UUFDQVcsc0JBQXNCUDtJQUN4QjtJQUVBLElBQUlRLHNCQUF3QztRQUMxQyxHQUFHWCwyQkFBMkI7UUFDOUJIO1FBQ0FTLE9BQU87WUFDTE0sUUFBUWpCLGNBQWNrQixxQkFBcUIsSUFBSTtZQUMvQ0MsWUFBWXZCLG1CQUNWSyxpQkFDQVQsV0FBV1csU0FBUyxFQUNwQjtZQUVGVSxhQUFhO1lBQ2JPLE9BQU9wQixlQUFlcUIsd0JBQXdCO1lBQzlDLEdBQUdoQiw2QkFBNkJNLEtBQUs7UUFDdkM7UUFDQVcsUUFBUTtZQUNOLEdBQUc3QixlQUFlTyxjQUFjO1lBQ2hDLEdBQUlLLDZCQUE2QmlCLFVBQVUsQ0FBQyxDQUFDO1FBQy9DO1FBQ0FDLFFBQVE7WUFDTixHQUFJbEIsNkJBQTZCa0IsVUFBVSxDQUFDLENBQUM7WUFDN0NDLG9CQUFvQmhDLFdBQVdXLFNBQVM7UUFDMUM7UUFDQXNCLFFBQVE7ZUFDRnBCLDZCQUE2Qm9CLFVBQVUsRUFBRTtlQUN6Q1gsb0JBQW9CLEVBQUU7U0FDM0I7SUFDSDtJQUVBLElBQ0UsT0FBT2QsY0FBYzBCLHlCQUF5QixFQUFFdkIsY0FBYyxZQUM5RDtRQUNBYSxzQkFBc0JoQixjQUFjMEIseUJBQXlCLENBQUN2QixTQUFTLENBQUM7WUFDdEVJLFlBQVlTO1FBQ2Q7SUFDRjtJQUVBdEIsc0JBQXNCc0IscUJBQXFCWjtJQUUzQyxPQUFPWTtBQUNUIn0=
@@ -0,0 +1,4 @@
1
+ import type { CollectionConfig } from "payload";
2
+ import type { BuildCollectionProps } from "@/better-auth/plugin/types";
3
+ export declare function buildScimProviderCollection({ incomingCollections, pluginOptions, resolvedSchemas }: BuildCollectionProps): CollectionConfig;
4
+ //# sourceMappingURL=scim-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scim-provider.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/build-collections/scim-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,4BAA4B,CAAC;AAepC,wBAAgB,2BAA2B,CAAC,EAC1C,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,EAAE,oBAAoB,GAAG,gBAAgB,CA6EzC"}
@@ -0,0 +1,65 @@
1
+ import { baModelKey } from "../../constants";
2
+ import { getAdminAccess } from "../../helpers/get-admin-access";
3
+ import { assertAllSchemaFields, getSchemaCollectionSlug, getSchemaFieldName } from "./utils/collection-schema";
4
+ import { getCollectionFields } from "./utils/transform-schema-fields-to-payload";
5
+ export function buildScimProviderCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
6
+ const scimProviderSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.scimProvider);
7
+ const scimProviderSchema = resolvedSchemas[baModelKey.scimProvider];
8
+ const existingScimProviderCollection = incomingCollections.find((collection)=>collection.slug === scimProviderSlug);
9
+ const fieldOverrides = {
10
+ providerId: ()=>({
11
+ admin: {
12
+ readOnly: true,
13
+ description: "The provider ID. Used to identify a provider and to generate a redirect URL."
14
+ }
15
+ }),
16
+ scimToken: ()=>({
17
+ admin: {
18
+ readOnly: true,
19
+ description: "The SCIM bearer token. Used by your identity provider to authenticate against your server."
20
+ }
21
+ }),
22
+ organizationId: ()=>({
23
+ admin: {
24
+ readOnly: true,
25
+ description: "The organization Id. If provider is linked to an organization."
26
+ }
27
+ })
28
+ };
29
+ const collectionFields = getCollectionFields({
30
+ schema: scimProviderSchema,
31
+ additionalProperties: fieldOverrides
32
+ });
33
+ let scimProviderCollection = {
34
+ ...existingScimProviderCollection,
35
+ slug: scimProviderSlug,
36
+ admin: {
37
+ hidden: pluginOptions.hidePluginCollections ?? false,
38
+ useAsTitle: getSchemaFieldName(resolvedSchemas, baModelKey.scimProvider, "providerId"),
39
+ description: "SCIM providers are used to authenticate users",
40
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
41
+ ...existingScimProviderCollection?.admin
42
+ },
43
+ access: {
44
+ ...getAdminAccess(pluginOptions),
45
+ ...existingScimProviderCollection?.access ?? {}
46
+ },
47
+ custom: {
48
+ ...existingScimProviderCollection?.custom ?? {},
49
+ betterAuthModelKey: baModelKey.scimProvider
50
+ },
51
+ fields: [
52
+ ...existingScimProviderCollection?.fields ?? [],
53
+ ...collectionFields ?? []
54
+ ]
55
+ };
56
+ if (typeof pluginOptions.pluginCollectionOverrides?.scim === "function") {
57
+ scimProviderCollection = pluginOptions.pluginCollectionOverrides.scim({
58
+ collection: scimProviderCollection
59
+ });
60
+ }
61
+ assertAllSchemaFields(scimProviderCollection, scimProviderSchema);
62
+ return scimProviderCollection;
63
+ }
64
+
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3NjaW0tcHJvdmlkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB0eXBlIHsgU2NpbVByb3ZpZGVyIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvZ2VuZXJhdGVkLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJ1aWxkQ29sbGVjdGlvblByb3BzLFxuICBGaWVsZE92ZXJyaWRlc1xufSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9wbHVnaW4vdHlwZXNcIjtcbmltcG9ydCB7XG4gIGJhTW9kZWxGaWVsZEtleXNUb0ZpZWxkTmFtZXMsXG4gIGJhTW9kZWxLZXksXG4gIGRlZmF1bHRzXG59IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldEFkbWluQWNjZXNzIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvZ2V0LWFkbWluLWFjY2Vzc1wiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0QWxsU2NoZW1hRmllbGRzLFxuICBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyxcbiAgZ2V0U2NoZW1hRmllbGROYW1lXG59IGZyb20gXCIuL3V0aWxzL2NvbGxlY3Rpb24tc2NoZW1hXCI7XG5pbXBvcnQgeyBpc0FkbWluT3JDdXJyZW50VXNlcldpdGhSb2xlcyB9IGZyb20gXCIuL3V0aWxzL3BheWxvYWQtYWNjZXNzXCI7XG5pbXBvcnQgeyBnZXRDb2xsZWN0aW9uRmllbGRzIH0gZnJvbSBcIi4vdXRpbHMvdHJhbnNmb3JtLXNjaGVtYS1maWVsZHMtdG8tcGF5bG9hZFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTY2ltUHJvdmlkZXJDb2xsZWN0aW9uKHtcbiAgaW5jb21pbmdDb2xsZWN0aW9ucyxcbiAgcGx1Z2luT3B0aW9ucyxcbiAgcmVzb2x2ZWRTY2hlbWFzXG59OiBCdWlsZENvbGxlY3Rpb25Qcm9wcyk6IENvbGxlY3Rpb25Db25maWcge1xuICBjb25zdCBzY2ltUHJvdmlkZXJTbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgIGJhTW9kZWxLZXkuc2NpbVByb3ZpZGVyXG4gICk7XG4gIGNvbnN0IHNjaW1Qcm92aWRlclNjaGVtYSA9IHJlc29sdmVkU2NoZW1hc1tiYU1vZGVsS2V5LnNjaW1Qcm92aWRlcl07XG5cbiAgY29uc3QgZXhpc3RpbmdTY2ltUHJvdmlkZXJDb2xsZWN0aW9uID0gaW5jb21pbmdDb2xsZWN0aW9ucy5maW5kKFxuICAgIChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IHNjaW1Qcm92aWRlclNsdWdcbiAgKSBhcyBDb2xsZWN0aW9uQ29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGZpZWxkT3ZlcnJpZGVzOiBGaWVsZE92ZXJyaWRlczxrZXlvZiBTY2ltUHJvdmlkZXI+ID0ge1xuICAgIHByb3ZpZGVySWQ6ICgpID0+ICh7XG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgXCJUaGUgcHJvdmlkZXIgSUQuIFVzZWQgdG8gaWRlbnRpZnkgYSBwcm92aWRlciBhbmQgdG8gZ2VuZXJhdGUgYSByZWRpcmVjdCBVUkwuXCJcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzY2ltVG9rZW46ICgpID0+ICh7XG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgXCJUaGUgU0NJTSBiZWFyZXIgdG9rZW4uIFVzZWQgYnkgeW91ciBpZGVudGl0eSBwcm92aWRlciB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCB5b3VyIHNlcnZlci5cIlxuICAgICAgfVxuICAgIH0pLFxuICAgIG9yZ2FuaXphdGlvbklkOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHtcbiAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgIFwiVGhlIG9yZ2FuaXphdGlvbiBJZC4gSWYgcHJvdmlkZXIgaXMgbGlua2VkIHRvIGFuIG9yZ2FuaXphdGlvbi5cIlxuICAgICAgfVxuICAgIH0pXG4gIH07XG5cbiAgY29uc3QgY29sbGVjdGlvbkZpZWxkcyA9IGdldENvbGxlY3Rpb25GaWVsZHMoe1xuICAgIHNjaGVtYTogc2NpbVByb3ZpZGVyU2NoZW1hLFxuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmaWVsZE92ZXJyaWRlc1xuICB9KTtcblxuICBsZXQgc2NpbVByb3ZpZGVyQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyA9IHtcbiAgICAuLi5leGlzdGluZ1NjaW1Qcm92aWRlckNvbGxlY3Rpb24sXG4gICAgc2x1Zzogc2NpbVByb3ZpZGVyU2x1ZyxcbiAgICBhZG1pbjoge1xuICAgICAgaGlkZGVuOiBwbHVnaW5PcHRpb25zLmhpZGVQbHVnaW5Db2xsZWN0aW9ucyA/PyBmYWxzZSxcbiAgICAgIHVzZUFzVGl0bGU6IGdldFNjaGVtYUZpZWxkTmFtZShcbiAgICAgICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgICAgICBiYU1vZGVsS2V5LnNjaW1Qcm92aWRlcixcbiAgICAgICAgXCJwcm92aWRlcklkXCJcbiAgICAgICksXG4gICAgICBkZXNjcmlwdGlvbjogXCJTQ0lNIHByb3ZpZGVycyBhcmUgdXNlZCB0byBhdXRoZW50aWNhdGUgdXNlcnNcIixcbiAgICAgIGdyb3VwOiBwbHVnaW5PcHRpb25zPy5jb2xsZWN0aW9uQWRtaW5Hcm91cCA/PyBcIkF1dGhcIixcbiAgICAgIC4uLmV4aXN0aW5nU2NpbVByb3ZpZGVyQ29sbGVjdGlvbj8uYWRtaW5cbiAgICB9LFxuICAgIGFjY2Vzczoge1xuICAgICAgLi4uZ2V0QWRtaW5BY2Nlc3MocGx1Z2luT3B0aW9ucyksXG4gICAgICAuLi4oZXhpc3RpbmdTY2ltUHJvdmlkZXJDb2xsZWN0aW9uPy5hY2Nlc3MgPz8ge30pXG4gICAgfSxcbiAgICBjdXN0b206IHtcbiAgICAgIC4uLihleGlzdGluZ1NjaW1Qcm92aWRlckNvbGxlY3Rpb24/LmN1c3RvbSA/PyB7fSksXG4gICAgICBiZXR0ZXJBdXRoTW9kZWxLZXk6IGJhTW9kZWxLZXkuc2NpbVByb3ZpZGVyXG4gICAgfSxcbiAgICBmaWVsZHM6IFtcbiAgICAgIC4uLihleGlzdGluZ1NjaW1Qcm92aWRlckNvbGxlY3Rpb24/LmZpZWxkcyA/PyBbXSksXG4gICAgICAuLi4oY29sbGVjdGlvbkZpZWxkcyA/PyBbXSlcbiAgICBdXG4gIH07XG5cbiAgaWYgKHR5cGVvZiBwbHVnaW5PcHRpb25zLnBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXM/LnNjaW0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHNjaW1Qcm92aWRlckNvbGxlY3Rpb24gPSBwbHVnaW5PcHRpb25zLnBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXMuc2NpbSh7XG4gICAgICBjb2xsZWN0aW9uOiBzY2ltUHJvdmlkZXJDb2xsZWN0aW9uXG4gICAgfSk7XG4gIH1cblxuICBhc3NlcnRBbGxTY2hlbWFGaWVsZHMoc2NpbVByb3ZpZGVyQ29sbGVjdGlvbiwgc2NpbVByb3ZpZGVyU2NoZW1hKTtcblxuICByZXR1cm4gc2NpbVByb3ZpZGVyQ29sbGVjdGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJiYU1vZGVsS2V5IiwiZ2V0QWRtaW5BY2Nlc3MiLCJhc3NlcnRBbGxTY2hlbWFGaWVsZHMiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsImdldFNjaGVtYUZpZWxkTmFtZSIsImdldENvbGxlY3Rpb25GaWVsZHMiLCJidWlsZFNjaW1Qcm92aWRlckNvbGxlY3Rpb24iLCJpbmNvbWluZ0NvbGxlY3Rpb25zIiwicGx1Z2luT3B0aW9ucyIsInJlc29sdmVkU2NoZW1hcyIsInNjaW1Qcm92aWRlclNsdWciLCJzY2ltUHJvdmlkZXIiLCJzY2ltUHJvdmlkZXJTY2hlbWEiLCJleGlzdGluZ1NjaW1Qcm92aWRlckNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbGVjdGlvbiIsInNsdWciLCJmaWVsZE92ZXJyaWRlcyIsInByb3ZpZGVySWQiLCJhZG1pbiIsInJlYWRPbmx5IiwiZGVzY3JpcHRpb24iLCJzY2ltVG9rZW4iLCJvcmdhbml6YXRpb25JZCIsImNvbGxlY3Rpb25GaWVsZHMiLCJzY2hlbWEiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsInNjaW1Qcm92aWRlckNvbGxlY3Rpb24iLCJoaWRkZW4iLCJoaWRlUGx1Z2luQ29sbGVjdGlvbnMiLCJ1c2VBc1RpdGxlIiwiZ3JvdXAiLCJjb2xsZWN0aW9uQWRtaW5Hcm91cCIsImFjY2VzcyIsImN1c3RvbSIsImJldHRlckF1dGhNb2RlbEtleSIsImZpZWxkcyIsInBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXMiLCJzY2ltIl0sIm1hcHBpbmdzIjoiQUFNQSxTQUVFQSxVQUFVLFFBRUwsa0JBQWtCO0FBQ3pCLFNBQVNDLGNBQWMsUUFBUSxpQ0FBaUM7QUFDaEUsU0FDRUMscUJBQXFCLEVBQ3JCQyx1QkFBdUIsRUFDdkJDLGtCQUFrQixRQUNiLDRCQUE0QjtBQUVuQyxTQUFTQyxtQkFBbUIsUUFBUSw2Q0FBNkM7QUFFakYsT0FBTyxTQUFTQyw0QkFBNEIsRUFDMUNDLG1CQUFtQixFQUNuQkMsYUFBYSxFQUNiQyxlQUFlLEVBQ007SUFDckIsTUFBTUMsbUJBQW1CUCx3QkFDdkJNLGlCQUNBVCxXQUFXVyxZQUFZO0lBRXpCLE1BQU1DLHFCQUFxQkgsZUFBZSxDQUFDVCxXQUFXVyxZQUFZLENBQUM7SUFFbkUsTUFBTUUsaUNBQWlDTixvQkFBb0JPLElBQUksQ0FDN0QsQ0FBQ0MsYUFBZUEsV0FBV0MsSUFBSSxLQUFLTjtJQUd0QyxNQUFNTyxpQkFBcUQ7UUFDekRDLFlBQVksSUFBTyxDQUFBO2dCQUNqQkMsT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsYUFDRTtnQkFDSjtZQUNGLENBQUE7UUFDQUMsV0FBVyxJQUFPLENBQUE7Z0JBQ2hCSCxPQUFPO29CQUNMQyxVQUFVO29CQUNWQyxhQUNFO2dCQUNKO1lBQ0YsQ0FBQTtRQUNBRSxnQkFBZ0IsSUFBTyxDQUFBO2dCQUNyQkosT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsYUFDRTtnQkFDSjtZQUNGLENBQUE7SUFDRjtJQUVBLE1BQU1HLG1CQUFtQm5CLG9CQUFvQjtRQUMzQ29CLFFBQVFiO1FBQ1JjLHNCQUFzQlQ7SUFDeEI7SUFFQSxJQUFJVSx5QkFBMkM7UUFDN0MsR0FBR2QsOEJBQThCO1FBQ2pDRyxNQUFNTjtRQUNOUyxPQUFPO1lBQ0xTLFFBQVFwQixjQUFjcUIscUJBQXFCLElBQUk7WUFDL0NDLFlBQVkxQixtQkFDVkssaUJBQ0FULFdBQVdXLFlBQVksRUFDdkI7WUFFRlUsYUFBYTtZQUNiVSxPQUFPdkIsZUFBZXdCLHdCQUF3QjtZQUM5QyxHQUFHbkIsZ0NBQWdDTSxLQUFLO1FBQzFDO1FBQ0FjLFFBQVE7WUFDTixHQUFHaEMsZUFBZU8sY0FBYztZQUNoQyxHQUFJSyxnQ0FBZ0NvQixVQUFVLENBQUMsQ0FBQztRQUNsRDtRQUNBQyxRQUFRO1lBQ04sR0FBSXJCLGdDQUFnQ3FCLFVBQVUsQ0FBQyxDQUFDO1lBQ2hEQyxvQkFBb0JuQyxXQUFXVyxZQUFZO1FBQzdDO1FBQ0F5QixRQUFRO2VBQ0Z2QixnQ0FBZ0N1QixVQUFVLEVBQUU7ZUFDNUNaLG9CQUFvQixFQUFFO1NBQzNCO0lBQ0g7SUFFQSxJQUFJLE9BQU9oQixjQUFjNkIseUJBQXlCLEVBQUVDLFNBQVMsWUFBWTtRQUN2RVgseUJBQXlCbkIsY0FBYzZCLHlCQUF5QixDQUFDQyxJQUFJLENBQUM7WUFDcEV2QixZQUFZWTtRQUNkO0lBQ0Y7SUFFQXpCLHNCQUFzQnlCLHdCQUF3QmY7SUFFOUMsT0FBT2U7QUFDVCJ9
@@ -0,0 +1,4 @@
1
+ import type { CollectionConfig } from "payload";
2
+ import type { BuildCollectionProps } from "@/better-auth/plugin/types";
3
+ export declare function buildSessionsCollection({ incomingCollections, pluginOptions, resolvedSchemas }: BuildCollectionProps): CollectionConfig;
4
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/build-collections/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,4BAA4B,CAAC;AAUpC,wBAAgB,uBAAuB,CAAC,EACtC,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,EAAE,oBAAoB,GAAG,gBAAgB,CA6IzC"}
@@ -0,0 +1,140 @@
1
+ import { baModelKey, baseSlugs } from "../../constants";
2
+ import { getAdminAccess } from "../../helpers/get-admin-access";
3
+ import { getDefaultCollectionSlug } from "../../helpers/get-collection-slug";
4
+ import { assertAllSchemaFields, getSchemaCollectionSlug } from "./utils/collection-schema";
5
+ import { getCollectionFields } from "./utils/transform-schema-fields-to-payload";
6
+ export function buildSessionsCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
7
+ const sessionSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.session);
8
+ const sessionSchema = resolvedSchemas[baModelKey.session];
9
+ const existingSessionCollection = incomingCollections.find((collection)=>collection.slug === sessionSlug);
10
+ const fieldOverrides = {
11
+ userId: ()=>({
12
+ index: true,
13
+ saveToJWT: true,
14
+ admin: {
15
+ readOnly: true,
16
+ description: "The user that the session belongs to"
17
+ },
18
+ relationTo: getDefaultCollectionSlug({
19
+ modelKey: baModelKey.user,
20
+ pluginOptions
21
+ })
22
+ }),
23
+ token: ()=>({
24
+ index: true,
25
+ saveToJWT: true,
26
+ admin: {
27
+ readOnly: true,
28
+ description: "The unique session token"
29
+ }
30
+ }),
31
+ expiresAt: ()=>({
32
+ saveToJWT: true,
33
+ admin: {
34
+ readOnly: true,
35
+ description: "The date and time when the session will expire"
36
+ }
37
+ }),
38
+ ipAddress: ()=>({
39
+ saveToJWT: true,
40
+ admin: {
41
+ readOnly: true,
42
+ description: "The IP address of the device"
43
+ }
44
+ }),
45
+ userAgent: ()=>({
46
+ saveToJWT: true,
47
+ admin: {
48
+ readOnly: true,
49
+ description: "The user agent information of the device"
50
+ }
51
+ }),
52
+ impersonatedBy: ()=>({
53
+ type: "relationship",
54
+ relationTo: pluginOptions.users?.slug ?? baseSlugs.users,
55
+ required: false,
56
+ saveToJWT: true,
57
+ admin: {
58
+ readOnly: true,
59
+ description: "The admin who is impersonating this session"
60
+ }
61
+ }),
62
+ activeOrganizationId: ()=>({
63
+ name: "activeOrganization",
64
+ type: "relationship",
65
+ saveToJWT: true,
66
+ relationTo: getDefaultCollectionSlug({
67
+ modelKey: baModelKey.organization,
68
+ pluginOptions
69
+ }),
70
+ admin: {
71
+ readOnly: true,
72
+ description: "The currently active organization for the session"
73
+ }
74
+ }),
75
+ activeTeamId: ()=>({
76
+ name: "activeTeam",
77
+ type: "relationship",
78
+ saveToJWT: true,
79
+ relationTo: getDefaultCollectionSlug({
80
+ modelKey: baModelKey.team,
81
+ pluginOptions
82
+ }),
83
+ admin: {
84
+ readOnly: true,
85
+ description: "The currently active team for the session"
86
+ }
87
+ })
88
+ };
89
+ const sessionFieldRules = [
90
+ {
91
+ condition: (field)=>field.fieldName === "updatedAt" || field.fieldName === "createdAt",
92
+ transform: (field)=>({
93
+ ...field,
94
+ saveToJWT: false,
95
+ admin: {
96
+ disableBulkEdit: true,
97
+ hidden: true
98
+ },
99
+ index: true,
100
+ label: ({ t })=>t("general:updatedAt")
101
+ })
102
+ }
103
+ ];
104
+ const collectionFields = getCollectionFields({
105
+ schema: sessionSchema,
106
+ fieldRules: sessionFieldRules,
107
+ additionalProperties: fieldOverrides
108
+ });
109
+ let sessionCollection = {
110
+ ...existingSessionCollection,
111
+ slug: sessionSlug,
112
+ admin: {
113
+ hidden: pluginOptions.sessions?.hidden,
114
+ description: "Sessions are active sessions for users. They are used to authenticate users with a session token",
115
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
116
+ ...existingSessionCollection?.admin
117
+ },
118
+ access: {
119
+ ...getAdminAccess(pluginOptions),
120
+ ...existingSessionCollection?.access ?? {}
121
+ },
122
+ custom: {
123
+ ...existingSessionCollection?.custom ?? {},
124
+ betterAuthModelKey: baModelKey.session
125
+ },
126
+ fields: [
127
+ ...existingSessionCollection?.fields ?? [],
128
+ ...collectionFields ?? []
129
+ ]
130
+ };
131
+ if (typeof pluginOptions.sessions?.collectionOverrides === "function") {
132
+ sessionCollection = pluginOptions.sessions.collectionOverrides({
133
+ collection: sessionCollection
134
+ });
135
+ }
136
+ assertAllSchemaFields(sessionCollection, sessionSchema);
137
+ return sessionCollection;
138
+ }
139
+
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3Nlc3Npb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgdHlwZSB7IFNlc3Npb24gfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9nZW5lcmF0ZWQtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb2xsZWN0aW9uUHJvcHMsXG4gIEZpZWxkT3ZlcnJpZGVzLFxuICBGaWVsZFJ1bGVcbn0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzXCI7XG5pbXBvcnQgeyBiYU1vZGVsS2V5LCBiYXNlU2x1Z3MgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXRBZG1pbkFjY2VzcyB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2dldC1hZG1pbi1hY2Nlc3NcIjtcbmltcG9ydCB7IGdldERlZmF1bHRDb2xsZWN0aW9uU2x1ZyB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2dldC1jb2xsZWN0aW9uLXNsdWdcIjtcbmltcG9ydCB7XG4gIGFzc2VydEFsbFNjaGVtYUZpZWxkcyxcbiAgZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWdcbn0gZnJvbSBcIi4vdXRpbHMvY29sbGVjdGlvbi1zY2hlbWFcIjtcbmltcG9ydCB7IGdldENvbGxlY3Rpb25GaWVsZHMgfSBmcm9tIFwiLi91dGlscy90cmFuc2Zvcm0tc2NoZW1hLWZpZWxkcy10by1wYXlsb2FkXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFNlc3Npb25zQ29sbGVjdGlvbih7XG4gIGluY29taW5nQ29sbGVjdGlvbnMsXG4gIHBsdWdpbk9wdGlvbnMsXG4gIHJlc29sdmVkU2NoZW1hc1xufTogQnVpbGRDb2xsZWN0aW9uUHJvcHMpOiBDb2xsZWN0aW9uQ29uZmlnIHtcbiAgY29uc3Qgc2Vzc2lvblNsdWcgPSBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhcbiAgICByZXNvbHZlZFNjaGVtYXMsXG4gICAgYmFNb2RlbEtleS5zZXNzaW9uXG4gICk7XG4gIGNvbnN0IHNlc3Npb25TY2hlbWEgPSByZXNvbHZlZFNjaGVtYXNbYmFNb2RlbEtleS5zZXNzaW9uXTtcblxuICBjb25zdCBleGlzdGluZ1Nlc3Npb25Db2xsZWN0aW9uID0gaW5jb21pbmdDb2xsZWN0aW9ucy5maW5kKFxuICAgIChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IHNlc3Npb25TbHVnXG4gICkgYXMgQ29sbGVjdGlvbkNvbmZpZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdCBmaWVsZE92ZXJyaWRlczogRmllbGRPdmVycmlkZXM8a2V5b2YgU2Vzc2lvbj4gPSB7XG4gICAgdXNlcklkOiAoKSA9PiAoe1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHVzZXIgdGhhdCB0aGUgc2Vzc2lvbiBiZWxvbmdzIHRvXCJcbiAgICAgIH0sXG4gICAgICByZWxhdGlvblRvOiBnZXREZWZhdWx0Q29sbGVjdGlvblNsdWcoe1xuICAgICAgICBtb2RlbEtleTogYmFNb2RlbEtleS51c2VyLFxuICAgICAgICBwbHVnaW5PcHRpb25zXG4gICAgICB9KVxuICAgIH0pLFxuICAgIHRva2VuOiAoKSA9PiAoe1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICBhZG1pbjogeyByZWFkT25seTogdHJ1ZSwgZGVzY3JpcHRpb246IFwiVGhlIHVuaXF1ZSBzZXNzaW9uIHRva2VuXCIgfVxuICAgIH0pLFxuICAgIGV4cGlyZXNBdDogKCkgPT4gKHtcbiAgICAgIHNhdmVUb0pXVDogdHJ1ZSxcbiAgICAgIGFkbWluOiB7XG4gICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBzZXNzaW9uIHdpbGwgZXhwaXJlXCJcbiAgICAgIH1cbiAgICB9KSxcbiAgICBpcEFkZHJlc3M6ICgpID0+ICh7XG4gICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICBhZG1pbjogeyByZWFkT25seTogdHJ1ZSwgZGVzY3JpcHRpb246IFwiVGhlIElQIGFkZHJlc3Mgb2YgdGhlIGRldmljZVwiIH1cbiAgICB9KSxcbiAgICB1c2VyQWdlbnQ6ICgpID0+ICh7XG4gICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHVzZXIgYWdlbnQgaW5mb3JtYXRpb24gb2YgdGhlIGRldmljZVwiXG4gICAgICB9XG4gICAgfSksXG4gICAgaW1wZXJzb25hdGVkQnk6ICgpID0+ICh7XG4gICAgICB0eXBlOiBcInJlbGF0aW9uc2hpcFwiLFxuICAgICAgcmVsYXRpb25UbzogcGx1Z2luT3B0aW9ucy51c2Vycz8uc2x1ZyA/PyBiYXNlU2x1Z3MudXNlcnMsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFkbWluIHdobyBpcyBpbXBlcnNvbmF0aW5nIHRoaXMgc2Vzc2lvblwiXG4gICAgICB9XG4gICAgfSksXG4gICAgYWN0aXZlT3JnYW5pemF0aW9uSWQ6ICgpID0+ICh7XG4gICAgICBuYW1lOiBcImFjdGl2ZU9yZ2FuaXphdGlvblwiLFxuICAgICAgdHlwZTogXCJyZWxhdGlvbnNoaXBcIixcbiAgICAgIHNhdmVUb0pXVDogdHJ1ZSxcbiAgICAgIHJlbGF0aW9uVG86IGdldERlZmF1bHRDb2xsZWN0aW9uU2x1Zyh7XG4gICAgICAgIG1vZGVsS2V5OiBiYU1vZGVsS2V5Lm9yZ2FuaXphdGlvbixcbiAgICAgICAgcGx1Z2luT3B0aW9uc1xuICAgICAgfSksXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGN1cnJlbnRseSBhY3RpdmUgb3JnYW5pemF0aW9uIGZvciB0aGUgc2Vzc2lvblwiXG4gICAgICB9XG4gICAgfSksXG4gICAgYWN0aXZlVGVhbUlkOiAoKSA9PiAoe1xuICAgICAgbmFtZTogXCJhY3RpdmVUZWFtXCIsXG4gICAgICB0eXBlOiBcInJlbGF0aW9uc2hpcFwiLFxuICAgICAgc2F2ZVRvSldUOiB0cnVlLFxuICAgICAgcmVsYXRpb25UbzogZ2V0RGVmYXVsdENvbGxlY3Rpb25TbHVnKHtcbiAgICAgICAgbW9kZWxLZXk6IGJhTW9kZWxLZXkudGVhbSxcbiAgICAgICAgcGx1Z2luT3B0aW9uc1xuICAgICAgfSksXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGN1cnJlbnRseSBhY3RpdmUgdGVhbSBmb3IgdGhlIHNlc3Npb25cIlxuICAgICAgfVxuICAgIH0pXG4gIH07XG5cbiAgY29uc3Qgc2Vzc2lvbkZpZWxkUnVsZXM6IEZpZWxkUnVsZVtdID0gW1xuICAgIHtcbiAgICAgIGNvbmRpdGlvbjogKGZpZWxkKSA9PlxuICAgICAgICBmaWVsZC5maWVsZE5hbWUgPT09IFwidXBkYXRlZEF0XCIgfHwgZmllbGQuZmllbGROYW1lID09PSBcImNyZWF0ZWRBdFwiLFxuICAgICAgdHJhbnNmb3JtOiAoZmllbGQpID0+ICh7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICBzYXZlVG9KV1Q6IGZhbHNlLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIGRpc2FibGVCdWxrRWRpdDogdHJ1ZSxcbiAgICAgICAgICBoaWRkZW46IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgaW5kZXg6IHRydWUsXG4gICAgICAgIGxhYmVsOiAoeyB0IH06IGFueSkgPT4gdChcImdlbmVyYWw6dXBkYXRlZEF0XCIpXG4gICAgICB9KVxuICAgIH1cbiAgXTtcblxuICBjb25zdCBjb2xsZWN0aW9uRmllbGRzID0gZ2V0Q29sbGVjdGlvbkZpZWxkcyh7XG4gICAgc2NoZW1hOiBzZXNzaW9uU2NoZW1hLFxuICAgIGZpZWxkUnVsZXM6IHNlc3Npb25GaWVsZFJ1bGVzLFxuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmaWVsZE92ZXJyaWRlc1xuICB9KTtcblxuICBsZXQgc2Vzc2lvbkNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcgPSB7XG4gICAgLi4uZXhpc3RpbmdTZXNzaW9uQ29sbGVjdGlvbixcbiAgICBzbHVnOiBzZXNzaW9uU2x1ZyxcbiAgICBhZG1pbjoge1xuICAgICAgaGlkZGVuOiBwbHVnaW5PcHRpb25zLnNlc3Npb25zPy5oaWRkZW4sXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJTZXNzaW9ucyBhcmUgYWN0aXZlIHNlc3Npb25zIGZvciB1c2Vycy4gVGhleSBhcmUgdXNlZCB0byBhdXRoZW50aWNhdGUgdXNlcnMgd2l0aCBhIHNlc3Npb24gdG9rZW5cIixcbiAgICAgIGdyb3VwOiBwbHVnaW5PcHRpb25zPy5jb2xsZWN0aW9uQWRtaW5Hcm91cCA/PyBcIkF1dGhcIixcbiAgICAgIC4uLmV4aXN0aW5nU2Vzc2lvbkNvbGxlY3Rpb24/LmFkbWluXG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIC4uLmdldEFkbWluQWNjZXNzKHBsdWdpbk9wdGlvbnMpLFxuICAgICAgLi4uKGV4aXN0aW5nU2Vzc2lvbkNvbGxlY3Rpb24/LmFjY2VzcyA/PyB7fSlcbiAgICB9LFxuICAgIGN1c3RvbToge1xuICAgICAgLi4uKGV4aXN0aW5nU2Vzc2lvbkNvbGxlY3Rpb24/LmN1c3RvbSA/PyB7fSksXG4gICAgICBiZXR0ZXJBdXRoTW9kZWxLZXk6IGJhTW9kZWxLZXkuc2Vzc2lvblxuICAgIH0sXG4gICAgZmllbGRzOiBbXG4gICAgICAuLi4oZXhpc3RpbmdTZXNzaW9uQ29sbGVjdGlvbj8uZmllbGRzID8/IFtdKSxcbiAgICAgIC4uLihjb2xsZWN0aW9uRmllbGRzID8/IFtdKVxuICAgIF1cbiAgfTtcblxuICBpZiAodHlwZW9mIHBsdWdpbk9wdGlvbnMuc2Vzc2lvbnM/LmNvbGxlY3Rpb25PdmVycmlkZXMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHNlc3Npb25Db2xsZWN0aW9uID0gcGx1Z2luT3B0aW9ucy5zZXNzaW9ucy5jb2xsZWN0aW9uT3ZlcnJpZGVzKHtcbiAgICAgIGNvbGxlY3Rpb246IHNlc3Npb25Db2xsZWN0aW9uXG4gICAgfSk7XG4gIH1cblxuICBhc3NlcnRBbGxTY2hlbWFGaWVsZHMoc2Vzc2lvbkNvbGxlY3Rpb24sIHNlc3Npb25TY2hlbWEpO1xuXG4gIHJldHVybiBzZXNzaW9uQ29sbGVjdGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJiYU1vZGVsS2V5IiwiYmFzZVNsdWdzIiwiZ2V0QWRtaW5BY2Nlc3MiLCJnZXREZWZhdWx0Q29sbGVjdGlvblNsdWciLCJhc3NlcnRBbGxTY2hlbWFGaWVsZHMiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsImdldENvbGxlY3Rpb25GaWVsZHMiLCJidWlsZFNlc3Npb25zQ29sbGVjdGlvbiIsImluY29taW5nQ29sbGVjdGlvbnMiLCJwbHVnaW5PcHRpb25zIiwicmVzb2x2ZWRTY2hlbWFzIiwic2Vzc2lvblNsdWciLCJzZXNzaW9uIiwic2Vzc2lvblNjaGVtYSIsImV4aXN0aW5nU2Vzc2lvbkNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbGVjdGlvbiIsInNsdWciLCJmaWVsZE92ZXJyaWRlcyIsInVzZXJJZCIsImluZGV4Iiwic2F2ZVRvSldUIiwiYWRtaW4iLCJyZWFkT25seSIsImRlc2NyaXB0aW9uIiwicmVsYXRpb25UbyIsIm1vZGVsS2V5IiwidXNlciIsInRva2VuIiwiZXhwaXJlc0F0IiwiaXBBZGRyZXNzIiwidXNlckFnZW50IiwiaW1wZXJzb25hdGVkQnkiLCJ0eXBlIiwidXNlcnMiLCJyZXF1aXJlZCIsImFjdGl2ZU9yZ2FuaXphdGlvbklkIiwibmFtZSIsIm9yZ2FuaXphdGlvbiIsImFjdGl2ZVRlYW1JZCIsInRlYW0iLCJzZXNzaW9uRmllbGRSdWxlcyIsImNvbmRpdGlvbiIsImZpZWxkIiwiZmllbGROYW1lIiwidHJhbnNmb3JtIiwiZGlzYWJsZUJ1bGtFZGl0IiwiaGlkZGVuIiwibGFiZWwiLCJ0IiwiY29sbGVjdGlvbkZpZWxkcyIsInNjaGVtYSIsImZpZWxkUnVsZXMiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsInNlc3Npb25Db2xsZWN0aW9uIiwic2Vzc2lvbnMiLCJncm91cCIsImNvbGxlY3Rpb25BZG1pbkdyb3VwIiwiYWNjZXNzIiwiY3VzdG9tIiwiYmV0dGVyQXV0aE1vZGVsS2V5IiwiZmllbGRzIiwiY29sbGVjdGlvbk92ZXJyaWRlcyJdLCJtYXBwaW5ncyI6IkFBT0EsU0FBU0EsVUFBVSxFQUFFQyxTQUFTLFFBQVEsa0JBQWtCO0FBQ3hELFNBQVNDLGNBQWMsUUFBUSxpQ0FBaUM7QUFDaEUsU0FBU0Msd0JBQXdCLFFBQVEsb0NBQW9DO0FBQzdFLFNBQ0VDLHFCQUFxQixFQUNyQkMsdUJBQXVCLFFBQ2xCLDRCQUE0QjtBQUNuQyxTQUFTQyxtQkFBbUIsUUFBUSw2Q0FBNkM7QUFFakYsT0FBTyxTQUFTQyx3QkFBd0IsRUFDdENDLG1CQUFtQixFQUNuQkMsYUFBYSxFQUNiQyxlQUFlLEVBQ007SUFDckIsTUFBTUMsY0FBY04sd0JBQ2xCSyxpQkFDQVYsV0FBV1ksT0FBTztJQUVwQixNQUFNQyxnQkFBZ0JILGVBQWUsQ0FBQ1YsV0FBV1ksT0FBTyxDQUFDO0lBRXpELE1BQU1FLDRCQUE0Qk4sb0JBQW9CTyxJQUFJLENBQ3hELENBQUNDLGFBQWVBLFdBQVdDLElBQUksS0FBS047SUFHdEMsTUFBTU8saUJBQWdEO1FBQ3BEQyxRQUFRLElBQU8sQ0FBQTtnQkFDYkMsT0FBTztnQkFDUEMs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
@@ -0,0 +1,4 @@
1
+ import type { CollectionConfig } from "payload";
2
+ import type { BuildCollectionProps } from "@/better-auth/plugin/types";
3
+ export declare function buildSsoProvidersCollection({ incomingCollections, pluginOptions, resolvedSchemas }: BuildCollectionProps): CollectionConfig;
4
+ //# sourceMappingURL=sso-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso-providers.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/build-collections/sso-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,4BAA4B,CAAC;AAUpC,wBAAgB,2BAA2B,CAAC,EAC1C,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,EAAE,oBAAoB,GAAG,gBAAgB,CAuFzC"}