payload-auth 1.0.1 → 1.1.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 (538) hide show
  1. package/dist/authjs/index.d.ts +1 -0
  2. package/dist/authjs/index.d.ts.map +1 -0
  3. package/dist/authjs/index.js +1 -1
  4. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -0
  5. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -0
  6. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +1 -1
  7. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +1 -0
  8. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -0
  9. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +1 -1
  10. package/dist/better-auth/adapter/generate-schema/index.d.ts +1 -0
  11. package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -0
  12. package/dist/better-auth/adapter/generate-schema/index.js +3 -3
  13. package/dist/better-auth/adapter/generate-schema/utils.d.ts +1 -0
  14. package/dist/better-auth/adapter/generate-schema/utils.d.ts.map +1 -0
  15. package/dist/better-auth/adapter/generate-schema/utils.js +1 -1
  16. package/dist/better-auth/adapter/index.d.ts +3 -2
  17. package/dist/better-auth/adapter/index.d.ts.map +1 -0
  18. package/dist/better-auth/adapter/index.js +115 -69
  19. package/dist/better-auth/adapter/transform/index.d.ts +19 -6
  20. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -0
  21. package/dist/better-auth/adapter/transform/index.js +387 -96
  22. package/dist/better-auth/adapter/types.d.ts +3 -1
  23. package/dist/better-auth/adapter/types.d.ts.map +1 -0
  24. package/dist/better-auth/adapter/types.js +1 -1
  25. package/dist/better-auth/index.d.ts +1 -0
  26. package/dist/better-auth/index.d.ts.map +1 -0
  27. package/dist/better-auth/index.js +1 -1
  28. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +3 -0
  29. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -0
  30. package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +5 -0
  31. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +3 -0
  32. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -0
  33. package/dist/better-auth/plugin/helpers/check-username-plugin.js +5 -0
  34. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +1 -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 +8 -8
  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-admin-routes.d.ts +14 -0
  41. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +1 -0
  42. package/dist/better-auth/plugin/helpers/get-admin-routes.js +6 -0
  43. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
  44. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
  45. package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
  46. package/dist/better-auth/plugin/helpers/get-ip.d.ts +2 -1
  47. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -0
  48. package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
  49. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +3 -0
  50. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -0
  51. package/dist/better-auth/plugin/helpers/get-requst-collection.js +14 -0
  52. package/dist/better-auth/plugin/helpers/index.d.ts +2 -1
  53. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -0
  54. package/dist/better-auth/plugin/helpers/index.js +2 -2
  55. package/dist/better-auth/plugin/{lib → helpers}/prepare-session-data.d.ts +3 -2
  56. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
  57. package/dist/better-auth/plugin/helpers/prepare-session-data.js +42 -0
  58. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +3 -2
  59. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -0
  60. package/dist/better-auth/plugin/helpers/serialize-cookie.js +34 -34
  61. package/dist/better-auth/plugin/index.d.ts +8 -7
  62. package/dist/better-auth/plugin/index.d.ts.map +1 -0
  63. package/dist/better-auth/plugin/index.js +145 -37
  64. package/dist/better-auth/plugin/{collections → lib/build-collections}/accounts/hooks/sync-password-to-user.d.ts +2 -1
  65. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
  66. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +47 -0
  67. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +7 -0
  68. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
  69. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +159 -0
  70. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
  71. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
  72. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
  73. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
  74. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
  75. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
  76. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
  77. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
  78. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +107 -0
  79. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +6 -0
  80. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
  81. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +196 -0
  82. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +12 -0
  83. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
  84. package/dist/better-auth/plugin/lib/build-collections/index.js +96 -0
  85. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +6 -0
  86. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
  87. package/dist/better-auth/plugin/lib/build-collections/invitations.js +91 -0
  88. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +6 -0
  89. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
  90. package/dist/better-auth/plugin/lib/build-collections/jwks.js +43 -0
  91. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +6 -0
  92. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
  93. package/dist/better-auth/plugin/lib/build-collections/members.js +71 -0
  94. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +6 -0
  95. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
  96. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +98 -0
  97. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +6 -0
  98. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
  99. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +113 -0
  100. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +6 -0
  101. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
  102. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +67 -0
  103. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +6 -0
  104. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
  105. package/dist/better-auth/plugin/lib/build-collections/organizations.js +59 -0
  106. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +6 -0
  107. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
  108. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +108 -0
  109. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +8 -0
  110. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
  111. package/dist/better-auth/plugin/lib/build-collections/sessions.js +123 -0
  112. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +6 -0
  113. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
  114. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +83 -0
  115. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +6 -0
  116. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
  117. package/dist/better-auth/plugin/lib/build-collections/teams.js +45 -0
  118. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +6 -0
  119. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
  120. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +56 -0
  121. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
  122. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
  123. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
  124. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +3 -0
  125. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +1 -0
  126. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +96 -0
  127. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +13 -0
  128. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
  129. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +67 -0
  130. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +4 -0
  131. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +1 -0
  132. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +115 -0
  133. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
  134. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
  135. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +110 -0
  136. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +3 -0
  137. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +1 -0
  138. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +62 -0
  139. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -0
  140. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
  141. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +42 -0
  142. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
  143. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
  144. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +79 -0
  145. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +4 -0
  146. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -0
  147. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +153 -0
  148. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-login.d.ts +2 -1
  149. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
  150. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +75 -0
  151. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-logout.d.ts +2 -1
  152. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
  153. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +74 -0
  154. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +7 -0
  155. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
  156. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +45 -0
  157. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/before-login.d.ts +2 -1
  158. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
  159. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +18 -0
  160. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
  161. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
  162. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +14 -0
  163. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/sync-account.d.ts +2 -1
  164. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
  165. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +82 -0
  166. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +8 -0
  167. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
  168. package/dist/better-auth/plugin/lib/build-collections/users/index.js +345 -0
  169. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
  170. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
  171. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
  172. package/dist/better-auth/plugin/lib/{payload-access.d.ts → build-collections/utils/payload-access.d.ts} +2 -1
  173. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
  174. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +64 -0
  175. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +7 -0
  176. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
  177. package/dist/better-auth/plugin/lib/build-collections/verifications.js +63 -0
  178. package/dist/better-auth/plugin/lib/{config.d.ts → constants.d.ts} +14 -0
  179. package/dist/better-auth/plugin/lib/constants.d.ts.map +1 -0
  180. package/dist/better-auth/plugin/lib/constants.js +56 -0
  181. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +3 -2
  182. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -0
  183. package/dist/better-auth/plugin/lib/get-payload-auth.js +2 -2
  184. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +5 -4
  185. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -0
  186. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +26 -43
  187. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +5 -3
  188. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -0
  189. package/dist/better-auth/plugin/lib/init-better-auth.js +6 -6
  190. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
  191. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
  192. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +8 -0
  193. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -0
  194. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
  195. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +17 -0
  196. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +10 -0
  197. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
  198. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +118 -0
  199. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -0
  200. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
  201. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +58 -0
  202. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -0
  203. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
  204. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +86 -0
  205. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -0
  206. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
  207. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +17 -0
  208. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -0
  209. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
  210. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +17 -0
  211. package/dist/better-auth/plugin/lib/{ensure-password-set-before-create.d.ts → sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts} +2 -1
  212. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
  213. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
  214. package/dist/better-auth/plugin/lib/{password.d.ts → sanitize-better-auth-options/utils/password.d.ts} +1 -0
  215. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
  216. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
  217. package/dist/better-auth/plugin/lib/{respect-save-to-jwt-fields-middleware.d.ts → sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts} +6 -5
  218. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -0
  219. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +30 -0
  220. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +8 -0
  221. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
  222. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +115 -0
  223. package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +31 -0
  224. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
  225. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
  226. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +196 -0
  227. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +131 -0
  228. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +14 -0
  229. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +1 -0
  230. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +111 -0
  231. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.scss +51 -0
  232. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +9 -0
  233. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +1 -0
  234. package/dist/better-auth/plugin/payload/components/form-header/index.js +23 -0
  235. package/dist/better-auth/plugin/payload/components/form-header/index.scss +8 -0
  236. package/dist/better-auth/plugin/payload/components/icons.d.ts +9 -0
  237. package/dist/better-auth/plugin/payload/components/icons.d.ts.map +1 -0
  238. package/dist/better-auth/plugin/payload/components/icons.js +437 -0
  239. package/dist/better-auth/plugin/payload/components/logo.d.ts +4 -1
  240. package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -0
  241. package/dist/better-auth/plugin/payload/components/logo.js +22 -34
  242. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +6 -0
  243. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
  244. package/dist/better-auth/plugin/payload/components/logout-button.js +27 -0
  245. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
  246. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
  247. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +8 -0
  248. package/dist/better-auth/plugin/payload/components/styles.css +2 -2
  249. package/dist/better-auth/plugin/payload/components/token-field.d.ts +5 -0
  250. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
  251. package/dist/better-auth/plugin/payload/components/token-field.js +30 -0
  252. package/dist/better-auth/plugin/payload/exports/client.d.ts +7 -3
  253. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -0
  254. package/dist/better-auth/plugin/payload/exports/client.js +7 -4
  255. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +10 -5
  256. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -0
  257. package/dist/better-auth/plugin/payload/exports/rsc.js +10 -6
  258. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
  259. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
  260. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +8 -0
  261. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +15 -0
  262. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -0
  263. package/dist/better-auth/plugin/payload/utils/generate-metadata.js +74 -0
  264. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
  265. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
  266. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +23 -0
  267. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +12 -0
  268. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +1 -0
  269. package/dist/better-auth/plugin/payload/views/admin-invite/client.js +92 -0
  270. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +11 -0
  271. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +1 -0
  272. package/dist/better-auth/plugin/payload/views/admin-invite/index.js +84 -0
  273. package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +25 -0
  274. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +14 -0
  275. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +1 -0
  276. package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +95 -0
  277. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +11 -3
  278. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -0
  279. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +124 -92
  280. package/dist/better-auth/plugin/payload/views/create-first-admin/index.scss +29 -0
  281. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +8 -0
  282. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
  283. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +119 -0
  284. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
  285. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
  286. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +69 -0
  287. package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
  288. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +5 -0
  289. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +1 -0
  290. package/dist/better-auth/plugin/payload/views/inactivity/index.js +12 -0
  291. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +9 -0
  292. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +1 -0
  293. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +54 -0
  294. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +1 -0
  295. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +1 -0
  296. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +121 -0
  297. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +31 -0
  298. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +56 -0
  299. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +1 -0
  300. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +3 -0
  301. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +17 -0
  302. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +1 -0
  303. package/dist/better-auth/plugin/payload/views/login/form/index.js +137 -0
  304. package/dist/better-auth/plugin/payload/views/login/form/index.scss +23 -0
  305. package/dist/better-auth/plugin/payload/views/login/index.d.ts +11 -4
  306. package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -0
  307. package/dist/better-auth/plugin/payload/views/login/index.js +81 -61
  308. package/dist/better-auth/plugin/payload/views/login/index.scss +10 -0
  309. package/dist/better-auth/plugin/payload/views/logout/client.d.ts +8 -0
  310. package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +1 -0
  311. package/dist/better-auth/plugin/payload/views/logout/client.js +76 -0
  312. package/dist/better-auth/plugin/payload/views/logout/index.d.ts +8 -0
  313. package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +1 -0
  314. package/dist/better-auth/plugin/payload/views/logout/index.js +14 -0
  315. package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
  316. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +7 -0
  317. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
  318. package/dist/better-auth/plugin/payload/views/reset-password/client.js +72 -0
  319. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +5 -0
  320. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
  321. package/dist/better-auth/plugin/payload/views/reset-password/index.js +81 -0
  322. package/dist/better-auth/plugin/payload/views/reset-password/index.scss +9 -0
  323. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +3 -0
  324. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +1 -0
  325. package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +11 -0
  326. package/dist/better-auth/plugin/types.d.ts +171 -33
  327. package/dist/better-auth/plugin/types.d.ts.map +1 -0
  328. package/dist/better-auth/plugin/types.js +1 -1
  329. package/dist/better-auth/types.d.ts +1 -0
  330. package/dist/better-auth/types.d.ts.map +1 -0
  331. package/dist/better-auth/types.js +1 -1
  332. package/dist/clerk/admin-ui.d.ts +4 -0
  333. package/dist/clerk/admin-ui.d.ts.map +1 -0
  334. package/dist/clerk/admin-ui.js +5 -0
  335. package/dist/clerk/index.d.ts +7 -1
  336. package/dist/clerk/index.d.ts.map +1 -0
  337. package/dist/clerk/index.js +7 -2
  338. package/dist/clerk/plugin/auth-strategy.d.ts +11 -0
  339. package/dist/clerk/plugin/auth-strategy.d.ts.map +1 -0
  340. package/dist/clerk/plugin/auth-strategy.js +45 -0
  341. package/dist/clerk/plugin/collections/users/access.d.ts +14 -0
  342. package/dist/clerk/plugin/collections/users/access.d.ts.map +1 -0
  343. package/dist/clerk/plugin/collections/users/access.js +36 -0
  344. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts +14 -0
  345. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts.map +1 -0
  346. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.js +108 -0
  347. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts +4 -0
  348. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts.map +1 -0
  349. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.js +5 -0
  350. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts +13 -0
  351. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts.map +1 -0
  352. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.js +33 -0
  353. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts +11 -0
  354. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts.map +1 -0
  355. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.js +27 -0
  356. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts +13 -0
  357. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts.map +1 -0
  358. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.js +35 -0
  359. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts +12 -0
  360. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts.map +1 -0
  361. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.js +86 -0
  362. package/dist/clerk/plugin/collections/users/fields.d.ts +6 -0
  363. package/dist/clerk/plugin/collections/users/fields.d.ts.map +1 -0
  364. package/dist/clerk/plugin/collections/users/fields.js +81 -0
  365. package/dist/clerk/plugin/collections/users/index.d.ts +10 -0
  366. package/dist/clerk/plugin/collections/users/index.d.ts.map +1 -0
  367. package/dist/clerk/plugin/collections/users/index.js +95 -0
  368. package/dist/clerk/plugin/components/after-login-form.d.ts +4 -0
  369. package/dist/clerk/plugin/components/after-login-form.d.ts.map +1 -0
  370. package/dist/clerk/plugin/components/after-login-form.js +65 -0
  371. package/dist/clerk/plugin/components/logout-button.d.ts +2 -0
  372. package/dist/clerk/plugin/components/logout-button.d.ts.map +1 -0
  373. package/dist/clerk/plugin/components/logout-button.js +49 -0
  374. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +6 -0
  375. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -0
  376. package/dist/clerk/plugin/components/sync-clerk-users-button.js +75 -0
  377. package/dist/clerk/plugin.d.ts +6 -0
  378. package/dist/clerk/plugin.d.ts.map +1 -0
  379. package/dist/clerk/plugin.js +63 -0
  380. package/dist/clerk/types.d.ts +63 -0
  381. package/dist/clerk/types.d.ts.map +1 -0
  382. package/dist/clerk/types.js +3 -0
  383. package/dist/clerk/utils/clerk-user.d.ts +21 -0
  384. package/dist/clerk/utils/clerk-user.d.ts.map +1 -0
  385. package/dist/clerk/utils/clerk-user.js +45 -0
  386. package/dist/clerk/utils/index.d.ts +4 -0
  387. package/dist/clerk/utils/index.d.ts.map +1 -0
  388. package/dist/clerk/utils/index.js +5 -0
  389. package/dist/clerk/utils/load-clerk-instance.d.ts +8 -0
  390. package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -0
  391. package/dist/clerk/utils/load-clerk-instance.js +11 -0
  392. package/dist/clerk/utils/svix.d.ts +9 -0
  393. package/dist/clerk/utils/svix.d.ts.map +1 -0
  394. package/dist/clerk/utils/svix.js +40 -0
  395. package/dist/clerk/utils/user.d.ts +17 -0
  396. package/dist/clerk/utils/user.d.ts.map +1 -0
  397. package/dist/clerk/utils/user.js +46 -0
  398. package/dist/index.d.ts +5 -0
  399. package/dist/index.d.ts.map +1 -0
  400. package/dist/index.js +5 -5
  401. package/dist/kinde/index.d.ts +1 -0
  402. package/dist/kinde/index.d.ts.map +1 -0
  403. package/dist/kinde/index.js +1 -1
  404. package/package.json +44 -18
  405. package/LICENSE.md +0 -17
  406. package/dist/authjs/index.js.map +0 -1
  407. package/dist/better-auth/adapter/dev/bin/run.d.ts +0 -1
  408. package/dist/better-auth/adapter/dev/bin/run.js +0 -64
  409. package/dist/better-auth/adapter/dev/bin/run.js.map +0 -1
  410. package/dist/better-auth/adapter/dev/bin/schema.d.ts +0 -22
  411. package/dist/better-auth/adapter/dev/bin/schema.js +0 -160
  412. package/dist/better-auth/adapter/dev/bin/schema.js.map +0 -1
  413. package/dist/better-auth/adapter/dev/collections.d.ts +0 -3
  414. package/dist/better-auth/adapter/dev/collections.js +0 -212
  415. package/dist/better-auth/adapter/dev/collections.js.map +0 -1
  416. package/dist/better-auth/adapter/dev/index.d.ts +0 -3
  417. package/dist/better-auth/adapter/dev/index.js +0 -168
  418. package/dist/better-auth/adapter/dev/index.js.map +0 -1
  419. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js.map +0 -1
  420. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js.map +0 -1
  421. package/dist/better-auth/adapter/generate-schema/index.js.map +0 -1
  422. package/dist/better-auth/adapter/generate-schema/utils.js.map +0 -1
  423. package/dist/better-auth/adapter/index.js.map +0 -1
  424. package/dist/better-auth/adapter/test/adapter.test.d.ts +0 -1
  425. package/dist/better-auth/adapter/test/adapter.test.js +0 -181
  426. package/dist/better-auth/adapter/test/adapter.test.js.map +0 -1
  427. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +0 -7
  428. package/dist/better-auth/adapter/test/better-auth-adapter-test.js +0 -425
  429. package/dist/better-auth/adapter/test/better-auth-adapter-test.js.map +0 -1
  430. package/dist/better-auth/adapter/test/schema.test.d.ts +0 -1
  431. package/dist/better-auth/adapter/test/schema.test.js +0 -796
  432. package/dist/better-auth/adapter/test/schema.test.js.map +0 -1
  433. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +0 -23
  434. package/dist/better-auth/adapter/test/test_payload1/schema.js +0 -177
  435. package/dist/better-auth/adapter/test/test_payload1/schema.js.map +0 -1
  436. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +0 -23
  437. package/dist/better-auth/adapter/test/test_payload2/schema.js +0 -167
  438. package/dist/better-auth/adapter/test/test_payload2/schema.js.map +0 -1
  439. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +0 -23
  440. package/dist/better-auth/adapter/test/test_payload3/schema.js +0 -198
  441. package/dist/better-auth/adapter/test/test_payload3/schema.js.map +0 -1
  442. package/dist/better-auth/adapter/transform/index.js.map +0 -1
  443. package/dist/better-auth/adapter/types.js.map +0 -1
  444. package/dist/better-auth/index.js.map +0 -1
  445. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +0 -47
  446. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js.map +0 -1
  447. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +0 -6
  448. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +0 -106
  449. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js.map +0 -1
  450. package/dist/better-auth/plugin/collections/users/hooks/after-login.js +0 -71
  451. package/dist/better-auth/plugin/collections/users/hooks/after-login.js.map +0 -1
  452. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +0 -49
  453. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js.map +0 -1
  454. package/dist/better-auth/plugin/collections/users/hooks/before-login.js +0 -18
  455. package/dist/better-auth/plugin/collections/users/hooks/before-login.js.map +0 -1
  456. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +0 -5
  457. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +0 -33
  458. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js.map +0 -1
  459. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +0 -2
  460. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +0 -14
  461. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js.map +0 -1
  462. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +0 -82
  463. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js.map +0 -1
  464. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js.map +0 -1
  465. package/dist/better-auth/plugin/helpers/get-ip.js.map +0 -1
  466. package/dist/better-auth/plugin/helpers/index.js.map +0 -1
  467. package/dist/better-auth/plugin/helpers/serialize-cookie.js.map +0 -1
  468. package/dist/better-auth/plugin/index.js.map +0 -1
  469. package/dist/better-auth/plugin/lib/auth-strategy.d.ts +0 -8
  470. package/dist/better-auth/plugin/lib/auth-strategy.js +0 -48
  471. package/dist/better-auth/plugin/lib/auth-strategy.js.map +0 -1
  472. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +0 -11
  473. package/dist/better-auth/plugin/lib/build-collection-configs.js +0 -1558
  474. package/dist/better-auth/plugin/lib/build-collection-configs.js.map +0 -1
  475. package/dist/better-auth/plugin/lib/config.js +0 -43
  476. package/dist/better-auth/plugin/lib/config.js.map +0 -1
  477. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +0 -24
  478. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js.map +0 -1
  479. package/dist/better-auth/plugin/lib/get-payload-auth.js.map +0 -1
  480. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js.map +0 -1
  481. package/dist/better-auth/plugin/lib/init-better-auth.js.map +0 -1
  482. package/dist/better-auth/plugin/lib/password.js +0 -63
  483. package/dist/better-auth/plugin/lib/password.js.map +0 -1
  484. package/dist/better-auth/plugin/lib/payload-access.js +0 -64
  485. package/dist/better-auth/plugin/lib/payload-access.js.map +0 -1
  486. package/dist/better-auth/plugin/lib/prepare-session-data.js +0 -42
  487. package/dist/better-auth/plugin/lib/prepare-session-data.js.map +0 -1
  488. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +0 -30
  489. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js.map +0 -1
  490. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +0 -5
  491. package/dist/better-auth/plugin/lib/sanitize-auth-options.js +0 -298
  492. package/dist/better-auth/plugin/lib/sanitize-auth-options.js.map +0 -1
  493. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +0 -5
  494. package/dist/better-auth/plugin/payload/components/admin-buttons.js +0 -222
  495. package/dist/better-auth/plugin/payload/components/admin-buttons.js.map +0 -1
  496. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +0 -1
  497. package/dist/better-auth/plugin/payload/components/login-redirect.js +0 -6
  498. package/dist/better-auth/plugin/payload/components/login-redirect.js.map +0 -1
  499. package/dist/better-auth/plugin/payload/components/logo.js.map +0 -1
  500. package/dist/better-auth/plugin/payload/components/logout.d.ts +0 -1
  501. package/dist/better-auth/plugin/payload/components/logout.js +0 -61
  502. package/dist/better-auth/plugin/payload/components/logout.js.map +0 -1
  503. package/dist/better-auth/plugin/payload/components/sign-in.d.ts +0 -3
  504. package/dist/better-auth/plugin/payload/components/sign-in.js +0 -384
  505. package/dist/better-auth/plugin/payload/components/sign-in.js.map +0 -1
  506. package/dist/better-auth/plugin/payload/components/sign-up.d.ts +0 -6
  507. package/dist/better-auth/plugin/payload/components/sign-up.js +0 -502
  508. package/dist/better-auth/plugin/payload/components/sign-up.js.map +0 -1
  509. package/dist/better-auth/plugin/payload/components/ui/button.d.ts +0 -10
  510. package/dist/better-auth/plugin/payload/components/ui/button.js +0 -42
  511. package/dist/better-auth/plugin/payload/components/ui/button.js.map +0 -1
  512. package/dist/better-auth/plugin/payload/components/ui/card.d.ts +0 -9
  513. package/dist/better-auth/plugin/payload/components/ui/card.js +0 -55
  514. package/dist/better-auth/plugin/payload/components/ui/card.js.map +0 -1
  515. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +0 -4
  516. package/dist/better-auth/plugin/payload/components/ui/checkbox.js +0 -23
  517. package/dist/better-auth/plugin/payload/components/ui/checkbox.js.map +0 -1
  518. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +0 -2
  519. package/dist/better-auth/plugin/payload/components/ui/cn.js +0 -7
  520. package/dist/better-auth/plugin/payload/components/ui/cn.js.map +0 -1
  521. package/dist/better-auth/plugin/payload/components/ui/input.d.ts +0 -3
  522. package/dist/better-auth/plugin/payload/components/ui/input.js +0 -14
  523. package/dist/better-auth/plugin/payload/components/ui/input.js.map +0 -1
  524. package/dist/better-auth/plugin/payload/components/ui/label.d.ts +0 -4
  525. package/dist/better-auth/plugin/payload/components/ui/label.js +0 -15
  526. package/dist/better-auth/plugin/payload/components/ui/label.js.map +0 -1
  527. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +0 -2
  528. package/dist/better-auth/plugin/payload/components/ui/password-input.js +0 -55
  529. package/dist/better-auth/plugin/payload/components/ui/password-input.js.map +0 -1
  530. package/dist/better-auth/plugin/payload/exports/client.js.map +0 -1
  531. package/dist/better-auth/plugin/payload/exports/rsc.js.map +0 -1
  532. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js.map +0 -1
  533. package/dist/better-auth/plugin/payload/views/login/index.js.map +0 -1
  534. package/dist/better-auth/plugin/types.js.map +0 -1
  535. package/dist/better-auth/types.js.map +0 -1
  536. package/dist/clerk/index.js.map +0 -1
  537. package/dist/index.js.map +0 -1
  538. package/dist/kinde/index.js.map +0 -1
@@ -0,0 +1,345 @@
1
+ import { baseCollectionSlugs } from "../../constants";
2
+ import { isAdminOrCurrentUserUpdateWithAllowedFields, isAdminOrCurrentUserWithRoles, isAdminWithRoles } from "../utils/payload-access";
3
+ import { getRefreshTokenEndpoint } from "./endpoints/refresh-token";
4
+ import { onVerifiedChange } from "./hooks/on-verified-change";
5
+ import { getSyncAccountHook } from "./hooks/sync-account";
6
+ import { getBeforeLoginHook } from "./hooks/before-login";
7
+ import { getAfterLoginHook } from "./hooks/after-login";
8
+ import { getAfterLogoutHook } from "./hooks/after-logout";
9
+ import { getBeforeDeleteHook } from "./hooks/before-delete";
10
+ import { betterAuthStrategy } from "./better-auth-strategy";
11
+ import { getTimestampFields } from "../utils/get-timestamp-fields";
12
+ import { getLoginEndpoint } from "./endpoints/login";
13
+ import { getAllRoleOptions } from "../../../helpers/get-all-roles";
14
+ import { getForgotPasswordEndpoint } from "./endpoints/forgot-password";
15
+ import { getSignupEndpoint } from "./endpoints/signup";
16
+ import { getSetAdminRoleEndpoint } from "./endpoints/set-admin-role";
17
+ import { getResetPasswordEndpoint } from "./endpoints/reset-password";
18
+ import { getGenerateInviteUrlEndpoint } from "./endpoints/generate-invite-url";
19
+ import { getSendInviteUrlEndpoint } from "./endpoints/send-invite-url";
20
+ import { checkUsernamePlugin } from "../../../helpers/check-username-plugin";
21
+ export function buildUsersCollection({ incomingCollections, pluginOptions, betterAuthOptions }) {
22
+ const userSlug = pluginOptions.users?.slug ?? baseCollectionSlugs.users;
23
+ const accountSlug = pluginOptions.accounts?.slug ?? baseCollectionSlugs.accounts;
24
+ const sessionSlug = pluginOptions.sessions?.slug ?? baseCollectionSlugs.sessions;
25
+ const verificationsSlug = pluginOptions.verifications?.slug ?? baseCollectionSlugs.verifications;
26
+ const baPlugins = betterAuthOptions.plugins ?? null;
27
+ const adminRoles = pluginOptions.users?.adminRoles ?? [
28
+ "admin"
29
+ ];
30
+ const allRoleOptions = getAllRoleOptions(pluginOptions);
31
+ const hasUsernamePlugin = checkUsernamePlugin(betterAuthOptions);
32
+ const existingUserCollection = incomingCollections.find((collection)=>collection.slug === userSlug);
33
+ const allowedFields = pluginOptions.users?.allowedFields ?? [
34
+ "name"
35
+ ];
36
+ const baseUrl = betterAuthOptions.baseURL ?? process.env.NEXT_PUBLIC_URL ?? "http://localhost:3000";
37
+ let usersCollection = {
38
+ ...existingUserCollection,
39
+ slug: userSlug,
40
+ admin: {
41
+ defaultColumns: [
42
+ "email"
43
+ ],
44
+ useAsTitle: "email",
45
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
46
+ ...existingUserCollection?.admin,
47
+ hidden: pluginOptions.users?.hidden ?? false,
48
+ components: {
49
+ Description: {
50
+ path: "payload-auth/better-auth/plugin/client#AdminInviteButton",
51
+ clientProps: {
52
+ roles: allRoleOptions
53
+ }
54
+ },
55
+ views: {
56
+ edit: {
57
+ adminButtons: {
58
+ tab: {
59
+ Component: {
60
+ path: "payload-auth/better-auth/plugin/client#AdminButtons",
61
+ clientProps: {
62
+ userSlug
63
+ }
64
+ },
65
+ condition: ()=>{
66
+ // Only show the impersonate button if the admin plugin is enabled
67
+ return (baPlugins && baPlugins.some((plugin)=>plugin.id === "admin")) ?? false;
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ },
75
+ access: {
76
+ admin: ({ req })=>adminRoles.includes(req.user?.role ?? "user"),
77
+ read: isAdminOrCurrentUserWithRoles({
78
+ adminRoles,
79
+ idField: "id"
80
+ }),
81
+ create: isAdminWithRoles({
82
+ adminRoles
83
+ }),
84
+ delete: isAdminOrCurrentUserWithRoles({
85
+ adminRoles,
86
+ idField: "id"
87
+ }),
88
+ update: isAdminOrCurrentUserUpdateWithAllowedFields({
89
+ allowedFields,
90
+ adminRoles,
91
+ userSlug
92
+ }),
93
+ ...existingUserCollection?.access ?? {}
94
+ },
95
+ endpoints: [
96
+ ...existingUserCollection?.endpoints ? existingUserCollection.endpoints : [],
97
+ ...pluginOptions.disableDefaultPayloadAuth ? [
98
+ getLoginEndpoint(betterAuthOptions)
99
+ ] : [],
100
+ getSetAdminRoleEndpoint(pluginOptions, pluginOptions.users?.slug ?? "users"),
101
+ getGenerateInviteUrlEndpoint({
102
+ roles: allRoleOptions,
103
+ baseUrl,
104
+ pluginOptions
105
+ }),
106
+ getSendInviteUrlEndpoint(),
107
+ getSignupEndpoint(pluginOptions, betterAuthOptions),
108
+ getRefreshTokenEndpoint(userSlug),
109
+ getForgotPasswordEndpoint(),
110
+ getResetPasswordEndpoint()
111
+ ],
112
+ hooks: {
113
+ beforeChange: [
114
+ ...existingUserCollection?.hooks?.beforeChange ?? [],
115
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
116
+ onVerifiedChange
117
+ ]
118
+ ],
119
+ afterChange: [
120
+ ...existingUserCollection?.hooks?.afterChange ?? [],
121
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
122
+ getSyncAccountHook({
123
+ userSlug,
124
+ accountSlug
125
+ })
126
+ ]
127
+ ],
128
+ beforeLogin: [
129
+ ...existingUserCollection?.hooks?.beforeLogin ?? [],
130
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
131
+ getBeforeLoginHook()
132
+ ]
133
+ ],
134
+ afterLogin: [
135
+ ...existingUserCollection?.hooks?.afterLogin ?? [],
136
+ ...pluginOptions.disableDefaultPayloadAuth ? [] : [
137
+ getAfterLoginHook({
138
+ sessionsCollectionSlug: sessionSlug,
139
+ usersCollectionSlug: userSlug
140
+ })
141
+ ]
142
+ ],
143
+ afterLogout: [
144
+ ...existingUserCollection?.hooks?.afterLogout ?? [],
145
+ getAfterLogoutHook({
146
+ sessionsCollectionSlug: sessionSlug
147
+ })
148
+ ],
149
+ beforeDelete: [
150
+ ...existingUserCollection?.hooks?.beforeDelete ?? [],
151
+ getBeforeDeleteHook({
152
+ accountsSlug: accountSlug,
153
+ sessionsSlug: sessionSlug,
154
+ verificationsSlug: verificationsSlug
155
+ })
156
+ ]
157
+ },
158
+ auth: {
159
+ ...existingUserCollection && typeof existingUserCollection.auth === "object" ? existingUserCollection.auth : {},
160
+ disableLocalStrategy: pluginOptions.disableDefaultPayloadAuth ? true : undefined,
161
+ ...hasUsernamePlugin && {
162
+ loginWithUsername: {
163
+ allowEmailLogin: true,
164
+ requireEmail: true,
165
+ requireUsername: false
166
+ }
167
+ },
168
+ strategies: [
169
+ betterAuthStrategy(userSlug)
170
+ ]
171
+ },
172
+ fields: [
173
+ ...existingUserCollection?.fields ?? [],
174
+ {
175
+ name: "name",
176
+ type: "text",
177
+ label: "Name",
178
+ saveToJWT: true,
179
+ admin: {
180
+ description: "Users chosen display name"
181
+ }
182
+ },
183
+ {
184
+ name: "email",
185
+ type: "text",
186
+ required: true,
187
+ unique: true,
188
+ index: true,
189
+ label: "Email",
190
+ admin: {
191
+ description: "The email of the user"
192
+ }
193
+ },
194
+ {
195
+ name: "emailVerified",
196
+ type: "checkbox",
197
+ required: true,
198
+ defaultValue: false,
199
+ saveToJWT: true,
200
+ label: "Email Verified",
201
+ admin: {
202
+ description: "Whether the email of the user has been verified"
203
+ }
204
+ },
205
+ {
206
+ name: "image",
207
+ type: "text",
208
+ label: "Image",
209
+ saveToJWT: true,
210
+ admin: {
211
+ description: "The image of the user"
212
+ }
213
+ },
214
+ {
215
+ name: "role",
216
+ label: "Role",
217
+ type: "select",
218
+ required: true,
219
+ defaultValue: pluginOptions.users?.defaultRole ?? "user",
220
+ saveToJWT: true,
221
+ options: allRoleOptions,
222
+ admin: {
223
+ description: "The role of the user"
224
+ }
225
+ },
226
+ ...getTimestampFields({
227
+ saveUpdatedAtToJWT: false,
228
+ saveCreatedAtToJWT: false
229
+ })
230
+ ]
231
+ };
232
+ if (baPlugins) {
233
+ baPlugins.forEach((plugin)=>{
234
+ switch(plugin.id){
235
+ case "two-factor":
236
+ usersCollection.fields.push({
237
+ name: "twoFactorEnabled",
238
+ type: "checkbox",
239
+ defaultValue: false,
240
+ label: "Two Factor Enabled",
241
+ admin: {
242
+ description: "Whether the user has two factor authentication enabled"
243
+ }
244
+ });
245
+ break;
246
+ case "username":
247
+ usersCollection.fields.push({
248
+ name: "username",
249
+ type: "text",
250
+ unique: true,
251
+ required: false,
252
+ label: "Username",
253
+ admin: {
254
+ description: "The username of the user"
255
+ }
256
+ }, {
257
+ name: "displayUsername",
258
+ type: "text",
259
+ required: false,
260
+ label: "Display Username",
261
+ admin: {
262
+ description: "The display username of the user"
263
+ }
264
+ });
265
+ break;
266
+ case "anonymous":
267
+ usersCollection.fields.push({
268
+ name: "isAnonymous",
269
+ type: "checkbox",
270
+ defaultValue: false,
271
+ label: "Is Anonymous",
272
+ admin: {
273
+ description: "Whether the user is anonymous."
274
+ }
275
+ });
276
+ break;
277
+ case "phone-number":
278
+ usersCollection.fields.push({
279
+ name: "phoneNumber",
280
+ type: "text",
281
+ label: "Phone Number",
282
+ admin: {
283
+ description: "The phone number of the user"
284
+ }
285
+ }, {
286
+ name: "phoneNumberVerified",
287
+ type: "checkbox",
288
+ defaultValue: false,
289
+ label: "Phone Number Verified",
290
+ admin: {
291
+ description: "Whether the phone number of the user has been verified"
292
+ }
293
+ });
294
+ break;
295
+ case "admin":
296
+ usersCollection.fields.push({
297
+ name: "banned",
298
+ type: "checkbox",
299
+ defaultValue: false,
300
+ label: "Banned",
301
+ admin: {
302
+ description: "Whether the user is banned from the platform"
303
+ }
304
+ }, {
305
+ name: "banReason",
306
+ type: "text",
307
+ label: "Ban Reason",
308
+ admin: {
309
+ description: "The reason for the ban"
310
+ }
311
+ }, {
312
+ name: "banExpires",
313
+ type: "date",
314
+ label: "Ban Expires",
315
+ admin: {
316
+ description: "The date and time when the ban will expire"
317
+ }
318
+ });
319
+ break;
320
+ case "harmony-email":
321
+ usersCollection.fields.push({
322
+ name: "normalizedEmail",
323
+ type: "text",
324
+ required: false,
325
+ unique: true,
326
+ admin: {
327
+ readOnly: true,
328
+ description: "The normalized email of the user"
329
+ }
330
+ });
331
+ break;
332
+ default:
333
+ break;
334
+ }
335
+ });
336
+ }
337
+ if (pluginOptions.users?.collectionOverrides) {
338
+ usersCollection = pluginOptions.users.collectionOverrides({
339
+ collection: usersCollection
340
+ });
341
+ }
342
+ return usersCollection;
343
+ }
344
+
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tIFwicGF5bG9hZFwiO1xuaW1wb3J0IHR5cGUge1xuICBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyxcbiAgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgYmFzZUNvbGxlY3Rpb25TbHVncyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIGlzQWRtaW5PckN1cnJlbnRVc2VyVXBkYXRlV2l0aEFsbG93ZWRGaWVsZHMsXG4gIGlzQWRtaW5PckN1cnJlbnRVc2VyV2l0aFJvbGVzLFxuICBpc0FkbWluV2l0aFJvbGVzLFxufSBmcm9tIFwiLi4vdXRpbHMvcGF5bG9hZC1hY2Nlc3NcIjtcbmltcG9ydCB7IGdldFJlZnJlc2hUb2tlbkVuZHBvaW50IH0gZnJvbSBcIi4vZW5kcG9pbnRzL3JlZnJlc2gtdG9rZW5cIjtcbmltcG9ydCB7IG9uVmVyaWZpZWRDaGFuZ2UgfSBmcm9tIFwiLi9ob29rcy9vbi12ZXJpZmllZC1jaGFuZ2VcIjtcbmltcG9ydCB7IGdldFN5bmNBY2NvdW50SG9vayB9IGZyb20gXCIuL2hvb2tzL3N5bmMtYWNjb3VudFwiO1xuaW1wb3J0IHsgZ2V0QmVmb3JlTG9naW5Ib29rIH0gZnJvbSBcIi4vaG9va3MvYmVmb3JlLWxvZ2luXCI7XG5pbXBvcnQgeyBnZXRBZnRlckxvZ2luSG9vayB9IGZyb20gXCIuL2hvb2tzL2FmdGVyLWxvZ2luXCI7XG5pbXBvcnQgeyBnZXRBZnRlckxvZ291dEhvb2sgfSBmcm9tIFwiLi9ob29rcy9hZnRlci1sb2dvdXRcIjtcbmltcG9ydCB7IGdldEJlZm9yZURlbGV0ZUhvb2sgfSBmcm9tIFwiLi9ob29rcy9iZWZvcmUtZGVsZXRlXCI7XG5pbXBvcnQgeyBiZXR0ZXJBdXRoU3RyYXRlZ3kgfSBmcm9tIFwiLi9iZXR0ZXItYXV0aC1zdHJhdGVneVwiO1xuaW1wb3J0IHsgZ2V0VGltZXN0YW1wRmllbGRzIH0gZnJvbSBcIi4uL3V0aWxzL2dldC10aW1lc3RhbXAtZmllbGRzXCI7XG5pbXBvcnQgeyBnZXRMb2dpbkVuZHBvaW50IH0gZnJvbSBcIi4vZW5kcG9pbnRzL2xvZ2luXCI7XG5pbXBvcnQgeyBnZXRBbGxSb2xlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9oZWxwZXJzL2dldC1hbGwtcm9sZXNcIjtcbmltcG9ydCB7IGdldEZvcmdvdFBhc3N3b3JkRW5kcG9pbnQgfSBmcm9tIFwiLi9lbmRwb2ludHMvZm9yZ290LXBhc3N3b3JkXCI7XG5pbXBvcnQgeyBnZXRTaWdudXBFbmRwb2ludCB9IGZyb20gXCIuL2VuZHBvaW50cy9zaWdudXBcIjtcbmltcG9ydCB7IGdldFNldEFkbWluUm9sZUVuZHBvaW50IH0gZnJvbSBcIi4vZW5kcG9pbnRzL3NldC1hZG1pbi1yb2xlXCI7XG5pbXBvcnQgeyBnZXRSZXNldFBhc3N3b3JkRW5kcG9pbnQgfSBmcm9tIFwiLi9lbmRwb2ludHMvcmVzZXQtcGFzc3dvcmRcIjtcbmltcG9ydCB7IGdldEdlbmVyYXRlSW52aXRlVXJsRW5kcG9pbnQgfSBmcm9tIFwiLi9lbmRwb2ludHMvZ2VuZXJhdGUtaW52aXRlLXVybFwiO1xuaW1wb3J0IHsgZ2V0U2VuZEludml0ZVVybEVuZHBvaW50IH0gZnJvbSBcIi4vZW5kcG9pbnRzL3NlbmQtaW52aXRlLXVybFwiO1xuaW1wb3J0IHsgY2hlY2tVc2VybmFtZVBsdWdpbiB9IGZyb20gXCIuLi8uLi8uLi9oZWxwZXJzL2NoZWNrLXVzZXJuYW1lLXBsdWdpblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRVc2Vyc0NvbGxlY3Rpb24oe1xuICBpbmNvbWluZ0NvbGxlY3Rpb25zLFxuICBwbHVnaW5PcHRpb25zLFxuICBiZXR0ZXJBdXRoT3B0aW9ucyxcbn06IHtcbiAgaW5jb21pbmdDb2xsZWN0aW9uczogQ29sbGVjdGlvbkNvbmZpZ1tdO1xuICBwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucztcbiAgYmV0dGVyQXV0aE9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zO1xufSkge1xuICBjb25zdCB1c2VyU2x1ZyA9IHBsdWdpbk9wdGlvbnMudXNlcnM/LnNsdWcgPz8gYmFzZUNvbGxlY3Rpb25TbHVncy51c2VycztcbiAgY29uc3QgYWNjb3VudFNsdWcgPVxuICAgIHBsdWdpbk9wdGlvbnMuYWNjb3VudHM/LnNsdWcgPz8gYmFzZUNvbGxlY3Rpb25TbHVncy5hY2NvdW50cztcbiAgY29uc3Qgc2Vzc2lvblNsdWcgPVxuICAgIHBsdWdpbk9wdGlvbnMuc2Vzc2lvbnM/LnNsdWcgPz8gYmFzZUNvbGxlY3Rpb25TbHVncy5zZXNzaW9ucztcbiAgY29uc3QgdmVyaWZpY2F0aW9uc1NsdWcgPVxuICAgIHBsdWdpbk9wdGlvbnMudmVyaWZpY2F0aW9ucz8uc2x1ZyA/PyBiYXNlQ29sbGVjdGlvblNsdWdzLnZlcmlmaWNhdGlvbnM7XG4gIGNvbnN0IGJhUGx1Z2lucyA9IGJldHRlckF1dGhPcHRpb25zLnBsdWdpbnMgPz8gbnVsbDtcbiAgY29uc3QgYWRtaW5Sb2xlcyA9IHBsdWdpbk9wdGlvbnMudXNlcnM/LmFkbWluUm9sZXMgPz8gW1wiYWRtaW5cIl07XG4gIGNvbnN0IGFsbFJvbGVPcHRpb25zID0gZ2V0QWxsUm9sZU9wdGlvbnMocGx1Z2luT3B0aW9ucyk7XG4gIGNvbnN0IGhhc1VzZXJuYW1lUGx1Z2luID0gY2hlY2tVc2VybmFtZVBsdWdpbihiZXR0ZXJBdXRoT3B0aW9ucyk7XG4gIGNvbnN0IGV4aXN0aW5nVXNlckNvbGxlY3Rpb24gPSBpbmNvbWluZ0NvbGxlY3Rpb25zLmZpbmQoXG4gICAgKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uc2x1ZyA9PT0gdXNlclNsdWdcbiAgKSBhcyBDb2xsZWN0aW9uQ29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGFsbG93ZWRGaWVsZHMgPSBwbHVnaW5PcHRpb25zLnVzZXJzPy5hbGxvd2VkRmllbGRzID8/IFtcIm5hbWVcIl07XG5cbiAgY29uc3QgYmFzZVVybCA9XG4gICAgYmV0dGVyQXV0aE9wdGlvbnMuYmFzZVVSTCA/P1xuICAgIHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1VSTCA/P1xuICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwXCI7XG5cbiAgbGV0IHVzZXJzQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyA9IHtcbiAgICAuLi5leGlzdGluZ1VzZXJDb2xsZWN0aW9uLFxuICAgIHNsdWc6IHVzZXJTbHVnLFxuICAgIGFkbWluOiB7XG4gICAgICBkZWZhdWx0Q29sdW1uczogW1wiZW1haWxcIl0sXG4gICAgICB1c2VBc1RpdGxlOiBcImVtYWlsXCIsXG4gICAgICBncm91cDogcGx1Z2luT3B0aW9ucz8uY29sbGVjdGlvbkFkbWluR3JvdXAgPz8gXCJBdXRoXCIsXG4gICAgICAuLi5leGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5hZG1pbixcbiAgICAgIGhpZGRlbjogcGx1Z2luT3B0aW9ucy51c2Vycz8uaGlkZGVuID8/IGZhbHNlLFxuICAgICAgY29tcG9uZW50czoge1xuICAgICAgICBEZXNjcmlwdGlvbjoge1xuICAgICAgICAgIHBhdGg6IFwicGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9jbGllbnQjQWRtaW5JbnZpdGVCdXR0b25cIixcbiAgICAgICAgICBjbGllbnRQcm9wczoge1xuICAgICAgICAgICAgcm9sZXM6IGFsbFJvbGVPcHRpb25zLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZpZXdzOiB7XG4gICAgICAgICAgZWRpdDoge1xuICAgICAgICAgICAgYWRtaW5CdXR0b25zOiB7XG4gICAgICAgICAgICAgIHRhYjoge1xuICAgICAgICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgICAgcGF0aDogXCJwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL2NsaWVudCNBZG1pbkJ1dHRvbnNcIixcbiAgICAgICAgICAgICAgICAgIGNsaWVudFByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJTbHVnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gT25seSBzaG93IHRoZSBpbXBlcnNvbmF0ZSBidXR0b24gaWYgdGhlIGFkbWluIHBsdWdpbiBpcyBlbmFibGVkXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAoYmFQbHVnaW5zICYmXG4gICAgICAgICAgICAgICAgICAgICAgYmFQbHVnaW5zLnNvbWUoKHBsdWdpbikgPT4gcGx1Z2luLmlkID09PSBcImFkbWluXCIpKSA/P1xuICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGFjY2Vzczoge1xuICAgICAgYWRtaW46ICh7IHJlcSB9KSA9PlxuICAgICAgICBhZG1pblJvbGVzLmluY2x1ZGVzKChyZXEudXNlcj8ucm9sZSBhcyBzdHJpbmcpID8/IFwidXNlclwiKSxcbiAgICAgIHJlYWQ6IGlzQWRtaW5PckN1cnJlbnRVc2VyV2l0aFJvbGVzKHsgYWRtaW5Sb2xlcywgaWRGaWVsZDogXCJpZFwiIH0pLFxuICAgICAgY3JlYXRlOiBpc0FkbWluV2l0aFJvbGVzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICAgIGRlbGV0ZTogaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMoeyBhZG1pblJvbGVzLCBpZEZpZWxkOiBcImlkXCIgfSksXG4gICAgICB1cGRhdGU6IGlzQWRtaW5PckN1cnJlbnRVc2VyVXBkYXRlV2l0aEFsbG93ZWRGaWVsZHMoe1xuICAgICAgICBhbGxvd2VkRmllbGRzLFxuICAgICAgICBhZG1pblJvbGVzLFxuICAgICAgICB1c2VyU2x1ZyxcbiAgICAgIH0pLFxuICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/LmFjY2VzcyA/PyB7fSksXG4gICAgfSxcbiAgICBlbmRwb2ludHM6IFtcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5lbmRwb2ludHNcbiAgICAgICAgPyBleGlzdGluZ1VzZXJDb2xsZWN0aW9uLmVuZHBvaW50c1xuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLihwbHVnaW5PcHRpb25zLmRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGhcbiAgICAgICAgPyBbZ2V0TG9naW5FbmRwb2ludChiZXR0ZXJBdXRoT3B0aW9ucyldXG4gICAgICAgIDogW10pLFxuICAgICAgZ2V0U2V0QWRtaW5Sb2xlRW5kcG9pbnQoXG4gICAgICAgIHBsdWdpbk9wdGlvbnMsXG4gICAgICAgIHBsdWdpbk9wdGlvbnMudXNlcnM/LnNsdWcgPz8gXCJ1c2Vyc1wiXG4gICAgICApLFxuICAgICAgZ2V0R2VuZXJhdGVJbnZpdGVVcmxFbmRwb2ludCh7XG4gICAgICAgIHJvbGVzOiBhbGxSb2xlT3B0aW9ucyxcbiAgICAgICAgYmFzZVVybCxcbiAgICAgICAgcGx1Z2luT3B0aW9ucyxcbiAgICAgIH0pLFxuICAgICAgZ2V0U2VuZEludml0ZVVybEVuZHBvaW50KCksXG4gICAgICBnZXRTaWdudXBFbmRwb2ludChwbHVnaW5PcHRpb25zLCBiZXR0ZXJBdXRoT3B0aW9ucyksXG4gICAgICBnZXRSZWZyZXNoVG9rZW5FbmRwb2ludCh1c2VyU2x1ZyksXG4gICAgICBnZXRGb3Jnb3RQYXNzd29yZEVuZHBvaW50KCksXG4gICAgICBnZXRSZXNldFBhc3N3b3JkRW5kcG9pbnQoKSxcbiAgICBdLFxuICAgIGhvb2tzOiB7XG4gICAgICBiZWZvcmVDaGFuZ2U6IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5iZWZvcmVDaGFuZ2UgPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoID8gW10gOiBbb25WZXJpZmllZENoYW5nZV0pLFxuICAgICAgXSxcbiAgICAgIGFmdGVyQ2hhbmdlOiBbXG4gICAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5ob29rcz8uYWZ0ZXJDaGFuZ2UgPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW1xuICAgICAgICAgICAgICBnZXRTeW5jQWNjb3VudEhvb2soe1xuICAgICAgICAgICAgICAgIHVzZXJTbHVnLFxuICAgICAgICAgICAgICAgIGFjY291bnRTbHVnLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgXSxcbiAgICAgIGJlZm9yZUxvZ2luOiBbXG4gICAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5ob29rcz8uYmVmb3JlTG9naW4gPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW2dldEJlZm9yZUxvZ2luSG9vaygpXSksXG4gICAgICBdLFxuICAgICAgYWZ0ZXJMb2dpbjogW1xuICAgICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uaG9va3M/LmFmdGVyTG9naW4gPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW1xuICAgICAgICAgICAgICBnZXRBZnRlckxvZ2luSG9vayh7XG4gICAgICAgICAgICAgICAgc2Vzc2lvbnNDb2xsZWN0aW9uU2x1Zzogc2Vzc2lvblNsdWcsXG4gICAgICAgICAgICAgICAgdXNlcnNDb2xsZWN0aW9uU2x1ZzogdXNlclNsdWcsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSksXG4gICAgICBdLFxuICAgICAgYWZ0ZXJMb2dvdXQ6IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5hZnRlckxvZ291dCA/PyBbXSksXG4gICAgICAgIGdldEFmdGVyTG9nb3V0SG9vayh7IHNlc3Npb25zQ29sbGVjdGlvblNsdWc6IHNlc3Npb25TbHVnIH0pLFxuICAgICAgXSxcbiAgICAgIGJlZm9yZURlbGV0ZTogW1xuICAgICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uaG9va3M/LmJlZm9yZURlbGV0ZSA/PyBbXSksXG4gICAgICAgIGdldEJlZm9yZURlbGV0ZUhvb2soe1xuICAgICAgICAgIGFjY291bnRzU2x1ZzogYWNjb3VudFNsdWcsXG4gICAgICAgICAgc2Vzc2lvbnNTbHVnOiBzZXNzaW9uU2x1ZyxcbiAgICAgICAgICB2ZXJpZmljYXRpb25zU2x1ZzogdmVyaWZpY2F0aW9uc1NsdWcsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9LFxuICAgIGF1dGg6IHtcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uICYmXG4gICAgICB0eXBlb2YgZXhpc3RpbmdVc2VyQ29sbGVjdGlvbi5hdXRoID09PSBcIm9iamVjdFwiXG4gICAgICAgID8gZXhpc3RpbmdVc2VyQ29sbGVjdGlvbi5hdXRoXG4gICAgICAgIDoge30pLFxuICAgICAgZGlzYWJsZUxvY2FsU3RyYXRlZ3k6IHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAuLi4oaGFzVXNlcm5hbWVQbHVnaW4gJiYge1xuICAgICAgICBsb2dpbldpdGhVc2VybmFtZToge1xuICAgICAgICAgIGFsbG93RW1haWxMb2dpbjogdHJ1ZSxcbiAgICAgICAgICByZXF1aXJlRW1haWw6IHRydWUsXG4gICAgICAgICAgcmVxdWlyZVVzZXJuYW1lOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgc3RyYXRlZ2llczogW2JldHRlckF1dGhTdHJhdGVneSh1c2VyU2x1ZyldLFxuICAgIH0sXG4gICAgZmllbGRzOiBbXG4gICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uZmllbGRzID8/IFtdKSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJuYW1lXCIsXG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICBsYWJlbDogXCJOYW1lXCIsXG4gICAgICAgIHNhdmVUb0pXVDogdHJ1ZSxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJVc2VycyBjaG9zZW4gZGlzcGxheSBuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcImVtYWlsXCIsXG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdW5pcXVlOiB0cnVlLFxuICAgICAgICBpbmRleDogdHJ1ZSxcbiAgICAgICAgbGFiZWw6IFwiRW1haWxcIixcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgZW1haWwgb2YgdGhlIHVzZXJcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiZW1haWxWZXJpZmllZFwiLFxuICAgICAgICB0eXBlOiBcImNoZWNrYm94XCIsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICAgIGxhYmVsOiBcIkVtYWlsIFZlcmlmaWVkXCIsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiV2hldGhlciB0aGUgZW1haWwgb2YgdGhlIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWRcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiaW1hZ2VcIixcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIGxhYmVsOiBcIkltYWdlXCIsXG4gICAgICAgIHNhdmVUb0pXVDogdHJ1ZSxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgaW1hZ2Ugb2YgdGhlIHVzZXJcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwicm9sZVwiLFxuICAgICAgICBsYWJlbDogXCJSb2xlXCIsXG4gICAgICAgIHR5cGU6IFwic2VsZWN0XCIsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHBsdWdpbk9wdGlvbnMudXNlcnM/LmRlZmF1bHRSb2xlID8/IFwidXNlclwiLFxuICAgICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICAgIG9wdGlvbnM6IGFsbFJvbGVPcHRpb25zLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByb2xlIG9mIHRoZSB1c2VyXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgLi4uZ2V0VGltZXN0YW1wRmllbGRzKHtcbiAgICAgICAgc2F2ZVVwZGF0ZWRBdFRvSldUOiBmYWxzZSxcbiAgICAgICAgc2F2ZUNyZWF0ZWRBdFRvSldUOiBmYWxzZSxcbiAgICAgIH0pLFxuICAgIF0sXG4gIH07XG5cbiAgaWYgKGJhUGx1Z2lucykge1xuICAgIGJhUGx1Z2lucy5mb3JFYWNoKChwbHVnaW4pID0+IHtcbiAgICAgIHN3aXRjaCAocGx1Z2luLmlkKSB7XG4gICAgICAgIGNhc2UgXCJ0d28tZmFjdG9yXCI6XG4gICAgICAgICAgdXNlcnNDb2xsZWN0aW9uLmZpZWxkcy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IFwidHdvRmFjdG9yRW5hYmxlZFwiLFxuICAgICAgICAgICAgdHlwZTogXCJjaGVja2JveFwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgIGxhYmVsOiBcIlR3byBGYWN0b3IgRW5hYmxlZFwiLFxuICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCJXaGV0aGVyIHRoZSB1c2VyIGhhcyB0d28gZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGVuYWJsZWRcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJ1c2VybmFtZVwiOlxuICAgICAgICAgIHVzZXJzQ29sbGVjdGlvbi5maWVsZHMucHVzaChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJ1c2VybmFtZVwiLFxuICAgICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICAgICAgdW5pcXVlOiB0cnVlLFxuICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsIC8vIFRPRE86IGRlY2lkZSBpZiB0aGlzIHNob3VsZCBiZSByZXF1aXJlZCwgd2lsbCBoYXZlIHRvIHRlbGwgdXNlcnMgdGhleSBuZWVkIHRvIGFkZCB1aSBmb3IgaXQuXG4gICAgICAgICAgICAgIGxhYmVsOiBcIlVzZXJuYW1lXCIsXG4gICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHVzZXJuYW1lIG9mIHRoZSB1c2VyXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiBcImRpc3BsYXlVc2VybmFtZVwiLFxuICAgICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICBsYWJlbDogXCJEaXNwbGF5IFVzZXJuYW1lXCIsXG4gICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGRpc3BsYXkgdXNlcm5hbWUgb2YgdGhlIHVzZXJcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiYW5vbnltb3VzXCI6XG4gICAgICAgICAgdXNlcnNDb2xsZWN0aW9uLmZpZWxkcy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXNBbm9ueW1vdXNcIixcbiAgICAgICAgICAgIHR5cGU6IFwiY2hlY2tib3hcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICAgICAgICBsYWJlbDogXCJJcyBBbm9ueW1vdXNcIixcbiAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdGhlIHVzZXIgaXMgYW5vbnltb3VzLlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInBob25lLW51bWJlclwiOlxuICAgICAgICAgIHVzZXJzQ29sbGVjdGlvbi5maWVsZHMucHVzaChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJwaG9uZU51bWJlclwiLFxuICAgICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICAgICAgbGFiZWw6IFwiUGhvbmUgTnVtYmVyXCIsXG4gICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHBob25lIG51bWJlciBvZiB0aGUgdXNlclwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJwaG9uZU51bWJlclZlcmlmaWVkXCIsXG4gICAgICAgICAgICAgIHR5cGU6IFwiY2hlY2tib3hcIixcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgbGFiZWw6IFwiUGhvbmUgTnVtYmVyIFZlcmlmaWVkXCIsXG4gICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgICBcIldoZXRoZXIgdGhlIHBob25lIG51bWJlciBvZiB0aGUgdXNlciBoYXMgYmVlbiB2ZXJpZmllZFwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJhZG1pblwiOlxuICAgICAgICAgIHVzZXJzQ29sbGVjdGlvbi5maWVsZHMucHVzaChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJiYW5uZWRcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJjaGVja2JveFwiLFxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICBsYWJlbDogXCJCYW5uZWRcIixcbiAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSB1c2VyIGlzIGJhbm5lZCBmcm9tIHRoZSBwbGF0Zm9ybVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJiYW5SZWFzb25cIixcbiAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICAgIGxhYmVsOiBcIkJhbiBSZWFzb25cIixcbiAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVhc29uIGZvciB0aGUgYmFuXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiBcImJhbkV4cGlyZXNcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJkYXRlXCIsXG4gICAgICAgICAgICAgIGxhYmVsOiBcIkJhbiBFeHBpcmVzXCIsXG4gICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgYmFuIHdpbGwgZXhwaXJlXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImhhcm1vbnktZW1haWxcIjpcbiAgICAgICAgICB1c2Vyc0NvbGxlY3Rpb24uZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgbmFtZTogXCJub3JtYWxpemVkRW1haWxcIixcbiAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgdW5pcXVlOiB0cnVlLFxuICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBub3JtYWxpemVkIGVtYWlsIG9mIHRoZSB1c2VyXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaWYgKHBsdWdpbk9wdGlvbnMudXNlcnM/LmNvbGxlY3Rpb25PdmVycmlkZXMpIHtcbiAgICB1c2Vyc0NvbGxlY3Rpb24gPSBwbHVnaW5PcHRpb25zLnVzZXJzLmNvbGxlY3Rpb25PdmVycmlkZXMoe1xuICAgICAgY29sbGVjdGlvbjogdXNlcnNDb2xsZWN0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHVzZXJzQ29sbGVjdGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJiYXNlQ29sbGVjdGlvblNsdWdzIiwiaXNBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVXaXRoQWxsb3dlZEZpZWxkcyIsImlzQWRtaW5PckN1cnJlbnRVc2VyV2l0aFJvbGVzIiwiaXNBZG1pbldpdGhSb2xlcyIsImdldFJlZnJlc2hUb2tlbkVuZHBvaW50Iiwib25WZXJpZmllZENoYW5nZSIsImdldFN5bmNBY2NvdW50SG9vayIsImdldEJlZm9yZUxvZ2luSG9vayIsImdldEFmdGVyTG9naW5Ib29rIiwiZ2V0QWZ0ZXJMb2dvdXRIb29rIiwiZ2V0QmVmb3JlRGVsZXRlSG9vayIsImJldHRlckF1dGhTdHJhdGVneSIsImdldFRpbWVzdGFtcEZpZWxkcyIsImdldExvZ2luRW5kcG9pbnQiLCJnZXRBbGxSb2xlT3B0aW9ucyIsImdldEZvcmdvdFBhc3N3b3JkRW5kcG9pbnQiLCJnZXRTaWdudXBFbmRwb2ludCIsImdldFNldEFkbWluUm9sZUVuZHBvaW50IiwiZ2V0UmVzZXRQYXNzd29yZEVuZHBvaW50IiwiZ2V0R2VuZXJhdGVJbnZpdGVVcmxFbmRwb2ludCIsImdldFNlbmRJbnZpdGVVcmxFbmRwb2ludCIsImNoZWNrVXNlcm5hbWVQbHVnaW4iLCJidWlsZFVzZXJzQ29sbGVjdGlvbiIsImluY29taW5nQ29sbGVjdGlvbnMiLCJwbHVnaW5PcHRpb25zIiwiYmV0dGVyQXV0aE9wdGlvbnMiLCJ1c2VyU2x1ZyIsInVzZXJzIiwic2x1ZyIsImFjY291bnRTbHVnIiwiYWNjb3VudHMiLCJzZXNzaW9uU2x1ZyIsInNlc3Npb25zIiwidmVyaWZpY2F0aW9uc1NsdWciLCJ2ZXJpZmljYXRpb25zIiwiYmFQbHVnaW5zIiwicGx1Z2lucyIsImFkbWluUm9sZXMiLCJhbGxSb2xlT3B0aW9ucyIsImhhc1VzZXJuYW1lUGx1Z2luIiwiZXhpc3RpbmdVc2VyQ29sbGVjdGlvbiIsImZpbmQiLCJjb2xsZWN0aW9uIiwiYWxsb3dlZEZpZWxkcyIsImJhc2VVcmwiLCJiYXNlVVJMIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX1VSTCIsInVzZXJzQ29sbGVjdGlvbiIsImFkbWluIiwiZGVmYXVsdENvbHVtbnMiLCJ1c2VBc1RpdGxlIiwiZ3JvdXAiLCJjb2xsZWN0aW9uQWRtaW5Hcm91cCIsImhpZGRlbiIsImNvbXBvbmVudHMiLCJEZXNjcmlwdGlvbiIsInBhdGgiLCJjbGllbnRQcm9wcyIsInJvbGVzIiwidmlld3MiLCJlZGl0IiwiYWRtaW5CdXR0b25zIiwidGFiIiwiQ29tcG9uZW50IiwiY29uZGl0aW9uIiwic29tZSIsInBsdWdpbiIsImlkIiwiYWNjZXNzIiwicmVxIiwiaW5jbHVkZXMiLCJ1c2VyIiwicm9sZSIsInJlYWQiLCJpZEZpZWxkIiwiY3JlYXRlIiwiZGVsZXRlIiwidXBkYXRlIiwiZW5kcG9pbnRzIiwiZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCIsImhvb2tzIiwiYmVmb3JlQ2hhbmdlIiwiYWZ0ZXJDaGFuZ2UiLCJiZWZvcmVMb2dpbiIsImFmdGVyTG9naW4iLCJzZXNzaW9uc0NvbGxlY3Rpb25TbHVnIiwidXNlcnNDb2xsZWN0aW9uU2x1ZyIsImFmdGVyTG9nb3V0IiwiYmVmb3JlRGVsZXRlIiwiYWNjb3VudHNTbHVnIiwic2Vzc2lvbnNTbHVnIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwidW5kZWZpbmVkIiwibG9naW5XaXRoVXNlcm5hbWUiLCJhbGxvd0VtYWlsTG9naW4iLCJyZXF1aXJlRW1haWwiLCJyZXF1aXJlVXNlcm5hbWUiLCJzdHJhdGVnaWVzIiwiZmllbGRzIiwibmFtZSIsInR5cGUiLCJsYWJlbCIsInNhdmVUb0pXVCIsImRlc2NyaXB0aW9uIiwicmVxdWlyZWQiLCJ1bmlxdWUiLCJpbmRleCIsImRlZmF1bHRWYWx1ZSIsImRlZmF1bHRSb2xlIiwib3B0aW9ucyIsInNhdmVVcGRhdGVkQXRUb0pXVCIsInNhdmVDcmVhdGVkQXRUb0pXVCIsImZvckVhY2giLCJwdXNoIiwicmVhZE9ubHkiLCJjb2xsZWN0aW9uT3ZlcnJpZGVzIl0sIm1hcHBpbmdzIjoiQUFLQSxTQUFTQSxtQkFBbUIsUUFBUSxrQkFBa0I7QUFDdEQsU0FDRUMsMkNBQTJDLEVBQzNDQyw2QkFBNkIsRUFDN0JDLGdCQUFnQixRQUNYLDBCQUEwQjtBQUNqQyxTQUFTQyx1QkFBdUIsUUFBUSw0QkFBNEI7QUFDcEUsU0FBU0MsZ0JBQWdCLFFBQVEsNkJBQTZCO0FBQzlELFNBQVNDLGtCQUFrQixRQUFRLHVCQUF1QjtBQUMxRCxTQUFTQyxrQkFBa0IsUUFBUSx1QkFBdUI7QUFDMUQsU0FBU0MsaUJBQWlCLFFBQVEsc0JBQXNCO0FBQ3hELFNBQVNDLGtCQUFrQixRQUFRLHVCQUF1QjtBQUMxRCxTQUFTQyxtQkFBbUIsUUFBUSx3QkFBd0I7QUFDNUQsU0FBU0Msa0JBQWtCLFFBQVEseUJBQXlCO0FBQzVELFNBQVNDLGtCQUFrQixRQUFRLGdDQUFnQztBQUNuRSxTQUFTQyxnQkFBZ0IsUUFBUSxvQkFBb0I7QUFDckQsU0FBU0MsaUJBQWlCLFFBQVEsaUNBQWlDO0FBQ25FLFNBQVNDLHlCQUF5QixRQUFRLDhCQUE4QjtBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFDdkQsU0FBU0MsdUJBQXVCLFFBQVEsNkJBQTZCO0FBQ3JFLFNBQVNDLHdCQUF3QixRQUFRLDZCQUE2QjtBQUN0RSxTQUFTQyw0QkFBNEIsUUFBUSxrQ0FBa0M7QUFDL0UsU0FBU0Msd0JBQXdCLFFBQVEsOEJBQThCO0FBQ3ZFLFNBQVNDLG1CQUFtQixRQUFRLHlDQUF5QztBQUU3RSxPQUFPLFNBQVNDLHFCQUFxQixFQUNuQ0MsbUJBQW1CLEVBQ25CQyxhQUFhLEVBQ2JDLGlCQUFpQixFQUtsQjtJQUNDLE1BQU1DLFdBQVdGLGNBQWNHLEtBQUssRUFBRUMsUUFBUTVCLG9CQUFvQjJCLEtBQUs7SUFD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
@@ -0,0 +1,8 @@
1
+ import { 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,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL2dldC10aW1lc3RhbXAtZmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkIH0gZnJvbSBcInBheWxvYWRcIjtcblxuaW50ZXJmYWNlIEdldFRpbWVzdGFtcEZpZWxkc09wdGlvbnMge1xuICBzYXZlVXBkYXRlZEF0VG9KV1Q/OiBib29sZWFuO1xuICBzYXZlQ3JlYXRlZEF0VG9KV1Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZXN0YW1wRmllbGRzKFxuICBvcHRpb25zOiBHZXRUaW1lc3RhbXBGaWVsZHNPcHRpb25zID0ge1xuICAgIHNhdmVVcGRhdGVkQXRUb0pXVDogdHJ1ZSxcbiAgICBzYXZlQ3JlYXRlZEF0VG9KV1Q6IHRydWUsXG4gIH1cbik6IEZpZWxkW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIG5hbWU6IFwidXBkYXRlZEF0XCIsXG4gICAgICB0eXBlOiBcImRhdGVcIixcbiAgICAgIHNhdmVUb0pXVDogb3B0aW9ucy5zYXZlVXBkYXRlZEF0VG9KV1QsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBkaXNhYmxlQnVsa0VkaXQ6IHRydWUsXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBpbmRleDogdHJ1ZSxcbiAgICAgIGxhYmVsOiAoeyB0IH0pID0+IHQoXCJnZW5lcmFsOnVwZGF0ZWRBdFwiKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiY3JlYXRlZEF0XCIsXG4gICAgICBzYXZlVG9KV1Q6IG9wdGlvbnMuc2F2ZUNyZWF0ZWRBdFRvSldULFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgZGlzYWJsZUJ1bGtFZGl0OiB0cnVlLFxuICAgICAgICBoaWRkZW46IHRydWUsXG4gICAgICB9LFxuICAgICAgdHlwZTogXCJkYXRlXCIsXG4gICAgICBpbmRleDogdHJ1ZSxcbiAgICAgIGxhYmVsOiAoeyB0IH0pID0+IHQoXCJnZW5lcmFsOmNyZWF0ZWRBdFwiKSxcbiAgICB9LFxuICBdO1xufVxuIl0sIm5hbWVzIjpbImdldFRpbWVzdGFtcEZpZWxkcyIsIm9wdGlvbnMiLCJzYXZlVXBkYXRlZEF0VG9KV1QiLCJzYXZlQ3JlYXRlZEF0VG9KV1QiLCJuYW1lIiwidHlwZSIsInNhdmVUb0pXVCIsImFkbWluIiwiZGlzYWJsZUJ1bGtFZGl0IiwiaGlkZGVuIiwiaW5kZXgiLCJsYWJlbCIsInQiXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sU0FBU0EsbUJBQ2RDLFVBQXFDO0lBQ25DQyxvQkFBb0I7SUFDcEJDLG9CQUFvQjtBQUN0QixDQUFDO0lBRUQsT0FBTztRQUNMO1lBQ0VDLE1BQU07WUFDTkMsTUFBTTtZQUNOQyxXQUFXTCxRQUFRQyxrQkFBa0I7WUFDckNLLE9BQU87Z0JBQ0xDLGlCQUFpQjtnQkFDakJDLFFBQVE7WUFDVjtZQUNBQyxPQUFPO1lBQ1BDLE9BQU8sQ0FBQyxFQUFFQyxDQUFDLEVBQUUsR0FBS0EsRUFBRTtRQUN0QjtRQUNBO1lBQ0VSLE1BQU07WUFDTkUsV0FBV0wsUUFBUUUsa0JBQWtCO1lBQ3JDSSxPQUFPO2dCQUNMQyxpQkFBaUI7Z0JBQ2pCQyxRQUFRO1lBQ1Y7WUFDQUosTUFBTTtZQUNOSyxPQUFPO1lBQ1BDLE9BQU8sQ0FBQyxFQUFFQyxDQUFDLEVBQUUsR0FBS0EsRUFBRTtRQUN0QjtLQUNEO0FBQ0gifQ==
@@ -1,4 +1,4 @@
1
- import type { Access, FieldAccess } from 'payload';
1
+ import type { Access, FieldAccess } from "payload";
2
2
  export type AdminRolesConfig = {
3
3
  adminRoles?: string[];
4
4
  };
@@ -12,3 +12,4 @@ export type AdminOrCurrentUserUpdateConfig = AdminOrCurrentUserConfig & {
12
12
  export declare const isAdminWithRoles: (config?: AdminRolesConfig) => FieldAccess;
13
13
  export declare const isAdminOrCurrentUserWithRoles: (config?: AdminOrCurrentUserConfig) => Access;
14
14
  export declare const isAdminOrCurrentUserUpdateWithAllowedFields: (config: AdminOrCurrentUserUpdateConfig) => Access;
15
+ //# sourceMappingURL=payload-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload-access.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/payload-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,GAAG;IACtE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC1B,SAAQ,gBAAqB,KAAG,WAMhC,CAAC;AAEJ,eAAO,MAAM,6BAA6B,GACvC,SAAQ,wBAA6B,KAAG,MAUxC,CAAC;AAEJ,eAAO,MAAM,2CAA2C,GACtD,QAAQ,8BAA8B,KACrC,MAkDF,CAAC"}
@@ -0,0 +1,64 @@
1
+ export const isAdminWithRoles = (config = {})=>({ req })=>{
2
+ const { adminRoles = [
3
+ "admin"
4
+ ] } = config;
5
+ if (!req?.user || !req.user.role || !adminRoles.includes(req.user.role)) return false;
6
+ return true;
7
+ };
8
+ export const isAdminOrCurrentUserWithRoles = (config = {})=>({ req })=>{
9
+ const { adminRoles = [
10
+ "admin"
11
+ ], idField = "id" } = config;
12
+ if (isAdminWithRoles({
13
+ adminRoles
14
+ })({
15
+ req
16
+ })) return true;
17
+ if (!req?.user) return false;
18
+ return {
19
+ [idField]: {
20
+ equals: req?.user?.id
21
+ }
22
+ };
23
+ };
24
+ export const isAdminOrCurrentUserUpdateWithAllowedFields = (config)=>{
25
+ return async ({ req, id, data })=>{
26
+ const { adminRoles = [
27
+ "admin"
28
+ ], allowedFields = [], userSlug, idField = "id" } = config;
29
+ const user = req.user;
30
+ if (isAdminWithRoles({
31
+ adminRoles
32
+ })({
33
+ req
34
+ })) return true;
35
+ if (!user) return false;
36
+ if (user[idField] === id && data) {
37
+ const dataKeys = Object.keys(data);
38
+ const hasCurrentPassword = dataKeys.includes("currentPassword");
39
+ const hasPassword = dataKeys.includes("password");
40
+ if (hasPassword || hasCurrentPassword) {
41
+ if (!(hasCurrentPassword && hasPassword)) return false;
42
+ try {
43
+ if (!user.email) return false;
44
+ const result = await req.payload.login({
45
+ collection: userSlug,
46
+ data: {
47
+ email: user.email,
48
+ password: data.currentPassword
49
+ }
50
+ });
51
+ if (!result) return false;
52
+ allowedFields.push("password", "currentPassword");
53
+ } catch (error) {
54
+ return false;
55
+ }
56
+ }
57
+ const hasDisallowedField = dataKeys.some((key)=>!allowedFields.includes(key));
58
+ return !hasDisallowedField;
59
+ }
60
+ return false;
61
+ };
62
+ };
63
+
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL3BheWxvYWQtYWNjZXNzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWNjZXNzLCBGaWVsZEFjY2VzcyB9IGZyb20gXCJwYXlsb2FkXCI7XG5cbmV4cG9ydCB0eXBlIEFkbWluUm9sZXNDb25maWcgPSB7XG4gIGFkbWluUm9sZXM/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEFkbWluT3JDdXJyZW50VXNlckNvbmZpZyA9IEFkbWluUm9sZXNDb25maWcgJiB7XG4gIGlkRmllbGQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVDb25maWcgPSBBZG1pbk9yQ3VycmVudFVzZXJDb25maWcgJiB7XG4gIGFsbG93ZWRGaWVsZHM/OiBzdHJpbmdbXTtcbiAgdXNlclNsdWc6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0FkbWluV2l0aFJvbGVzID1cbiAgKGNvbmZpZzogQWRtaW5Sb2xlc0NvbmZpZyA9IHt9KTogRmllbGRBY2Nlc3MgPT5cbiAgKHsgcmVxIH0pID0+IHtcbiAgICBjb25zdCB7IGFkbWluUm9sZXMgPSBbXCJhZG1pblwiXSB9ID0gY29uZmlnO1xuICAgIGlmICghcmVxPy51c2VyIHx8ICFyZXEudXNlci5yb2xlIHx8ICFhZG1pblJvbGVzLmluY2x1ZGVzKHJlcS51c2VyLnJvbGUpKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG5leHBvcnQgY29uc3QgaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMgPVxuICAoY29uZmlnOiBBZG1pbk9yQ3VycmVudFVzZXJDb25maWcgPSB7fSk6IEFjY2VzcyA9PlxuICAoeyByZXEgfSkgPT4ge1xuICAgIGNvbnN0IHsgYWRtaW5Sb2xlcyA9IFtcImFkbWluXCJdLCBpZEZpZWxkID0gXCJpZFwiIH0gPSBjb25maWc7XG4gICAgaWYgKGlzQWRtaW5XaXRoUm9sZXMoeyBhZG1pblJvbGVzIH0pKHsgcmVxIH0pKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIXJlcT8udXNlcikgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB7XG4gICAgICBbaWRGaWVsZF06IHtcbiAgICAgICAgZXF1YWxzOiByZXE/LnVzZXI/LmlkLFxuICAgICAgfSxcbiAgICB9O1xuICB9O1xuXG5leHBvcnQgY29uc3QgaXNBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVXaXRoQWxsb3dlZEZpZWxkcyA9IChcbiAgY29uZmlnOiBBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVDb25maWdcbik6IEFjY2VzcyA9PiB7XG4gIHJldHVybiBhc3luYyAoeyByZXEsIGlkLCBkYXRhIH0pID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBhZG1pblJvbGVzID0gW1wiYWRtaW5cIl0sXG4gICAgICBhbGxvd2VkRmllbGRzID0gW10sXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGlkRmllbGQgPSBcImlkXCIsXG4gICAgfSA9IGNvbmZpZztcbiAgICBjb25zdCB1c2VyID0gcmVxLnVzZXI7XG5cbiAgICBpZiAoaXNBZG1pbldpdGhSb2xlcyh7IGFkbWluUm9sZXMgfSkoeyByZXEgfSkpIHJldHVybiB0cnVlO1xuXG4gICAgaWYgKCF1c2VyKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAodXNlcltpZEZpZWxkXSA9PT0gaWQgJiYgZGF0YSkge1xuICAgICAgY29uc3QgZGF0YUtleXMgPSBPYmplY3Qua2V5cyhkYXRhKTtcblxuICAgICAgY29uc3QgaGFzQ3VycmVudFBhc3N3b3JkID0gZGF0YUtleXMuaW5jbHVkZXMoXCJjdXJyZW50UGFzc3dvcmRcIik7XG4gICAgICBjb25zdCBoYXNQYXNzd29yZCA9IGRhdGFLZXlzLmluY2x1ZGVzKFwicGFzc3dvcmRcIik7XG5cbiAgICAgIGlmIChoYXNQYXNzd29yZCB8fCBoYXNDdXJyZW50UGFzc3dvcmQpIHtcbiAgICAgICAgaWYgKCEoaGFzQ3VycmVudFBhc3N3b3JkICYmIGhhc1Bhc3N3b3JkKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICghdXNlci5lbWFpbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVxLnBheWxvYWQubG9naW4oe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogdXNlclNsdWcsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIGVtYWlsOiB1c2VyLmVtYWlsLFxuICAgICAgICAgICAgICBwYXNzd29yZDogZGF0YS5jdXJyZW50UGFzc3dvcmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKCFyZXN1bHQpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgIGFsbG93ZWRGaWVsZHMucHVzaChcInBhc3N3b3JkXCIsIFwiY3VycmVudFBhc3N3b3JkXCIpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBoYXNEaXNhbGxvd2VkRmllbGQgPSBkYXRhS2V5cy5zb21lKFxuICAgICAgICAoa2V5KSA9PiAhYWxsb3dlZEZpZWxkcy5pbmNsdWRlcyhrZXkpXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gIWhhc0Rpc2FsbG93ZWRGaWVsZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59O1xuIl0sIm5hbWVzIjpbImlzQWRtaW5XaXRoUm9sZXMiLCJjb25maWciLCJyZXEiLCJhZG1pblJvbGVzIiwidXNlciIsInJvbGUiLCJpbmNsdWRlcyIsImlzQWRtaW5PckN1cnJlbnRVc2VyV2l0aFJvbGVzIiwiaWRGaWVsZCIsImVxdWFscyIsImlkIiwiaXNBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVXaXRoQWxsb3dlZEZpZWxkcyIsImRhdGEiLCJhbGxvd2VkRmllbGRzIiwidXNlclNsdWciLCJkYXRhS2V5cyIsIk9iamVjdCIsImtleXMiLCJoYXNDdXJyZW50UGFzc3dvcmQiLCJoYXNQYXNzd29yZCIsImVtYWlsIiwicmVzdWx0IiwicGF5bG9hZCIsImxvZ2luIiwiY29sbGVjdGlvbiIsInBhc3N3b3JkIiwiY3VycmVudFBhc3N3b3JkIiwicHVzaCIsImVycm9yIiwiaGFzRGlzYWxsb3dlZEZpZWxkIiwic29tZSIsImtleSJdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxNQUFNQSxtQkFDWCxDQUFDQyxTQUEyQixDQUFDLENBQUMsR0FDOUIsQ0FBQyxFQUFFQyxHQUFHLEVBQUU7UUFDTixNQUFNLEVBQUVDLGFBQWE7WUFBQztTQUFRLEVBQUUsR0FBR0Y7UUFDbkMsSUFBSSxDQUFDQyxLQUFLRSxRQUFRLENBQUNGLElBQUlFLElBQUksQ0FBQ0MsSUFBSSxJQUFJLENBQUNGLFdBQVdHLFFBQVEsQ0FBQ0osSUFBSUUsSUFBSSxDQUFDQyxJQUFJLEdBQ3BFLE9BQU87UUFDVCxPQUFPO0lBQ1QsRUFBRTtBQUVKLE9BQU8sTUFBTUUsZ0NBQ1gsQ0FBQ04sU0FBbUMsQ0FBQyxDQUFDLEdBQ3RDLENBQUMsRUFBRUMsR0FBRyxFQUFFO1FBQ04sTUFBTSxFQUFFQyxhQUFhO1lBQUM7U0FBUSxFQUFFSyxVQUFVLElBQUksRUFBRSxHQUFHUDtRQUNuRCxJQUFJRCxpQkFBaUI7WUFBRUc7UUFBVyxHQUFHO1lBQUVEO1FBQUksSUFBSSxPQUFPO1FBQ3RELElBQUksQ0FBQ0EsS0FBS0UsTUFBTSxPQUFPO1FBQ3ZCLE9BQU87WUFDTCxDQUFDSSxRQUFRLEVBQUU7Z0JBQ1RDLFFBQVFQLEtBQUtFLE1BQU1NO1lBQ3JCO1FBQ0Y7SUFDRixFQUFFO0FBRUosT0FBTyxNQUFNQyw4Q0FBOEMsQ0FDekRWO0lBRUEsT0FBTyxPQUFPLEVBQUVDLEdBQUcsRUFBRVEsRUFBRSxFQUFFRSxJQUFJLEVBQUU7UUFDN0IsTUFBTSxFQUNKVCxhQUFhO1lBQUM7U0FBUSxFQUN0QlUsZ0JBQWdCLEVBQUUsRUFDbEJDLFFBQVEsRUFDUk4sVUFBVSxJQUFJLEVBQ2YsR0FBR1A7UUFDSixNQUFNRyxPQUFPRixJQUFJRSxJQUFJO1FBRXJCLElBQUlKLGlCQUFpQjtZQUFFRztRQUFXLEdBQUc7WUFBRUQ7UUFBSSxJQUFJLE9BQU87UUFFdEQsSUFBSSxDQUFDRSxNQUFNLE9BQU87UUFFbEIsSUFBSUEsSUFBSSxDQUFDSSxRQUFRLEtBQUtFLE1BQU1FLE1BQU07WUFDaEMsTUFBTUcsV0FBV0MsT0FBT0MsSUFBSSxDQUFDTDtZQUU3QixNQUFNTSxxQkFBcUJILFNBQVNULFFBQVEsQ0FBQztZQUM3QyxNQUFNYSxjQUFjSixTQUFTVCxRQUFRLENBQUM7WUFFdEMsSUFBSWEsZUFBZUQsb0JBQW9CO2dCQUNyQyxJQUFJLENBQUVBLENBQUFBLHNCQUFzQkMsV0FBVSxHQUFJLE9BQU87Z0JBQ2pELElBQUk7b0JBQ0YsSUFBSSxDQUFDZixLQUFLZ0IsS0FBSyxFQUFFLE9BQU87b0JBRXhCLE1BQU1DLFNBQVMsTUFBTW5CLElBQUlvQixPQUFPLENBQUNDLEtBQUssQ0FBQzt3QkFDckNDLFlBQVlWO3dCQUNaRixNQUFNOzRCQUNKUSxPQUFPaEIsS0FBS2dCLEtBQUs7NEJBQ2pCSyxVQUFVYixLQUFLYyxlQUFlO3dCQUNoQztvQkFDRjtvQkFFQSxJQUFJLENBQUNMLFFBQVEsT0FBTztvQkFFcEJSLGNBQWNjLElBQUksQ0FBQyxZQUFZO2dCQUNqQyxFQUFFLE9BQU9DLE9BQU87b0JBQ2QsT0FBTztnQkFDVDtZQUNGO1lBRUEsTUFBTUMscUJBQXFCZCxTQUFTZSxJQUFJLENBQ3RDLENBQUNDLE1BQVEsQ0FBQ2xCLGNBQWNQLFFBQVEsQ0FBQ3lCO1lBR25DLE9BQU8sQ0FBQ0Y7UUFDVjtRQUVBLE9BQU87SUFDVDtBQUNGLEVBQUUifQ==
@@ -0,0 +1,7 @@
1
+ import { CollectionConfig } from "payload";
2
+ import { BetterAuthPluginOptions } from "../../types";
3
+ export declare function buildVerificationsCollection({ incomingCollections, pluginOptions, }: {
4
+ incomingCollections: CollectionConfig[];
5
+ pluginOptions: BetterAuthPluginOptions;
6
+ }): CollectionConfig;
7
+ //# sourceMappingURL=verifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifications.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/build-collections/verifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD,wBAAgB,4BAA4B,CAAC,EAC3C,mBAAmB,EACnB,aAAa,GACd,EAAE;IACD,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;IACxC,aAAa,EAAE,uBAAuB,CAAC;CACxC,oBAgEA"}
@@ -0,0 +1,63 @@
1
+ import { baseCollectionSlugs } from "../constants";
2
+ import { getAdminAccess } from "../../helpers/get-admin-access";
3
+ export function buildVerificationsCollection({ incomingCollections, pluginOptions }) {
4
+ const verificationSlug = pluginOptions.verifications?.slug ?? baseCollectionSlugs.verifications;
5
+ const existingVerificationCollection = incomingCollections.find((collection)=>collection.slug === verificationSlug);
6
+ let verificationCollection = {
7
+ slug: verificationSlug,
8
+ admin: {
9
+ useAsTitle: "identifier",
10
+ description: "Verifications are used to verify authentication requests",
11
+ group: pluginOptions?.collectionAdminGroup ?? "Auth",
12
+ ...existingVerificationCollection?.admin,
13
+ hidden: pluginOptions.verifications?.hidden
14
+ },
15
+ access: {
16
+ ...getAdminAccess(pluginOptions)
17
+ },
18
+ fields: [
19
+ ...existingVerificationCollection?.fields ?? [],
20
+ {
21
+ name: "identifier",
22
+ type: "text",
23
+ required: true,
24
+ index: true,
25
+ label: "Identifier",
26
+ admin: {
27
+ description: "The identifier of the verification request",
28
+ readOnly: true
29
+ }
30
+ },
31
+ {
32
+ name: "value",
33
+ type: "text",
34
+ required: true,
35
+ label: "Value",
36
+ admin: {
37
+ description: "The value to be verified",
38
+ readOnly: true
39
+ }
40
+ },
41
+ {
42
+ name: "expiresAt",
43
+ type: "date",
44
+ required: true,
45
+ label: "Expires At",
46
+ admin: {
47
+ description: "The date and time when the verification request will expire",
48
+ readOnly: true
49
+ }
50
+ }
51
+ ],
52
+ timestamps: true,
53
+ ...existingVerificationCollection
54
+ };
55
+ if (pluginOptions.verifications?.collectionOverrides) {
56
+ verificationCollection = pluginOptions.verifications.collectionOverrides({
57
+ collection: verificationCollection
58
+ });
59
+ }
60
+ return verificationCollection;
61
+ }
62
+
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3ZlcmlmaWNhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgYmFzZUNvbGxlY3Rpb25TbHVncyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldEFkbWluQWNjZXNzIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvZ2V0LWFkbWluLWFjY2Vzc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRWZXJpZmljYXRpb25zQ29sbGVjdGlvbih7XG4gIGluY29taW5nQ29sbGVjdGlvbnMsXG4gIHBsdWdpbk9wdGlvbnMsXG59OiB7XG4gIGluY29taW5nQ29sbGVjdGlvbnM6IENvbGxlY3Rpb25Db25maWdbXTtcbiAgcGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnM7XG59KSB7XG4gIGNvbnN0IHZlcmlmaWNhdGlvblNsdWcgPVxuICAgIHBsdWdpbk9wdGlvbnMudmVyaWZpY2F0aW9ucz8uc2x1ZyA/PyBiYXNlQ29sbGVjdGlvblNsdWdzLnZlcmlmaWNhdGlvbnM7XG4gIGNvbnN0IGV4aXN0aW5nVmVyaWZpY2F0aW9uQ29sbGVjdGlvbiA9IGluY29taW5nQ29sbGVjdGlvbnMuZmluZChcbiAgICAoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSB2ZXJpZmljYXRpb25TbHVnXG4gICk7XG4gIGxldCB2ZXJpZmljYXRpb25Db2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnID0ge1xuICAgIHNsdWc6IHZlcmlmaWNhdGlvblNsdWcsXG4gICAgYWRtaW46IHtcbiAgICAgIHVzZUFzVGl0bGU6IFwiaWRlbnRpZmllclwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiVmVyaWZpY2F0aW9ucyBhcmUgdXNlZCB0byB2ZXJpZnkgYXV0aGVudGljYXRpb24gcmVxdWVzdHNcIixcbiAgICAgIGdyb3VwOiBwbHVnaW5PcHRpb25zPy5jb2xsZWN0aW9uQWRtaW5Hcm91cCA/PyBcIkF1dGhcIixcbiAgICAgIC4uLmV4aXN0aW5nVmVyaWZpY2F0aW9uQ29sbGVjdGlvbj8uYWRtaW4sXG4gICAgICBoaWRkZW46IHBsdWdpbk9wdGlvbnMudmVyaWZpY2F0aW9ucz8uaGlkZGVuLFxuICAgIH0sXG4gICAgYWNjZXNzOiB7XG4gICAgICAuLi5nZXRBZG1pbkFjY2VzcyhwbHVnaW5PcHRpb25zKSxcbiAgICB9LFxuICAgIGZpZWxkczogW1xuICAgICAgLi4uKGV4aXN0aW5nVmVyaWZpY2F0aW9uQ29sbGVjdGlvbj8uZmllbGRzID8/IFtdKSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJpZGVudGlmaWVyXCIsXG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgaW5kZXg6IHRydWUsXG4gICAgICAgIGxhYmVsOiBcIklkZW50aWZpZXJcIixcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgaWRlbnRpZmllciBvZiB0aGUgdmVyaWZpY2F0aW9uIHJlcXVlc3RcIixcbiAgICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwidmFsdWVcIixcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBsYWJlbDogXCJWYWx1ZVwiLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSB2YWx1ZSB0byBiZSB2ZXJpZmllZFwiLFxuICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJleHBpcmVzQXRcIixcbiAgICAgICAgdHlwZTogXCJkYXRlXCIsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBsYWJlbDogXCJFeHBpcmVzIEF0XCIsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICBcIlRoZSBkYXRlIGFuZCB0aW1lIHdoZW4gdGhlIHZlcmlmaWNhdGlvbiByZXF1ZXN0IHdpbGwgZXhwaXJlXCIsXG4gICAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAuLi5leGlzdGluZ1ZlcmlmaWNhdGlvbkNvbGxlY3Rpb24sXG4gIH07XG5cbiAgaWYgKHBsdWdpbk9wdGlvbnMudmVyaWZpY2F0aW9ucz8uY29sbGVjdGlvbk92ZXJyaWRlcykge1xuICAgIHZlcmlmaWNhdGlvbkNvbGxlY3Rpb24gPSBwbHVnaW5PcHRpb25zLnZlcmlmaWNhdGlvbnMuY29sbGVjdGlvbk92ZXJyaWRlcyh7XG4gICAgICBjb2xsZWN0aW9uOiB2ZXJpZmljYXRpb25Db2xsZWN0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZlcmlmaWNhdGlvbkNvbGxlY3Rpb247XG59XG4iXSwibmFtZXMiOlsiYmFzZUNvbGxlY3Rpb25TbHVncyIsImdldEFkbWluQWNjZXNzIiwiYnVpbGRWZXJpZmljYXRpb25zQ29sbGVjdGlvbiIsImluY29taW5nQ29sbGVjdGlvbnMiLCJwbHVnaW5PcHRpb25zIiwidmVyaWZpY2F0aW9uU2x1ZyIsInZlcmlmaWNhdGlvbnMiLCJzbHVnIiwiZXhpc3RpbmdWZXJpZmljYXRpb25Db2xsZWN0aW9uIiwiZmluZCIsImNvbGxlY3Rpb24iLCJ2ZXJpZmljYXRpb25Db2xsZWN0aW9uIiwiYWRtaW4iLCJ1c2VBc1RpdGxlIiwiZGVzY3JpcHRpb24iLCJncm91cCIsImNvbGxlY3Rpb25BZG1pbkdyb3VwIiwiaGlkZGVuIiwiYWNjZXNzIiwiZmllbGRzIiwibmFtZSIsInR5cGUiLCJyZXF1aXJlZCIsImluZGV4IiwibGFiZWwiLCJyZWFkT25seSIsInRpbWVzdGFtcHMiLCJjb2xsZWN0aW9uT3ZlcnJpZGVzIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxtQkFBbUIsUUFBUSxlQUFlO0FBQ25ELFNBQVNDLGNBQWMsUUFBUSxpQ0FBaUM7QUFFaEUsT0FBTyxTQUFTQyw2QkFBNkIsRUFDM0NDLG1CQUFtQixFQUNuQkMsYUFBYSxFQUlkO0lBQ0MsTUFBTUMsbUJBQ0pELGNBQWNFLGFBQWEsRUFBRUMsUUFBUVAsb0JBQW9CTSxhQUFhO0lBQ3hFLE1BQU1FLGlDQUFpQ0wsb0JBQW9CTSxJQUFJLENBQzdELENBQUNDLGFBQWVBLFdBQVdILElBQUksS0FBS0Y7SUFFdEMsSUFBSU0seUJBQTJDO1FBQzdDSixNQUFNRjtRQUNOTyxPQUFPO1lBQ0xDLFlBQVk7WUFDWkMsYUFBYTtZQUNiQyxPQUFPWCxlQUFlWSx3QkFBd0I7WUFDOUMsR0FBR1IsZ0NBQWdDSSxLQUFLO1lBQ3hDSyxRQUFRYixjQUFjRSxhQUFhLEVBQUVXO1FBQ3ZDO1FBQ0FDLFFBQVE7WUFDTixHQUFHakIsZUFBZUcsY0FBYztRQUNsQztRQUNBZSxRQUFRO2VBQ0ZYLGdDQUFnQ1csVUFBVSxFQUFFO1lBQ2hEO2dCQUNFQyxNQUFNO2dCQUNOQyxNQUFNO2dCQUNOQyxVQUFVO2dCQUNWQyxPQUFPO2dCQUNQQyxPQUFPO2dCQUNQWixPQUFPO29CQUNMRSxhQUFhO29CQUNiVyxVQUFVO2dCQUNaO1lBQ0Y7WUFDQTtnQkFDRUwsTUFBTTtnQkFDTkMsTUFBTTtnQkFDTkMsVUFBVTtnQkFDVkUsT0FBTztnQkFDUFosT0FBTztvQkFDTEUsYUFBYTtvQkFDYlcsVUFBVTtnQkFDWjtZQUNGO1lBQ0E7Z0JBQ0VMLE1BQU07Z0JBQ05DLE1BQU07Z0JBQ05DLFVBQVU7Z0JBQ1ZFLE9BQU87Z0JBQ1BaLE9BQU87b0JBQ0xFLGFBQ0U7b0JBQ0ZXLFVBQVU7Z0JBQ1o7WUFDRjtTQUNEO1FBQ0RDLFlBQVk7UUFDWixHQUFHbEIsOEJBQThCO0lBQ25DO0lBRUEsSUFBSUosY0FBY0UsYUFBYSxFQUFFcUIscUJBQXFCO1FBQ3BEaEIseUJBQXlCUCxjQUFjRSxhQUFhLENBQUNxQixtQkFBbUIsQ0FBQztZQUN2RWpCLFlBQVlDO1FBQ2Q7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
@@ -18,12 +18,14 @@ export declare const supportedBetterAuthPluginIds: {
18
18
  readonly nextCookies: "next-cookies";
19
19
  readonly sso: "sso";
20
20
  readonly oidc: "oidc";
21
+ readonly expo: "expo";
21
22
  };
22
23
  export declare const baseCollectionSlugs: {
23
24
  readonly users: "users";
24
25
  readonly sessions: "sessions";
25
26
  readonly accounts: "accounts";
26
27
  readonly verifications: "verifications";
28
+ readonly adminInvitations: "admin-invitations";
27
29
  };
28
30
  export declare const betterAuthPluginSlugs: {
29
31
  readonly apiKeys: "apiKeys";
@@ -39,3 +41,15 @@ export declare const betterAuthPluginSlugs: {
39
41
  readonly members: "members";
40
42
  readonly teams: "teams";
41
43
  };
44
+ export declare const adminRoutes: {
45
+ readonly forgotPassword: "/forgot-password";
46
+ readonly resetPassword: "/reset-password";
47
+ readonly login: "/login";
48
+ readonly loginRedirect: "/login-redirect";
49
+ readonly logout: "/logout";
50
+ readonly createFirstAdmin: "/create-first-admin";
51
+ readonly adminInvite: "/admin-invite";
52
+ readonly verifyEmail: "/verify-email";
53
+ readonly inactivity: "/inactivity";
54
+ };
55
+ //# sourceMappingURL=constants.d.ts.map