@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,333 @@
1
+ import { checkPluginExists } from "../../../helpers/check-plugin-exists";
2
+ import { baModelFieldKeys, baModelKey, defaults, supportedBAPluginIds } from "../../../constants";
3
+ import { getAllRoleOptions } from "../../../helpers/get-all-roles";
4
+ import { assertAllSchemaFields, getSchemaCollectionSlug, getSchemaFieldName } from "../utils/collection-schema";
5
+ import { hasAdminRoles, isAdminOrCurrentUserUpdateWithAllowedFields, isAdminOrCurrentUserWithRoles, isAdminWithRoles } from "../utils/payload-access";
6
+ import { getCollectionFields } from "../utils/transform-schema-fields-to-payload";
7
+ import { betterAuthStrategy } from "./better-auth-strategy";
8
+ import { getGenerateInviteUrlEndpoint, getRefreshTokenEndpoint, getSendInviteUrlEndpoint, getSetAdminRoleEndpoint } from "./endpoints";
9
+ import { getAfterLoginHook, getAfterLogoutHook, getBeforeDeleteHook, getBeforeLoginHook, getOnVerifiedChangeHook, getSyncAccountHook } from "./hooks";
10
+ export function buildUsersCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
11
+ const userSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.user);
12
+ const passkeySlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.passkey);
13
+ const sessionSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.session);
14
+ const accountSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.account);
15
+ const passkeyUserIdFieldName = getSchemaFieldName(resolvedSchemas, baModelKey.passkey, baModelFieldKeys.passkey.userId);
16
+ const userSchema = resolvedSchemas[baModelKey.user];
17
+ const adminRoles = pluginOptions.users?.adminRoles ?? [
18
+ defaults.adminRole
19
+ ];
20
+ const allRoleOptions = getAllRoleOptions(pluginOptions);
21
+ const hasUsernamePlugin = checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.username);
22
+ const existingUserCollection = incomingCollections.find((collection)=>collection.slug === userSlug);
23
+ // TODO: REVIEW THIS
24
+ const allowedFields = pluginOptions.users?.allowedFields ?? [
25
+ "name"
26
+ ];
27
+ const userFieldRules = [
28
+ {
29
+ condition: (field)=>field.fieldName === "createdAt" || field.fieldName === "updatedAt",
30
+ transform: (field)=>({
31
+ ...field,
32
+ saveToJWT: false,
33
+ admin: {
34
+ disableBulkEdit: true,
35
+ hidden: true
36
+ },
37
+ index: true,
38
+ label: ({ t })=>field.fieldName === "createdAt" ? t("general:createdAt") : t("general:updatedAt")
39
+ })
40
+ }
41
+ ];
42
+ const fieldOverrides = {
43
+ role: (field)=>({
44
+ type: "select",
45
+ hasMany: true,
46
+ options: allRoleOptions,
47
+ defaultValue: field.defaultValue ?? defaults.userRole,
48
+ saveToJWT: true,
49
+ admin: {
50
+ description: "The role/ roles of the user"
51
+ }
52
+ }),
53
+ email: ()=>({
54
+ index: true,
55
+ admin: {
56
+ description: "The email of the user"
57
+ }
58
+ }),
59
+ emailVerified: (field)=>({
60
+ defaultValue: field.defaultValue ?? false,
61
+ saveToJWT: true,
62
+ admin: {
63
+ description: "Whether the email of the user has been verified"
64
+ }
65
+ }),
66
+ name: ()=>({
67
+ saveToJWT: true,
68
+ admin: {
69
+ description: "Users chosen display name"
70
+ }
71
+ }),
72
+ image: ()=>({
73
+ saveToJWT: false,
74
+ admin: {
75
+ description: "The image of the user"
76
+ }
77
+ }),
78
+ twoFactorEnabled: ()=>({
79
+ defaultValue: false,
80
+ admin: {
81
+ description: "Whether the user has two factor authentication enabled",
82
+ components: {
83
+ Field: {
84
+ path: "payload-auth/better-auth/plugin/client#TwoFactorAuth"
85
+ }
86
+ }
87
+ }
88
+ }),
89
+ username: ()=>({
90
+ admin: {
91
+ description: "The username of the user"
92
+ }
93
+ }),
94
+ displayUsername: ()=>({
95
+ admin: {
96
+ description: "The display username of the user"
97
+ }
98
+ }),
99
+ isAnonymous: ()=>({
100
+ defaultValue: false,
101
+ admin: {
102
+ description: "Whether the user is anonymous."
103
+ }
104
+ }),
105
+ phoneNumber: ()=>({
106
+ admin: {
107
+ description: "The phone number of the user"
108
+ }
109
+ }),
110
+ phoneNumberVerified: ()=>({
111
+ defaultValue: false,
112
+ admin: {
113
+ description: "Whether the phone number of the user has been verified"
114
+ }
115
+ }),
116
+ banned: ()=>({
117
+ defaultValue: false,
118
+ admin: {
119
+ description: "Whether the user is banned from the platform"
120
+ }
121
+ }),
122
+ banReason: ()=>({
123
+ admin: {
124
+ description: "The reason for the ban"
125
+ }
126
+ }),
127
+ banExpires: ()=>({
128
+ admin: {
129
+ description: "The date and time when the ban will expire"
130
+ }
131
+ }),
132
+ normalizedEmail: ()=>({
133
+ admin: {
134
+ readOnly: true,
135
+ description: "The normalized email of the user"
136
+ }
137
+ }),
138
+ stripeCustomerId: ()=>({
139
+ admin: {
140
+ readOnly: true,
141
+ description: "The Stripe customer ID of the user"
142
+ }
143
+ })
144
+ };
145
+ const collectionFields = getCollectionFields({
146
+ schema: userSchema,
147
+ fieldRules: userFieldRules,
148
+ additionalProperties: fieldOverrides
149
+ });
150
+ const joinFields = [
151
+ // Better Auth’s internal adapter renames `account` => `accounts` via
152
+ // `const { account: accounts, ...user } = result`
153
+ // @see https://github.com/better-auth/better-auth/blob/28654734e13dc0bb22d5623722e97b9a8dbc1b37/packages/better-auth/src/db/internal-adapter.ts#L760-L761
154
+ // The join field name must therefore stay exactly `account` to be picked up.
155
+ {
156
+ label: "Accounts",
157
+ name: baModelKey.account,
158
+ type: "join",
159
+ hasMany: true,
160
+ collection: accountSlug,
161
+ on: getSchemaFieldName(resolvedSchemas, baModelKey.account, baModelFieldKeys.account.userId),
162
+ maxDepth: 1,
163
+ saveToJWT: false
164
+ },
165
+ // Sessions use the same pattern; keep the singular model key for the join name.
166
+ {
167
+ label: "Sessions",
168
+ name: baModelKey.session,
169
+ type: "join",
170
+ hasMany: true,
171
+ collection: sessionSlug,
172
+ on: getSchemaFieldName(resolvedSchemas, baModelKey.session, baModelFieldKeys.session.userId),
173
+ maxDepth: 1,
174
+ saveToJWT: false
175
+ }
176
+ ];
177
+ let usersCollection = {
178
+ ...existingUserCollection,
179
+ slug: userSlug,
180
+ admin: {
181
+ defaultColumns: [
182
+ "email"
183
+ ],
184
+ useAsTitle: "email",
185
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
186
+ ...existingUserCollection?.admin,
187
+ hidden: pluginOptions.users?.hidden ?? false,
188
+ components: {
189
+ Description: {
190
+ path: "payload-auth/better-auth/plugin/client#AdminInviteButton",
191
+ clientProps: {
192
+ roles: allRoleOptions
193
+ }
194
+ },
195
+ views: {
196
+ edit: {
197
+ adminButtons: {
198
+ tab: {
199
+ Component: {
200
+ path: "payload-auth/better-auth/plugin/client#AdminButtons",
201
+ clientProps: {
202
+ userSlug,
203
+ baseURL: pluginOptions.betterAuthOptions?.baseURL,
204
+ basePath: pluginOptions.betterAuthOptions?.basePath
205
+ }
206
+ },
207
+ condition: ()=>{
208
+ // Only show the impersonate button if the admin plugin is enabled
209
+ return checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.admin);
210
+ }
211
+ }
212
+ }
213
+ }
214
+ }
215
+ }
216
+ },
217
+ access: {
218
+ admin: hasAdminRoles(adminRoles),
219
+ read: isAdminOrCurrentUserWithRoles({
220
+ adminRoles,
221
+ idField: "id"
222
+ }),
223
+ create: isAdminWithRoles({
224
+ adminRoles
225
+ }),
226
+ delete: isAdminOrCurrentUserWithRoles({
227
+ adminRoles,
228
+ idField: "id"
229
+ }),
230
+ update: isAdminOrCurrentUserUpdateWithAllowedFields({
231
+ allowedFields,
232
+ adminRoles,
233
+ userSlug
234
+ }),
235
+ ...existingUserCollection?.access ?? {}
236
+ },
237
+ custom: {
238
+ ...existingUserCollection?.custom ?? {},
239
+ betterAuthModelKey: baModelKey.user
240
+ },
241
+ endpoints: [
242
+ ...existingUserCollection?.endpoints ? existingUserCollection.endpoints : [],
243
+ getRefreshTokenEndpoint(userSlug),
244
+ getSetAdminRoleEndpoint(pluginOptions, userSlug),
245
+ getGenerateInviteUrlEndpoint({
246
+ roles: allRoleOptions,
247
+ pluginOptions
248
+ }),
249
+ getSendInviteUrlEndpoint(pluginOptions)
250
+ ],
251
+ hooks: {
252
+ beforeChange: [
253
+ ...existingUserCollection?.hooks?.beforeChange ?? [],
254
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
255
+ getOnVerifiedChangeHook()
256
+ ]
257
+ ],
258
+ afterChange: [
259
+ ...existingUserCollection?.hooks?.afterChange ?? [],
260
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
261
+ getSyncAccountHook()
262
+ ]
263
+ ],
264
+ beforeLogin: [
265
+ ...existingUserCollection?.hooks?.beforeLogin ?? [],
266
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
267
+ getBeforeLoginHook(pluginOptions.betterAuthOptions ?? {})
268
+ ]
269
+ ],
270
+ afterLogin: [
271
+ ...existingUserCollection?.hooks?.afterLogin ?? [],
272
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
273
+ getAfterLoginHook()
274
+ ]
275
+ ],
276
+ afterLogout: [
277
+ ...existingUserCollection?.hooks?.afterLogout ?? [],
278
+ getAfterLogoutHook()
279
+ ],
280
+ beforeDelete: [
281
+ ...existingUserCollection?.hooks?.beforeDelete ?? [],
282
+ getBeforeDeleteHook()
283
+ ]
284
+ },
285
+ auth: {
286
+ ...existingUserCollection && typeof existingUserCollection.auth === "object" ? existingUserCollection.auth : {},
287
+ disableLocalStrategy: pluginOptions.disableDefaultPayloadAuth ? true : undefined,
288
+ ...hasUsernamePlugin && {
289
+ loginWithUsername: {
290
+ allowEmailLogin: true,
291
+ requireEmail: true,
292
+ requireUsername: false
293
+ }
294
+ },
295
+ strategies: [
296
+ betterAuthStrategy(userSlug)
297
+ ]
298
+ },
299
+ fields: [
300
+ ...existingUserCollection?.fields ?? [],
301
+ ...collectionFields ?? [],
302
+ ...joinFields,
303
+ ...checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.passkey) ? [
304
+ {
305
+ name: "managePasskeys",
306
+ type: "ui",
307
+ admin: {
308
+ disableBulkEdit: true,
309
+ components: {
310
+ Field: {
311
+ path: "payload-auth/better-auth/plugin/rsc#Passkeys",
312
+ serverProps: {
313
+ passkeyUserIdFieldName,
314
+ passkeySlug,
315
+ pluginOptions
316
+ }
317
+ }
318
+ }
319
+ }
320
+ }
321
+ ] : []
322
+ ]
323
+ };
324
+ if (pluginOptions.users?.collectionOverrides) {
325
+ usersCollection = pluginOptions.users.collectionOverrides({
326
+ collection: usersCollection
327
+ });
328
+ }
329
+ assertAllSchemaFields(usersCollection, userSchema);
330
+ return usersCollection;
331
+ }
332
+
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gXCJAL2JldHRlci1hdXRoL2dlbmVyYXRlZC10eXBlc1wiO1xuaW1wb3J0IHsgY2hlY2tQbHVnaW5FeGlzdHMgfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9jaGVjay1wbHVnaW4tZXhpc3RzXCI7XG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcsIEpvaW5GaWVsZCwgVUlGaWVsZCB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQge1xuICBiYU1vZGVsRmllbGRLZXlzLFxuICBiYU1vZGVsS2V5LFxuICBkZWZhdWx0cyxcbiAgc3VwcG9ydGVkQkFQbHVnaW5JZHNcbn0gZnJvbSBcIi4uLy4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0QWxsUm9sZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vaGVscGVycy9nZXQtYWxsLXJvbGVzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJ1aWxkQ29sbGVjdGlvblByb3BzLFxuICBGaWVsZE92ZXJyaWRlcyxcbiAgRmllbGRSdWxlXG59IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0QWxsU2NoZW1hRmllbGRzLFxuICBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyxcbiAgZ2V0U2NoZW1hRmllbGROYW1lXG59IGZyb20gXCIuLi91dGlscy9jb2xsZWN0aW9uLXNjaGVtYVwiO1xuaW1wb3J0IHtcbiAgaGFzQWRtaW5Sb2xlcyxcbiAgaXNBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVXaXRoQWxsb3dlZEZpZWxkcyxcbiAgaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMsXG4gIGlzQWRtaW5XaXRoUm9sZXNcbn0gZnJvbSBcIi4uL3V0aWxzL3BheWxvYWQtYWNjZXNzXCI7XG5pbXBvcnQgeyBnZXRDb2xsZWN0aW9uRmllbGRzIH0gZnJvbSBcIi4uL3V0aWxzL3RyYW5zZm9ybS1zY2hlbWEtZmllbGRzLXRvLXBheWxvYWRcIjtcbmltcG9ydCB7IGJldHRlckF1dGhTdHJhdGVneSB9IGZyb20gXCIuL2JldHRlci1hdXRoLXN0cmF0ZWd5XCI7XG5pbXBvcnQge1xuICBnZXRHZW5lcmF0ZUludml0ZVVybEVuZHBvaW50LFxuICBnZXRSZWZyZXNoVG9rZW5FbmRwb2ludCxcbiAgZ2V0U2VuZEludml0ZVVybEVuZHBvaW50LFxuICBnZXRTZXRBZG1pblJvbGVFbmRwb2ludFxufSBmcm9tIFwiLi9lbmRwb2ludHNcIjtcbmltcG9ydCB7XG4gIGdldEFmdGVyTG9naW5Ib29rLFxuICBnZXRBZnRlckxvZ291dEhvb2ssXG4gIGdldEJlZm9yZURlbGV0ZUhvb2ssXG4gIGdldEJlZm9yZUxvZ2luSG9vayxcbiAgZ2V0T25WZXJpZmllZENoYW5nZUhvb2ssXG4gIGdldFN5bmNBY2NvdW50SG9va1xufSBmcm9tIFwiLi9ob29rc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRVc2Vyc0NvbGxlY3Rpb24oe1xuICBpbmNvbWluZ0NvbGxlY3Rpb25zLFxuICBwbHVnaW5PcHRpb25zLFxuICByZXNvbHZlZFNjaGVtYXNcbn06IEJ1aWxkQ29sbGVjdGlvblByb3BzKTogQ29sbGVjdGlvbkNvbmZpZyB7XG4gIGNvbnN0IHVzZXJTbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcocmVzb2x2ZWRTY2hlbWFzLCBiYU1vZGVsS2V5LnVzZXIpO1xuICBjb25zdCBwYXNza2V5U2x1ZyA9IGdldFNjaGVtYUNvbGxlY3Rpb25TbHVnKFxuICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICBiYU1vZGVsS2V5LnBhc3NrZXlcbiAgKTtcbiAgY29uc3Qgc2Vzc2lvblNsdWcgPSBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhcbiAgICByZXNvbHZlZFNjaGVtYXMsXG4gICAgYmFNb2RlbEtleS5zZXNzaW9uXG4gICk7XG4gIGNvbnN0IGFjY291bnRTbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgIGJhTW9kZWxLZXkuYWNjb3VudFxuICApO1xuICBjb25zdCBwYXNza2V5VXNlcklkRmllbGROYW1lID0gZ2V0U2NoZW1hRmllbGROYW1lKFxuICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICBiYU1vZGVsS2V5LnBhc3NrZXksXG4gICAgYmFNb2RlbEZpZWxkS2V5cy5wYXNza2V5LnVzZXJJZFxuICApO1xuICBjb25zdCB1c2VyU2NoZW1hID0gcmVzb2x2ZWRTY2hlbWFzW2JhTW9kZWxLZXkudXNlcl07XG4gIGNvbnN0IGFkbWluUm9sZXMgPSBwbHVnaW5PcHRpb25zLnVzZXJzPy5hZG1pblJvbGVzID8/IFtkZWZhdWx0cy5hZG1pblJvbGVdO1xuICBjb25zdCBhbGxSb2xlT3B0aW9ucyA9IGdldEFsbFJvbGVPcHRpb25zKHBsdWdpbk9wdGlvbnMpO1xuICBjb25zdCBoYXNVc2VybmFtZVBsdWdpbiA9IGNoZWNrUGx1Z2luRXhpc3RzKFxuICAgIHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPz8ge30sXG4gICAgc3VwcG9ydGVkQkFQbHVnaW5JZHMudXNlcm5hbWVcbiAgKTtcbiAgY29uc3QgZXhpc3RpbmdVc2VyQ29sbGVjdGlvbiA9IGluY29taW5nQ29sbGVjdGlvbnMuZmluZChcbiAgICAoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSB1c2VyU2x1Z1xuICApIGFzIENvbGxlY3Rpb25Db25maWcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gVE9ETzogUkVWSUVXIFRISVNcbiAgY29uc3QgYWxsb3dlZEZpZWxkcyA9IHBsdWdpbk9wdGlvbnMudXNlcnM/LmFsbG93ZWRGaWVsZHMgPz8gW1wibmFtZVwiXTtcblxuICBjb25zdCB1c2VyRmllbGRSdWxlczogRmllbGRSdWxlW10gPSBbXG4gICAge1xuICAgICAgY29uZGl0aW9uOiAoZmllbGQpID0+XG4gICAgICAgIGZpZWxkLmZpZWxkTmFtZSA9PT0gXCJjcmVhdGVkQXRcIiB8fCBmaWVsZC5maWVsZE5hbWUgPT09IFwidXBkYXRlZEF0XCIsXG4gICAgICB0cmFuc2Zvcm06IChmaWVsZCkgPT4gKHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIHNhdmVUb0pXVDogZmFsc2UsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgZGlzYWJsZUJ1bGtFZGl0OiB0cnVlLFxuICAgICAgICAgIGhpZGRlbjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBpbmRleDogdHJ1ZSxcbiAgICAgICAgbGFiZWw6ICh7IHQgfTogYW55KSA9PlxuICAgICAgICAgIGZpZWxkLmZpZWxkTmFtZSA9PT0gXCJjcmVhdGVkQXRcIlxuICAgICAgICAgICAgPyB0KFwiZ2VuZXJhbDpjcmVhdGVkQXRcIilcbiAgICAgICAgICAgIDogdChcImdlbmVyYWw6dXBkYXRlZEF0XCIpXG4gICAgICB9KVxuICAgIH1cbiAgXTtcblxuICBjb25zdCBmaWVsZE92ZXJyaWRlczogRmllbGRPdmVycmlkZXM8a2V5b2YgVXNlcj4gPSB7XG4gICAgcm9sZTogKGZpZWxkKSA9PiAoe1xuICAgICAgdHlwZTogXCJzZWxlY3RcIixcbiAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICBvcHRpb25zOiBhbGxSb2xlT3B0aW9ucyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmllbGQuZGVmYXVsdFZhbHVlID8/IGRlZmF1bHRzLnVzZXJSb2xlLFxuICAgICAgc2F2ZVRvSldUOiB0cnVlLFxuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVGhlIHJvbGUvIHJvbGVzIG9mIHRoZSB1c2VyXCIgfVxuICAgIH0pLFxuICAgIGVtYWlsOiAoKSA9PiAoe1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgZW1haWwgb2YgdGhlIHVzZXJcIiB9XG4gICAgfSksXG4gICAgZW1haWxWZXJpZmllZDogKGZpZWxkKSA9PiAoe1xuICAgICAgZGVmYXVsdFZhbHVlOiBmaWVsZC5kZWZhdWx0VmFsdWUgPz8gZmFsc2UsXG4gICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSBlbWFpbCBvZiB0aGUgdXNlciBoYXMgYmVlbiB2ZXJpZmllZFwiIH1cbiAgICB9KSxcbiAgICBuYW1lOiAoKSA9PiAoe1xuICAgICAgc2F2ZVRvSldUOiB0cnVlLFxuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVXNlcnMgY2hvc2VuIGRpc3BsYXkgbmFtZVwiIH1cbiAgICB9KSxcbiAgICBpbWFnZTogKCkgPT4gKHtcbiAgICAgIHNhdmVUb0pXVDogZmFsc2UsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgaW1hZ2Ugb2YgdGhlIHVzZXJcIiB9XG4gICAgfSksXG4gICAgdHdvRmFjdG9yRW5hYmxlZDogKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSB1c2VyIGhhcyB0d28gZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGVuYWJsZWRcIixcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgIEZpZWxkOiB7XG4gICAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vY2xpZW50I1R3b0ZhY3RvckF1dGhcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pLFxuICAgIHVzZXJuYW1lOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVGhlIHVzZXJuYW1lIG9mIHRoZSB1c2VyXCIgfVxuICAgIH0pLFxuICAgIGRpc3BsYXlVc2VybmFtZTogKCkgPT4gKHtcbiAgICAgIGFkbWluOiB7IGRlc2NyaXB0aW9uOiBcIlRoZSBkaXNwbGF5IHVzZXJuYW1lIG9mIHRoZSB1c2VyXCIgfVxuICAgIH0pLFxuICAgIGlzQW5vbnltb3VzOiAoKSA9PiAoe1xuICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgIGFkbWluOiB7IGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdGhlIHVzZXIgaXMgYW5vbnltb3VzLlwiIH1cbiAgICB9KSxcbiAgICBwaG9uZU51bWJlcjogKCkgPT4gKHtcbiAgICAgIGFkbWluOiB7IGRlc2NyaXB0aW9uOiBcIlRoZSBwaG9uZSBudW1iZXIgb2YgdGhlIHVzZXJcIiB9XG4gICAgfSksXG4gICAgcGhvbmVOdW1iZXJWZXJpZmllZDogKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSBwaG9uZSBudW1iZXIgb2YgdGhlIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWRcIlxuICAgICAgfVxuICAgIH0pLFxuICAgIGJhbm5lZDogKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSB1c2VyIGlzIGJhbm5lZCBmcm9tIHRoZSBwbGF0Zm9ybVwiIH1cbiAgICB9KSxcbiAgICBiYW5SZWFzb246ICgpID0+ICh7XG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgcmVhc29uIGZvciB0aGUgYmFuXCIgfVxuICAgIH0pLFxuICAgIGJhbkV4cGlyZXM6ICgpID0+ICh7XG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBiYW4gd2lsbCBleHBpcmVcIiB9XG4gICAgfSksXG4gICAgbm9ybWFsaXplZEVtYWlsOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHtcbiAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBub3JtYWxpemVkIGVtYWlsIG9mIHRoZSB1c2VyXCJcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzdHJpcGVDdXN0b21lcklkOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHtcbiAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBTdHJpcGUgY3VzdG9tZXIgSUQgb2YgdGhlIHVzZXJcIlxuICAgICAgfVxuICAgIH0pXG4gIH07XG5cbiAgY29uc3QgY29sbGVjdGlvbkZpZWxkcyA9IGdldENvbGxlY3Rpb25GaWVsZHMoe1xuICAgIHNjaGVtYTogdXNlclNjaGVtYSxcbiAgICBmaWVsZFJ1bGVzOiB1c2VyRmllbGRSdWxlcyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmllbGRPdmVycmlkZXNcbiAgfSk7XG5cbiAgY29uc3Qgam9pbkZpZWxkczogSm9pbkZpZWxkW10gPSBbXG4gICAgLy8gQmV0dGVyIEF1dGjigJlzIGludGVybmFsIGFkYXB0ZXIgcmVuYW1lcyBgYWNjb3VudGAgPT4gYGFjY291bnRzYCB2aWFcbiAgICAvLyBgY29uc3QgeyBhY2NvdW50OiBhY2NvdW50cywgLi4udXNlciB9ID0gcmVzdWx0YFxuICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2JldHRlci1hdXRoL2JldHRlci1hdXRoL2Jsb2IvMjg2NTQ3MzRlMTNkYzBiYjIyZDU2MjM3MjJlOTdiOWE4ZGJjMWIzNy9wYWNrYWdlcy9iZXR0ZXItYXV0aC9zcmMvZGIvaW50ZXJuYWwtYWRhcHRlci50cyNMNzYwLUw3NjFcbiAgICAvLyBUaGUgam9pbiBmaWVsZCBuYW1lIG11c3QgdGhlcmVmb3JlIHN0YXkgZXhhY3RseSBgYWNjb3VudGAgdG8gYmUgcGlja2VkIHVwLlxuICAgIHtcbiAgICAgIGxhYmVsOiBcIkFjY291bnRzXCIsXG4gICAgICBuYW1lOiBiYU1vZGVsS2V5LmFjY291bnQsXG4gICAgICB0eXBlOiBcImpvaW5cIixcbiAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICBjb2xsZWN0aW9uOiBhY2NvdW50U2x1ZyxcbiAgICAgIG9uOiBnZXRTY2hlbWFGaWVsZE5hbWUoXG4gICAgICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICAgICAgYmFNb2RlbEtleS5hY2NvdW50LFxuICAgICAgICBiYU1vZGVsRmllbGRLZXlzLmFjY291bnQudXNlcklkXG4gICAgICApLFxuICAgICAgbWF4RGVwdGg6IDEsXG4gICAgICBzYXZlVG9KV1Q6IGZhbHNlXG4gICAgfSxcbiAgICAvLyBTZXNzaW9ucyB1c2UgdGhlIHNhbWUgcGF0dGVybjsga2VlcCB0aGUgc2luZ3VsYXIgbW9kZWwga2V5IGZvciB0aGUgam9pbiBuYW1lLlxuICAgIHtcbiAgICAgIGxhYmVsOiBcIlNlc3Npb25zXCIsXG4gICAgICBuYW1lOiBiYU1vZGVsS2V5LnNlc3Npb24sXG4gICAgICB0eXBlOiBcImpvaW5cIixcbiAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICBjb2xsZWN0aW9uOiBzZXNzaW9uU2x1ZyxcbiAgICAgIG9uOiBnZXRTY2hlbWFGaWVsZE5hbWUoXG4gICAgICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICAgICAgYmFNb2RlbEtleS5zZXNzaW9uLFxuICAgICAgICBiYU1vZGVsRmllbGRLZXlzLnNlc3Npb24udXNlcklkXG4gICAgICApLFxuICAgICAgbWF4RGVwdGg6IDEsXG4gICAgICBzYXZlVG9KV1Q6IGZhbHNlXG4gICAgfVxuICBdO1xuXG4gIGxldCB1c2Vyc0NvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcgPSB7XG4gICAgLi4uZXhpc3RpbmdVc2VyQ29sbGVjdGlvbixcbiAgICBzbHVnOiB1c2VyU2x1ZyxcbiAgICBhZG1pbjoge1xuICAgICAgZGVmYXVsdENvbHVtbnM6IFtcImVtYWlsXCJdLFxuICAgICAgdXNlQXNUaXRsZTogXCJlbWFpbFwiLFxuICAgICAgZ3JvdXA6IHBsdWdpbk9wdGlvbnM/LmNvbGxlY3Rpb25BZG1pbkdyb3VwID8/IFwiQXV0aFwiLFxuICAgICAgLi4uZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uYWRtaW4sXG4gICAgICBoaWRkZW46IHBsdWdpbk9wdGlvbnMudXNlcnM/LmhpZGRlbiA/PyBmYWxzZSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgRGVzY3JpcHRpb246IHtcbiAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vY2xpZW50I0FkbWluSW52aXRlQnV0dG9uXCIsXG4gICAgICAgICAgY2xpZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHJvbGVzOiBhbGxSb2xlT3B0aW9uc1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmlld3M6IHtcbiAgICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgICBhZG1pbkJ1dHRvbnM6IHtcbiAgICAgICAgICAgICAgdGFiOiB7XG4gICAgICAgICAgICAgICAgQ29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vY2xpZW50I0FkbWluQnV0dG9uc1wiLFxuICAgICAgICAgICAgICAgICAgY2xpZW50UHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlclNsdWcsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VVUkw6IHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnM/LmJhc2VVUkwsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VQYXRoOiBwbHVnaW5PcHRpb25zLmJldHRlckF1dGhPcHRpb25zPy5iYXNlUGF0aFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBPbmx5IHNob3cgdGhlIGltcGVyc29uYXRlIGJ1dHRvbiBpZiB0aGUgYWRtaW4gcGx1Z2luIGlzIGVuYWJsZWRcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjaGVja1BsdWdpbkV4aXN0cyhcbiAgICAgICAgICAgICAgICAgICAgcGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA/PyB7fSxcbiAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkQkFQbHVnaW5JZHMuYWRtaW5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIGFkbWluOiBoYXNBZG1pblJvbGVzKGFkbWluUm9sZXMpLFxuICAgICAgcmVhZDogaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMoeyBhZG1pblJvbGVzLCBpZEZpZWxkOiBcImlkXCIgfSksXG4gICAgICBjcmVhdGU6IGlzQWRtaW5XaXRoUm9sZXMoeyBhZG1pblJvbGVzIH0pLFxuICAgICAgZGVsZXRlOiBpc0FkbWluT3JDdXJyZW50VXNlcldpdGhSb2xlcyh7IGFkbWluUm9sZXMsIGlkRmllbGQ6IFwiaWRcIiB9KSxcbiAgICAgIHVwZGF0ZTogaXNBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVXaXRoQWxsb3dlZEZpZWxkcyh7XG4gICAgICAgIGFsbG93ZWRGaWVsZHMsXG4gICAgICAgIGFkbWluUm9sZXMsXG4gICAgICAgIHVzZXJTbHVnXG4gICAgICB9KSxcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5hY2Nlc3MgPz8ge30pXG4gICAgfSxcbiAgICBjdXN0b206IHtcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5jdXN0b20gPz8ge30pLFxuICAgICAgYmV0dGVyQXV0aE1vZGVsS2V5OiBiYU1vZGVsS2V5LnVzZXJcbiAgICB9LFxuICAgIGVuZHBvaW50czogW1xuICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/LmVuZHBvaW50c1xuICAgICAgICA/IGV4aXN0aW5nVXNlckNvbGxlY3Rpb24uZW5kcG9pbnRzXG4gICAgICAgIDogW10pLFxuICAgICAgZ2V0UmVmcmVzaFRva2VuRW5kcG9pbnQodXNlclNsdWcpLFxuICAgICAgZ2V0U2V0QWRtaW5Sb2xlRW5kcG9pbnQocGx1Z2luT3B0aW9ucywgdXNlclNsdWcpLFxuICAgICAgZ2V0R2VuZXJhdGVJbnZpdGVVcmxFbmRwb2ludCh7XG4gICAgICAgIHJvbGVzOiBhbGxSb2xlT3B0aW9ucyxcbiAgICAgICAgcGx1Z2luT3B0aW9uc1xuICAgICAgfSksXG4gICAgICBnZXRTZW5kSW52aXRlVXJsRW5kcG9pbnQocGx1Z2luT3B0aW9ucylcbiAgICBdLFxuICAgIGhvb2tzOiB7XG4gICAgICBiZWZvcmVDaGFuZ2U6IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5iZWZvcmVDaGFuZ2UgPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW2dldE9uVmVyaWZpZWRDaGFuZ2VIb29rKCldKVxuICAgICAgXSxcbiAgICAgIGFmdGVyQ2hhbmdlOiBbXG4gICAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5ob29rcz8uYWZ0ZXJDaGFuZ2UgPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW2dldFN5bmNBY2NvdW50SG9vaygpXSlcbiAgICAgIF0sXG4gICAgICBiZWZvcmVMb2dpbjogW1xuICAgICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uaG9va3M/LmJlZm9yZUxvZ2luID8/IFtdKSxcbiAgICAgICAgLi4uKHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aFxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IFtnZXRCZWZvcmVMb2dpbkhvb2socGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA/PyB7fSldKVxuICAgICAgXSxcbiAgICAgIGFmdGVyTG9naW46IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5hZnRlckxvZ2luID8/IFtdKSxcbiAgICAgICAgLi4uKHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aFxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IFtnZXRBZnRlckxvZ2luSG9vaygpXSlcbiAgICAgIF0sXG4gICAgICBhZnRlckxvZ291dDogW1xuICAgICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uaG9va3M/LmFmdGVyTG9nb3V0ID8/IFtdKSxcbiAgICAgICAgZ2V0QWZ0ZXJMb2dvdXRIb29rKClcbiAgICAgIF0sXG4gICAgICBiZWZvcmVEZWxldGU6IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5iZWZvcmVEZWxldGUgPz8gW10pLFxuICAgICAgICBnZXRCZWZvcmVEZWxldGVIb29rKClcbiAgICAgIF1cbiAgICB9LFxuICAgIGF1dGg6IHtcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uICYmXG4gICAgICB0eXBlb2YgZXhpc3RpbmdVc2VyQ29sbGVjdGlvbi5hdXRoID09PSBcIm9iamVjdFwiXG4gICAgICAgID8gZXhpc3RpbmdVc2VyQ29sbGVjdGlvbi5hdXRoXG4gICAgICAgIDoge30pLFxuICAgICAgZGlzYWJsZUxvY2FsU3RyYXRlZ3k6IHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAuLi4oaGFzVXNlcm5hbWVQbHVnaW4gJiYge1xuICAgICAgICBsb2dpbldpdGhVc2VybmFtZToge1xuICAgICAgICAgIGFsbG93RW1haWxMb2dpbjogdHJ1ZSxcbiAgICAgICAgICByZXF1aXJlRW1haWw6IHRydWUsXG4gICAgICAgICAgcmVxdWlyZVVzZXJuYW1lOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN0cmF0ZWdpZXM6IFtiZXR0ZXJBdXRoU3RyYXRlZ3kodXNlclNsdWcpXVxuICAgIH0sXG4gICAgZmllbGRzOiBbXG4gICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uZmllbGRzID8/IFtdKSxcbiAgICAgIC4uLihjb2xsZWN0aW9uRmllbGRzID8/IFtdKSxcbiAgICAgIC4uLmpvaW5GaWVsZHMsXG4gICAgICAuLi4oY2hlY2tQbHVnaW5FeGlzdHMoXG4gICAgICAgIHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPz8ge30sXG4gICAgICAgIHN1cHBvcnRlZEJBUGx1Z2luSWRzLnBhc3NrZXlcbiAgICAgIClcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwibWFuYWdlUGFzc2tleXNcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJ1aVwiIGFzIGNvbnN0LFxuICAgICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICAgIGRpc2FibGVCdWxrRWRpdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgICBGaWVsZDoge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vcnNjI1Bhc3NrZXlzXCIsXG4gICAgICAgICAgICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgcGFzc2tleVVzZXJJZEZpZWxkTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICBwYXNza2V5U2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gYXMgVUlGaWVsZFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSlcbiAgICBdXG4gIH07XG5cbiAgaWYgKHBsdWdpbk9wdGlvbnMudXNlcnM/LmNvbGxlY3Rpb25PdmVycmlkZXMpIHtcbiAgICB1c2Vyc0NvbGxlY3Rpb24gPSBwbHVnaW5PcHRpb25zLnVzZXJzLmNvbGxlY3Rpb25PdmVycmlkZXMoe1xuICAgICAgY29sbGVjdGlvbjogdXNlcnNDb2xsZWN0aW9uXG4gICAgfSk7XG4gIH1cblxuICBhc3NlcnRBbGxTY2hlbWFGaWVsZHModXNlcnNDb2xsZWN0aW9uLCB1c2VyU2NoZW1hKTtcblxuICByZXR1cm4gdXNlcnNDb2xsZWN0aW9uO1xufVxuIl0sIm5hbWVzIjpbImNoZWNrUGx1Z2luRXhpc3RzIiwiYmFNb2RlbEZpZWxkS2V5cyIsImJhTW9kZWxLZXkiLCJkZWZhdWx0cyIsInN1cHBvcnRlZEJBUGx1Z2luSWRzIiwiZ2V0QWxsUm9sZU9wdGlvbnMiLCJhc3NlcnRBbGxTY2hlbWFGaWVsZHMiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsImdldFNjaGVtYUZpZWxkTmFtZSIsImhhc0FkbWluUm9sZXMiLCJpc0FkbWluT3JDdXJyZW50VXNlclVwZGF0ZVdpdGhBbGxvd2VkRmllbGRzIiwiaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMiLCJpc0FkbWluV2l0aFJvbGVzIiwiZ2V0Q29sbGVjdGlvbkZpZWxkcyIsImJldHRlckF1dGhTdHJhdGVneSIsImdldEdlbmVyYXRlSW52aXRlVXJsRW5kcG9pbnQiLCJnZXRSZWZyZXNoVG9rZW5FbmRwb2ludCIsImdldFNlbmRJbnZpdGVVcmxFbmRwb2ludCIsImdldFNldEFkbWluUm9sZUVuZHBvaW50IiwiZ2V0QWZ0ZXJMb2dpbkhvb2siLCJnZXRBZnRlckxvZ291dEhvb2siLCJnZXRCZWZvcmVEZWxldGVIb29rIiwiZ2V0QmVmb3JlTG9naW5Ib29rIiwiZ2V0T25WZXJpZmllZENoYW5nZUhvb2siLCJnZXRTeW5jQWNjb3VudEhvb2siLCJidWlsZFVzZXJzQ29sbGVjdGlvbiIsImluY29taW5nQ29sbGVjdGlvbnMiLCJwbHVnaW5PcHRpb25zIiwicmVzb2x2ZWRTY2hlbWFzIiwidXNlclNsdWciLCJ1c2VyIiwicGFzc2tleVNsdWciLCJwYXNza2V5Iiwic2Vzc2lvblNsdWciLCJzZXNzaW9uIiwiYWNjb3VudFNsdWciLCJhY2NvdW50IiwicGFzc2tleVVzZXJJZEZpZWxkTmFtZSIsInVzZXJJZCIsInVzZXJTY2hlbWEiLCJhZG1pblJvbGVzIiwidXNlcnMiLCJhZG1pblJvbGUiLCJhbGxSb2xlT3B0aW9ucyIsImhhc1VzZXJuYW1lUGx1Z2luIiwiYmV0dGVyQXV0aE9wdGlvbnMiLCJ1c2VybmFtZSIsImV4aXN0aW5nVXNlckNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbGVjdGlvbiIsInNsdWciLCJhbGxvd2VkRmllbGRzIiwidXNlckZpZWxkUnVsZXMiLCJjb25kaXRpb24iLCJmaWVsZCIsImZpZWxkTmFtZSIsInRyYW5zZm9ybSIsInNhdmVUb0pXVCIsImFkbWluIiwiZGlzYWJsZUJ1bGtFZGl0IiwiaGlkZGVuIiwiaW5kZXgiLCJsYWJlbCIsInQiLCJmaWVsZE92ZXJyaWRlcyIsInJvbGUiLCJ0eXBlIiwiaGFzTWFueSIsIm9wdGlvbnMiLCJkZWZhdWx0VmFsdWUiLCJ1c2VyUm9sZSIsImRlc2NyaXB0aW9uIiwiZW1haWwiLCJlbWFpbFZlcmlmaWVkIiwibmFtZSIsImltYWdlIiwidHdvRmFjdG9yRW5hYmxlZCIsImNvbXBvbmVudHMiLCJGaWVsZCIsInBhdGgiLCJkaXNwbGF5VXNlcm5hbWUiLCJpc0Fub255bW91cyIsInBob25lTnVtYmVyIiwicGhvbmVOdW1iZXJWZXJpZmllZCIsImJhbm5lZCIsImJhblJlYXNvbiIsImJhbkV4cGlyZXMiLCJub3JtYWxpemVkRW1haWwiLCJyZWFkT25seSIsInN0cmlwZUN1c3RvbWVySWQiLCJjb2xsZWN0aW9uRmllbGRzIiwic2NoZW1hIiwiZmllbGRSdWxlcyIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiam9pbkZpZWxkcyIsIm9uIiwibWF4RGVwdGgiLCJ1c2Vyc0NvbGxlY3Rpb24iLCJkZWZhdWx0Q29sdW1ucyIsInVzZUFzVGl0bGUiLCJncm91cCIsImNvbGxlY3Rpb25BZG1pbkdyb3VwIiwiRGVzY3JpcHRpb24iLCJjbGllbnRQcm9wcyIsInJvbGVzIiwidmlld3MiLCJlZGl0IiwiYWRtaW5CdXR0b25zIiwidGFiIiwiQ29tcG9uZW50IiwiYmFzZVVSTCIsImJhc2VQYXRoIiwiYWNjZXNzIiwicmVhZCIsImlkRmllbGQiLCJjcmVhdGUiLCJkZWxldGUiLCJ1cGRhdGUiLCJjdXN0b20iLCJiZXR0ZXJBdXRoTW9kZWxLZXkiLCJlbmRwb2ludHMiLCJob29rcyIsImJlZm9yZUNoYW5nZSIsImRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGgiLCJhZnRlckNoYW5nZSIsImJlZm9yZUxvZ2luIiwiYWZ0ZXJMb2dpbiIsImFmdGVyTG9nb3V0IiwiYmVmb3JlRGVsZXRlIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwidW5kZWZpbmVkIiwibG9naW5XaXRoVXNlcm5hbWUiLCJhbGxvd0VtYWlsTG9naW4iLCJyZXF1aXJlRW1haWwiLCJyZXF1aXJlVXNlcm5hbWUiLCJzdHJhdGVnaWVzIiwiZmllbGRzIiwic2VydmVyUHJvcHMiLCJjb2xsZWN0aW9uT3ZlcnJpZGVzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxpQkFBaUIsUUFBUSx1Q0FBbUQ7QUFFckYsU0FDRUMsZ0JBQWdCLEVBQ2hCQyxVQUFVLEVBQ1ZDLFFBQVEsRUFDUkMsb0JBQW9CLFFBQ2YscUJBQXFCO0FBQzVCLFNBQVNDLGlCQUFpQixRQUFRLGlDQUFpQztBQU1uRSxTQUNFQyxxQkFBcUIsRUFDckJDLHVCQUF1QixFQUN2QkMsa0JBQWtCLFFBQ2IsNkJBQTZCO0FBQ3BDLFNBQ0VDLGFBQWEsRUFDYkMsMkNBQTJDLEVBQzNDQyw2QkFBNkIsRUFDN0JDLGdCQUFnQixRQUNYLDBCQUEwQjtBQUNqQyxTQUFT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
@@ -0,0 +1,16 @@
1
+ import { type CollectionConfig } from "payload";
2
+ import type { BetterAuthFullSchema, ModelKey } from "@/better-auth/generated-types";
3
+ import type { BetterAuthSchemas, BuiltBetterAuthSchema } from "@/better-auth/types";
4
+ export declare function getSchemaCollectionSlug(resolvedSchemas: BetterAuthSchemas, model: ModelKey): string;
5
+ export declare function getSchemaFieldName<M extends ModelKey>(resolvedSchemas: BetterAuthSchemas, model: M, fieldKey: Extract<keyof BetterAuthFullSchema[M], string>): string;
6
+ /**
7
+ * Asserts that all field keys that exist in the schema exist in the collection
8
+ *
9
+ * It checks based on the custom.betterAuthFieldKey property.
10
+ *
11
+ * @param collection - The collection object
12
+ * @param schema - The schema object containing field definitions
13
+ * @throws {Error} If any required field is missing from the schema
14
+ */
15
+ export declare function assertAllSchemaFields(collection: CollectionConfig, schema: BuiltBetterAuthSchema): void;
16
+ //# sourceMappingURL=collection-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-schema.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/collection-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,iBAAiB,EAClC,KAAK,EAAE,QAAQ,GACd,MAAM,CAER;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACnD,eAAe,EAAE,iBAAiB,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GACvD,MAAM,CAER;AAED;;;;;;;;GAQG;AAEH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,qBAAqB,GAC5B,IAAI,CAgBN"}
@@ -0,0 +1,24 @@
1
+ import { flattenAllFields } from "payload";
2
+ export function getSchemaCollectionSlug(resolvedSchemas, model) {
3
+ return resolvedSchemas?.[model]?.modelName ?? model;
4
+ }
5
+ export function getSchemaFieldName(resolvedSchemas, model, fieldKey) {
6
+ return resolvedSchemas?.[model]?.fields?.[fieldKey]?.fieldName ?? fieldKey;
7
+ }
8
+ /**
9
+ * Asserts that all field keys that exist in the schema exist in the collection
10
+ *
11
+ * It checks based on the custom.betterAuthFieldKey property.
12
+ *
13
+ * @param collection - The collection object
14
+ * @param schema - The schema object containing field definitions
15
+ * @throws {Error} If any required field is missing from the schema
16
+ */ export function assertAllSchemaFields(collection, schema) {
17
+ const schemaFieldKeys = Object.keys(schema.fields);
18
+ const collectionConfigBetterAuthKeys = new Set(flattenAllFields(collection).map((field)=>field.custom?.betterAuthFieldKey).filter((key)=>typeof key === "string"));
19
+ const missingFields = schemaFieldKeys.filter((key)=>!collectionConfigBetterAuthKeys.has(key));
20
+ if (missingFields.length === 0) return;
21
+ throw new Error(`Missing required custom.betterAuthFieldKeys in collection "${collection.slug}": ${missingFields.join(", ")}`);
22
+ }
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL2NvbGxlY3Rpb24tc2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ29sbGVjdGlvbkNvbmZpZywgZmxhdHRlbkFsbEZpZWxkcyB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJldHRlckF1dGhGdWxsU2NoZW1hLFxuICBNb2RlbEtleVxufSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9nZW5lcmF0ZWQtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQmV0dGVyQXV0aFNjaGVtYXMsXG4gIEJ1aWx0QmV0dGVyQXV0aFNjaGVtYVxufSBmcm9tIFwiQC9iZXR0ZXItYXV0aC90eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gIHJlc29sdmVkU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXMsXG4gIG1vZGVsOiBNb2RlbEtleVxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVkU2NoZW1hcz8uW21vZGVsXT8ubW9kZWxOYW1lID8/IG1vZGVsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NoZW1hRmllbGROYW1lPE0gZXh0ZW5kcyBNb2RlbEtleT4oXG4gIHJlc29sdmVkU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXMsXG4gIG1vZGVsOiBNLFxuICBmaWVsZEtleTogRXh0cmFjdDxrZXlvZiBCZXR0ZXJBdXRoRnVsbFNjaGVtYVtNXSwgc3RyaW5nPlxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVkU2NoZW1hcz8uW21vZGVsXT8uZmllbGRzPy5bZmllbGRLZXldPy5maWVsZE5hbWUgPz8gZmllbGRLZXk7XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IGFsbCBmaWVsZCBrZXlzIHRoYXQgZXhpc3QgaW4gdGhlIHNjaGVtYSBleGlzdCBpbiB0aGUgY29sbGVjdGlvblxuICpcbiAqIEl0IGNoZWNrcyBiYXNlZCBvbiB0aGUgY3VzdG9tLmJldHRlckF1dGhGaWVsZEtleSBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gY29sbGVjdGlvbiAtIFRoZSBjb2xsZWN0aW9uIG9iamVjdFxuICogQHBhcmFtIHNjaGVtYSAtIFRoZSBzY2hlbWEgb2JqZWN0IGNvbnRhaW5pbmcgZmllbGQgZGVmaW5pdGlvbnNcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBmcm9tIHRoZSBzY2hlbWFcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0QWxsU2NoZW1hRmllbGRzKFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnLFxuICBzY2hlbWE6IEJ1aWx0QmV0dGVyQXV0aFNjaGVtYVxuKTogdm9pZCB7XG4gIGNvbnN0IHNjaGVtYUZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKHNjaGVtYS5maWVsZHMpO1xuICBjb25zdCBjb2xsZWN0aW9uQ29uZmlnQmV0dGVyQXV0aEtleXMgPSBuZXcgU2V0KFxuICAgIGZsYXR0ZW5BbGxGaWVsZHMoY29sbGVjdGlvbilcbiAgICAgIC5tYXAoKGZpZWxkKSA9PiBmaWVsZC5jdXN0b20/LmJldHRlckF1dGhGaWVsZEtleSlcbiAgICAgIC5maWx0ZXIoKGtleSk6IGtleSBpcyBzdHJpbmcgPT4gdHlwZW9mIGtleSA9PT0gXCJzdHJpbmdcIilcbiAgKTtcblxuICBjb25zdCBtaXNzaW5nRmllbGRzID0gc2NoZW1hRmllbGRLZXlzLmZpbHRlcihcbiAgICAoa2V5KSA9PiAhY29sbGVjdGlvbkNvbmZpZ0JldHRlckF1dGhLZXlzLmhhcyhrZXkpXG4gICk7XG4gIGlmIChtaXNzaW5nRmllbGRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgTWlzc2luZyByZXF1aXJlZCBjdXN0b20uYmV0dGVyQXV0aEZpZWxkS2V5cyBpbiBjb2xsZWN0aW9uIFwiJHtjb2xsZWN0aW9uLnNsdWd9XCI6ICR7bWlzc2luZ0ZpZWxkcy5qb2luKFwiLCBcIil9YFxuICApO1xufVxuIl0sIm5hbWVzIjpbImZsYXR0ZW5BbGxGaWVsZHMiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsInJlc29sdmVkU2NoZW1hcyIsIm1vZGVsIiwibW9kZWxOYW1lIiwiZ2V0U2NoZW1hRmllbGROYW1lIiwiZmllbGRLZXkiLCJmaWVsZHMiLCJmaWVsZE5hbWUiLCJhc3NlcnRBbGxTY2hlbWFGaWVsZHMiLCJjb2xsZWN0aW9uIiwic2NoZW1hIiwic2NoZW1hRmllbGRLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImNvbGxlY3Rpb25Db25maWdCZXR0ZXJBdXRoS2V5cyIsIlNldCIsIm1hcCIsImZpZWxkIiwiY3VzdG9tIiwiYmV0dGVyQXV0aEZpZWxkS2V5IiwiZmlsdGVyIiwia2V5IiwibWlzc2luZ0ZpZWxkcyIsImhhcyIsImxlbmd0aCIsIkVycm9yIiwic2x1ZyIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWdDQSxnQkFBZ0IsUUFBUSxVQUFVO0FBVWxFLE9BQU8sU0FBU0Msd0JBQ2RDLGVBQWtDLEVBQ2xDQyxLQUFlO0lBRWYsT0FBT0QsaUJBQWlCLENBQUNDLE1BQU0sRUFBRUMsYUFBYUQ7QUFDaEQ7QUFFQSxPQUFPLFNBQVNFLG1CQUNkSCxlQUFrQyxFQUNsQ0MsS0FBUSxFQUNSRyxRQUF3RDtJQUV4RCxPQUFPSixpQkFBaUIsQ0FBQ0MsTUFBTSxFQUFFSSxRQUFRLENBQUNELFNBQVMsRUFBRUUsYUFBYUY7QUFDcEU7QUFFQTs7Ozs7Ozs7Q0FRQyxHQUVELE9BQU8sU0FBU0csc0JBQ2RDLFVBQTRCLEVBQzVCQyxNQUE2QjtJQUU3QixNQUFNQyxrQkFBa0JDLE9BQU9DLElBQUksQ0FBQ0gsT0FBT0osTUFBTTtJQUNqRCxNQUFNUSxpQ0FBaUMsSUFBSUMsSUFDekNoQixpQkFBaUJVLFlBQ2RPLEdBQUcsQ0FBQyxDQUFDQyxRQUFVQSxNQUFNQyxNQUFNLEVBQUVDLG9CQUM3QkMsTUFBTSxDQUFDLENBQUNDLE1BQXVCLE9BQU9BLFFBQVE7SUFHbkQsTUFBTUMsZ0JBQWdCWCxnQkFBZ0JTLE1BQU0sQ0FDMUMsQ0FBQ0MsTUFBUSxDQUFDUCwrQkFBK0JTLEdBQUcsQ0FBQ0Y7SUFFL0MsSUFBSUMsY0FBY0UsTUFBTSxLQUFLLEdBQUc7SUFFaEMsTUFBTSxJQUFJQyxNQUNSLENBQUMsMkRBQTJELEVBQUVoQixXQUFXaUIsSUFBSSxDQUFDLEdBQUcsRUFBRUosY0FBY0ssSUFBSSxDQUFDLE9BQU87QUFFakgifQ==
@@ -0,0 +1,11 @@
1
+ import type { Field } from "payload";
2
+ export declare const COMMON_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized"];
3
+ export declare const TEXT_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "type", "maxLength", "maxRows", "minLength", "minRows", "hasMany"];
4
+ export declare const NUMBER_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "max", "min", "hasMany"];
5
+ export declare const DATE_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "timezone"];
6
+ export declare const CHECKBOX_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized"];
7
+ export declare const RELATIONSHIP_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "filterOptions", "graphQL", "hasMany", "max", "maxDepth", "maxRows", "min", "minRows", "relationTo", "type"];
8
+ export declare const SELECT_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "type", "options", "hasMany", "interfaceName", "enumName", "dbName", "validate", "defaultValue", "filterOptions"];
9
+ export declare function getValidFieldPropertyKeysForType(type: Field["type"]): ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "type" | "graphQL" | "relationTo" | "filterOptions" | "maxRows" | "minRows" | "maxDepth" | "hasMany" | "max" | "min")[] | ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "type" | "maxRows" | "minRows" | "maxLength" | "minLength" | "hasMany")[] | ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "timezone")[] | ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "type" | "options" | "dbName" | "filterOptions" | "interfaceName" | "hasMany" | "enumName")[];
10
+ export declare function filterProps<T extends object, K extends readonly (keyof T)[]>(obj: Partial<T>, allowed: K, extra?: readonly string[]): Partial<T>;
11
+ //# sourceMappingURL=filter-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-properties.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/filter-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,KAAK,EAMN,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,iBAAiB,8MAkBmB,CAAC;AAElD,eAAO,MAAM,eAAe,iRAQqB,CAAC;AAElD,eAAO,MAAM,iBAAiB,uOAKqB,CAAC;AAEpD,eAAO,MAAM,eAAe,0NAGqB,CAAC;AAElD,eAAO,MAAM,mBAAmB,8MAEqB,CAAC;AAEtD,eAAO,MAAM,uBAAuB,2TAYqB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,gUAWqB,CAAC;AAEpD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,2oCAiBnE;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAC1E,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,CAAC,EACV,KAAK,GAAE,SAAS,MAAM,EAAO,GAC5B,OAAO,CAAC,CAAC,CAAC,CAQZ"}
@@ -0,0 +1,112 @@
1
+ export const COMMON_FIELD_KEYS = [
2
+ "access",
3
+ "admin",
4
+ "custom",
5
+ "defaultValue",
6
+ "hidden",
7
+ "hooks",
8
+ "index",
9
+ "label",
10
+ "localized",
11
+ "name",
12
+ "required",
13
+ "saveToJWT",
14
+ "typescriptSchema",
15
+ "unique",
16
+ "validate",
17
+ "virtual",
18
+ "_sanitized"
19
+ ];
20
+ export const TEXT_FIELD_KEYS = [
21
+ ...COMMON_FIELD_KEYS,
22
+ "type",
23
+ "maxLength",
24
+ "maxRows",
25
+ "minLength",
26
+ "minRows",
27
+ "hasMany"
28
+ ];
29
+ export const NUMBER_FIELD_KEYS = [
30
+ ...COMMON_FIELD_KEYS,
31
+ "max",
32
+ "min",
33
+ "hasMany"
34
+ ];
35
+ export const DATE_FIELD_KEYS = [
36
+ ...COMMON_FIELD_KEYS,
37
+ "timezone"
38
+ ];
39
+ export const CHECKBOX_FIELD_KEYS = [
40
+ ...COMMON_FIELD_KEYS
41
+ ];
42
+ export const RELATIONSHIP_FIELD_KEYS = [
43
+ ...COMMON_FIELD_KEYS,
44
+ "filterOptions",
45
+ "graphQL",
46
+ "hasMany",
47
+ "max",
48
+ "maxDepth",
49
+ "maxRows",
50
+ "min",
51
+ "minRows",
52
+ "relationTo",
53
+ "type"
54
+ ];
55
+ export const SELECT_FIELD_KEYS = [
56
+ ...COMMON_FIELD_KEYS,
57
+ "type",
58
+ "options",
59
+ "hasMany",
60
+ "interfaceName",
61
+ "enumName",
62
+ "dbName",
63
+ "validate",
64
+ "defaultValue",
65
+ "filterOptions"
66
+ ];
67
+ export function getValidFieldPropertyKeysForType(type) {
68
+ switch(type){
69
+ case "relationship":
70
+ return [
71
+ ...RELATIONSHIP_FIELD_KEYS
72
+ ];
73
+ case "text":
74
+ return [
75
+ ...TEXT_FIELD_KEYS
76
+ ];
77
+ case "number":
78
+ return [
79
+ ...NUMBER_FIELD_KEYS
80
+ ];
81
+ case "date":
82
+ return [
83
+ ...DATE_FIELD_KEYS
84
+ ];
85
+ case "checkbox":
86
+ return [
87
+ ...CHECKBOX_FIELD_KEYS
88
+ ];
89
+ case "select":
90
+ return [
91
+ ...SELECT_FIELD_KEYS
92
+ ];
93
+ default:
94
+ return [
95
+ ...COMMON_FIELD_KEYS
96
+ ];
97
+ }
98
+ }
99
+ export function filterProps(obj, allowed, extra = []) {
100
+ const allow = new Set([
101
+ ...allowed.map(String),
102
+ ...extra
103
+ ]);
104
+ const out = {};
105
+ for (const [k, v] of Object.entries(obj)){
106
+ if (!allow.has(k)) continue;
107
+ out[k] = v;
108
+ }
109
+ return out;
110
+ }
111
+
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL2ZpbHRlci1wcm9wZXJ0aWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ2hlY2tib3hGaWVsZCxcbiAgRGF0ZUZpZWxkLFxuICBGaWVsZCxcbiAgRmllbGRCYXNlLFxuICBOdW1iZXJGaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUZXh0RmllbGRcbn0gZnJvbSBcInBheWxvYWRcIjtcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9GSUVMRF9LRVlTID0gW1xuICBcImFjY2Vzc1wiLFxuICBcImFkbWluXCIsXG4gIFwiY3VzdG9tXCIsXG4gIFwiZGVmYXVsdFZhbHVlXCIsXG4gIFwiaGlkZGVuXCIsXG4gIFwiaG9va3NcIixcbiAgXCJpbmRleFwiLFxuICBcImxhYmVsXCIsXG4gIFwibG9jYWxpemVkXCIsXG4gIFwibmFtZVwiLFxuICBcInJlcXVpcmVkXCIsXG4gIFwic2F2ZVRvSldUXCIsXG4gIFwidHlwZXNjcmlwdFNjaGVtYVwiLFxuICBcInVuaXF1ZVwiLFxuICBcInZhbGlkYXRlXCIsXG4gIFwidmlydHVhbFwiLFxuICBcIl9zYW5pdGl6ZWRcIlxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgKGtleW9mIEZpZWxkQmFzZSlbXTtcblxuZXhwb3J0IGNvbnN0IFRFWFRfRklFTERfS0VZUyA9IFtcbiAgLi4uQ09NTU9OX0ZJRUxEX0tFWVMsXG4gIFwidHlwZVwiLFxuICBcIm1heExlbmd0aFwiLFxuICBcIm1heFJvd3NcIixcbiAgXCJtaW5MZW5ndGhcIixcbiAgXCJtaW5Sb3dzXCIsXG4gIFwiaGFzTWFueVwiXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSAoa2V5b2YgVGV4dEZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgTlVNQkVSX0ZJRUxEX0tFWVMgPSBbXG4gIC4uLkNPTU1PTl9GSUVMRF9LRVlTLFxuICBcIm1heFwiLFxuICBcIm1pblwiLFxuICBcImhhc01hbnlcIlxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgKGtleW9mIE51bWJlckZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgREFURV9GSUVMRF9LRVlTID0gW1xuICAuLi5DT01NT05fRklFTERfS0VZUyxcbiAgXCJ0aW1lem9uZVwiXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSAoa2V5b2YgRGF0ZUZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgQ0hFQ0tCT1hfRklFTERfS0VZUyA9IFtcbiAgLi4uQ09NTU9OX0ZJRUxEX0tFWVNcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IChrZXlvZiBDaGVja2JveEZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgUkVMQVRJT05TSElQX0ZJRUxEX0tFWVMgPSBbXG4gIC4uLkNPTU1PTl9GSUVMRF9LRVlTLFxuICBcImZpbHRlck9wdGlvbnNcIixcbiAgXCJncmFwaFFMXCIsXG4gIFwiaGFzTWFueVwiLFxuICBcIm1heFwiLFxuICBcIm1heERlcHRoXCIsXG4gIFwibWF4Um93c1wiLFxuICBcIm1pblwiLFxuICBcIm1pblJvd3NcIixcbiAgXCJyZWxhdGlvblRvXCIsXG4gIFwidHlwZVwiXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSAoa2V5b2YgUmVsYXRpb25zaGlwRmllbGQpW107XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfRklFTERfS0VZUyA9IFtcbiAgLi4uQ09NTU9OX0ZJRUxEX0tFWVMsXG4gIFwidHlwZVwiLFxuICBcIm9wdGlvbnNcIixcbiAgXCJoYXNNYW55XCIsXG4gIFwiaW50ZXJmYWNlTmFtZVwiLFxuICBcImVudW1OYW1lXCIsXG4gIFwiZGJOYW1lXCIsXG4gIFwidmFsaWRhdGVcIixcbiAgXCJkZWZhdWx0VmFsdWVcIixcbiAgXCJmaWx0ZXJPcHRpb25zXCJcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IChrZXlvZiBTZWxlY3RGaWVsZClbXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkRmllbGRQcm9wZXJ0eUtleXNGb3JUeXBlKHR5cGU6IEZpZWxkW1widHlwZVwiXSkge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFwicmVsYXRpb25zaGlwXCI6XG4gICAgICByZXR1cm4gWy4uLlJFTEFUSU9OU0hJUF9GSUVMRF9LRVlTXTtcbiAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgcmV0dXJuIFsuLi5URVhUX0ZJRUxEX0tFWVNdO1xuICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgIHJldHVybiBbLi4uTlVNQkVSX0ZJRUxEX0tFWVNdO1xuICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICByZXR1cm4gWy4uLkRBVEVfRklFTERfS0VZU107XG4gICAgY2FzZSBcImNoZWNrYm94XCI6XG4gICAgICByZXR1cm4gWy4uLkNIRUNLQk9YX0ZJRUxEX0tFWVNdO1xuICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgIHJldHVybiBbLi4uU0VMRUNUX0ZJRUxEX0tFWVNdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gWy4uLkNPTU1PTl9GSUVMRF9LRVlTXTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyUHJvcHM8VCBleHRlbmRzIG9iamVjdCwgSyBleHRlbmRzIHJlYWRvbmx5IChrZXlvZiBUKVtdPihcbiAgb2JqOiBQYXJ0aWFsPFQ+LFxuICBhbGxvd2VkOiBLLFxuICBleHRyYTogcmVhZG9ubHkgc3RyaW5nW10gPSBbXVxuKTogUGFydGlhbDxUPiB7XG4gIGNvbnN0IGFsbG93ID0gbmV3IFNldDxzdHJpbmc+KFsuLi5hbGxvd2VkLm1hcChTdHJpbmcpLCAuLi5leHRyYV0pO1xuICBjb25zdCBvdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICBpZiAoIWFsbG93LmhhcyhrKSkgY29udGludWU7XG4gICAgb3V0W2tdID0gdjtcbiAgfVxuICByZXR1cm4gb3V0IGFzIFBhcnRpYWw8VD47XG59XG4iXSwibmFtZXMiOlsiQ09NTU9OX0ZJRUxEX0tFWVMiLCJURVhUX0ZJRUxEX0tFWVMiLCJOVU1CRVJfRklFTERfS0VZUyIsIkRBVEVfRklFTERfS0VZUyIsIkNIRUNLQk9YX0ZJRUxEX0tFWVMiLCJSRUxBVElPTlNISVBfRklFTERfS0VZUyIsIlNFTEVDVF9GSUVMRF9LRVlTIiwiZ2V0VmFsaWRGaWVsZFByb3BlcnR5S2V5c0ZvclR5cGUiLCJ0eXBlIiwiZmlsdGVyUHJvcHMiLCJvYmoiLCJhbGxvd2VkIiwiZXh0cmEiLCJhbGxvdyIsIlNldCIsIm1hcCIsIlN0cmluZyIsIm91dCIsImsiLCJ2IiwiT2JqZWN0IiwiZW50cmllcyIsImhhcyJdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxNQUFNQSxvQkFBb0I7SUFDL0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNELENBQWlEO0FBRWxELE9BQU8sTUFBTUMsa0JBQWtCO09BQzFCRDtJQUNIO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNELENBQWlEO0FBRWxELE9BQU8sTUFBTUUsb0JBQW9CO09BQzVCRjtJQUNIO0lBQ0E7SUFDQTtDQUNELENBQW1EO0FBRXBELE9BQU8sTUFBTUcsa0JBQWtCO09BQzFCSDtJQUNIO0NBQ0QsQ0FBaUQ7QUFFbEQsT0FBTyxNQUFNSSxzQkFBc0I7T0FDOUJKO0NBQ0osQ0FBcUQ7QUFFdEQsT0FBTyxNQUFNSywwQkFBMEI7T0FDbENMO0lBQ0g7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCxDQUF5RDtBQUUxRCxPQUFPLE1BQU1NLG9CQUFvQjtPQUM1Qk47SUFDSDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCxDQUFtRDtBQUVwRCxPQUFPLFNBQVNPLGlDQUFpQ0MsSUFBbUI7SUFDbEUsT0FBUUE7UUFDTixLQUFLO1lBQ0gsT0FBTzttQkFBSUg7YUFBd0I7UUFDckMsS0FBSztZQUNILE9BQU87bUJBQUlKO2FBQWdCO1FBQzdCLEtBQUs7WUFDSCxPQUFPO21CQUFJQzthQUFrQjtRQUMvQixLQUFLO1lBQ0gsT0FBTzttQkFBSUM7YUFBZ0I7UUFDN0IsS0FBSztZQUNILE9BQU87bUJBQUlDO2FBQW9CO1FBQ2pDLEtBQUs7WUFDSCxPQUFPO21CQUFJRTthQUFrQjtRQUMvQjtZQUNFLE9BQU87bUJBQUlOO2FBQWtCO0lBQ2pDO0FBQ0Y7QUFFQSxPQUFPLFNBQVNTLFlBQ2RDLEdBQWUsRUFDZkMsT0FBVSxFQUNWQyxRQUEyQixFQUFFO0lBRTdCLE1BQU1DLFFBQVEsSUFBSUMsSUFBWTtXQUFJSCxRQUFRSSxHQUFHLENBQUNDO1dBQVlKO0tBQU07SUFDaEUsTUFBTUssTUFBK0IsQ0FBQztJQUN0QyxLQUFLLE1BQU0sQ0FBQ0MsR0FBR0MsRUFBRSxJQUFJQyxPQUFPQyxPQUFPLENBQUNYLEtBQU07UUFDeEMsSUFBSSxDQUFDRyxNQUFNUyxHQUFHLENBQUNKLElBQUk7UUFDbkJELEdBQUcsQ0FBQ0MsRUFBRSxHQUFHQztJQUNYO0lBQ0EsT0FBT0Y7QUFDVCJ9
@@ -0,0 +1,8 @@
1
+ import type { Field } from "payload";
2
+ interface GetTimestampFieldsOptions {
3
+ saveUpdatedAtToJWT?: boolean;
4
+ saveCreatedAtToJWT?: boolean;
5
+ }
6
+ export declare function getTimestampFields(options?: GetTimestampFieldsOptions): Field[];
7
+ export {};
8
+ //# sourceMappingURL=get-timestamp-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-timestamp-fields.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,UAAU,yBAAyB;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAGR,GACA,KAAK,EAAE,CAyBT"}
@@ -0,0 +1,31 @@
1
+ export function getTimestampFields(options = {
2
+ saveUpdatedAtToJWT: true,
3
+ saveCreatedAtToJWT: true
4
+ }) {
5
+ return [
6
+ {
7
+ name: "updatedAt",
8
+ type: "date",
9
+ saveToJWT: options.saveUpdatedAtToJWT,
10
+ admin: {
11
+ disableBulkEdit: true,
12
+ hidden: true
13
+ },
14
+ index: true,
15
+ label: ({ t })=>t("general:updatedAt")
16
+ },
17
+ {
18
+ name: "createdAt",
19
+ saveToJWT: options.saveCreatedAtToJWT,
20
+ admin: {
21
+ disableBulkEdit: true,
22
+ hidden: true
23
+ },
24
+ type: "date",
25
+ index: true,
26
+ label: ({ t })=>t("general:createdAt")
27
+ }
28
+ ];
29
+ }
30
+
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL2dldC10aW1lc3RhbXAtZmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tIFwicGF5bG9hZFwiO1xuXG5pbnRlcmZhY2UgR2V0VGltZXN0YW1wRmllbGRzT3B0aW9ucyB7XG4gIHNhdmVVcGRhdGVkQXRUb0pXVD86IGJvb2xlYW47XG4gIHNhdmVDcmVhdGVkQXRUb0pXVD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lc3RhbXBGaWVsZHMoXG4gIG9wdGlvbnM6IEdldFRpbWVzdGFtcEZpZWxkc09wdGlvbnMgPSB7XG4gICAgc2F2ZVVwZGF0ZWRBdFRvSldUOiB0cnVlLFxuICAgIHNhdmVDcmVhdGVkQXRUb0pXVDogdHJ1ZVxuICB9XG4pOiBGaWVsZFtdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBuYW1lOiBcInVwZGF0ZWRBdFwiLFxuICAgICAgdHlwZTogXCJkYXRlXCIsXG4gICAgICBzYXZlVG9KV1Q6IG9wdGlvbnMuc2F2ZVVwZGF0ZWRBdFRvSldULFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgZGlzYWJsZUJ1bGtFZGl0OiB0cnVlLFxuICAgICAgICBoaWRkZW46IHRydWVcbiAgICAgIH0sXG4gICAgICBpbmRleDogdHJ1ZSxcbiAgICAgIGxhYmVsOiAoeyB0IH0pID0+IHQoXCJnZW5lcmFsOnVwZGF0ZWRBdFwiKVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJjcmVhdGVkQXRcIixcbiAgICAgIHNhdmVUb0pXVDogb3B0aW9ucy5zYXZlQ3JlYXRlZEF0VG9KV1QsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBkaXNhYmxlQnVsa0VkaXQ6IHRydWUsXG4gICAgICAgIGhpZGRlbjogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHR5cGU6IFwiZGF0ZVwiLFxuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBsYWJlbDogKHsgdCB9KSA9PiB0KFwiZ2VuZXJhbDpjcmVhdGVkQXRcIilcbiAgICB9XG4gIF07XG59XG4iXSwibmFtZXMiOlsiZ2V0VGltZXN0YW1wRmllbGRzIiwib3B0aW9ucyIsInNhdmVVcGRhdGVkQXRUb0pXVCIsInNhdmVDcmVhdGVkQXRUb0pXVCIsIm5hbWUiLCJ0eXBlIiwic2F2ZVRvSldUIiwiYWRtaW4iLCJkaXNhYmxlQnVsa0VkaXQiLCJoaWRkZW4iLCJpbmRleCIsImxhYmVsIiwidCJdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxTQUFTQSxtQkFDZEMsVUFBcUM7SUFDbkNDLG9CQUFvQjtJQUNwQkMsb0JBQW9CO0FBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0w7WUFDRUMsTUFBTTtZQUNOQyxNQUFNO1lBQ05DLFdBQVdMLFFBQVFDLGtCQUFrQjtZQUNyQ0ssT0FBTztnQkFDTEMsaUJBQWlCO2dCQUNqQkMsUUFBUTtZQUNWO1lBQ0FDLE9BQU87WUFDUEMsT0FBTyxDQUFDLEVBQUVDLENBQUMsRUFBRSxHQUFLQSxFQUFFO1FBQ3RCO1FBQ0E7WUFDRVIsTUFBTTtZQUNORSxXQUFXTCxRQUFRRSxrQkFBa0I7WUFDckNJLE9BQU87Z0JBQ0xDLGlCQUFpQjtnQkFDakJDLFFBQVE7WUFDVjtZQUNBSixNQUFNO1lBQ05LLE9BQU87WUFDUEMsT0FBTyxDQUFDLEVBQUVDLENBQUMsRUFBRSxHQUFLQSxFQUFFO1FBQ3RCO0tBQ0Q7QUFDSCJ9
@@ -0,0 +1,12 @@
1
+ import type { DBFieldAttribute } from "better-auth/db";
2
+ import type { Field } from "payload";
3
+ import { FieldRule } from "@/better-auth/plugin/types";
4
+ export declare const getAdditionalFieldProperties: ({ field, fieldKey, fieldRules, additionalProperties }: {
5
+ field: DBFieldAttribute;
6
+ fieldKey: string;
7
+ fieldRules?: FieldRule[];
8
+ additionalProperties?: {
9
+ [key: string]: (field: DBFieldAttribute) => Partial<Field>;
10
+ };
11
+ }) => Partial<Field>;
12
+ //# sourceMappingURL=model-field-transformations.d.ts.map