payload-auth 1.0.2 → 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 (423) hide show
  1. package/dist/better-auth/adapter/index.d.ts +2 -2
  2. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  3. package/dist/better-auth/adapter/index.js +115 -69
  4. package/dist/better-auth/adapter/transform/index.d.ts +22 -10
  5. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  6. package/dist/better-auth/adapter/transform/index.js +387 -96
  7. package/dist/better-auth/adapter/types.d.ts +2 -1
  8. package/dist/better-auth/adapter/types.d.ts.map +1 -1
  9. package/dist/better-auth/adapter/types.js +1 -1
  10. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +3 -0
  11. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -0
  12. package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +5 -0
  13. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +3 -0
  14. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -0
  15. package/dist/better-auth/plugin/helpers/check-username-plugin.js +5 -0
  16. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
  17. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +8 -8
  18. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
  19. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
  20. package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
  21. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts +14 -0
  22. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +1 -0
  23. package/dist/better-auth/plugin/helpers/get-admin-routes.js +6 -0
  24. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
  25. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
  26. package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
  27. package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
  28. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
  29. package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
  30. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +3 -0
  31. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -0
  32. package/dist/better-auth/plugin/helpers/get-requst-collection.js +14 -0
  33. package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
  34. package/dist/better-auth/plugin/helpers/index.js +2 -2
  35. package/dist/better-auth/plugin/{lib → helpers}/prepare-session-data.d.ts +3 -3
  36. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
  37. package/dist/better-auth/plugin/helpers/prepare-session-data.js +42 -0
  38. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +4 -4
  39. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -1
  40. package/dist/better-auth/plugin/helpers/serialize-cookie.js +34 -34
  41. package/dist/better-auth/plugin/index.d.ts +7 -7
  42. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  43. package/dist/better-auth/plugin/index.js +145 -37
  44. package/dist/better-auth/plugin/{collections → lib/build-collections}/accounts/hooks/sync-password-to-user.d.ts +1 -1
  45. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
  46. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +47 -0
  47. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +7 -0
  48. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
  49. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +159 -0
  50. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
  51. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
  52. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
  53. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
  54. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
  55. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
  56. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
  57. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
  58. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +107 -0
  59. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +6 -0
  60. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
  61. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +196 -0
  62. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +12 -0
  63. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
  64. package/dist/better-auth/plugin/lib/build-collections/index.js +96 -0
  65. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +6 -0
  66. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
  67. package/dist/better-auth/plugin/lib/build-collections/invitations.js +91 -0
  68. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +6 -0
  69. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
  70. package/dist/better-auth/plugin/lib/build-collections/jwks.js +43 -0
  71. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +6 -0
  72. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
  73. package/dist/better-auth/plugin/lib/build-collections/members.js +71 -0
  74. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +6 -0
  75. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
  76. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +98 -0
  77. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +6 -0
  78. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
  79. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +113 -0
  80. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +6 -0
  81. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
  82. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +67 -0
  83. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +6 -0
  84. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
  85. package/dist/better-auth/plugin/lib/build-collections/organizations.js +59 -0
  86. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +6 -0
  87. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
  88. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +108 -0
  89. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +8 -0
  90. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
  91. package/dist/better-auth/plugin/lib/build-collections/sessions.js +123 -0
  92. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +6 -0
  93. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
  94. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +83 -0
  95. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +6 -0
  96. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
  97. package/dist/better-auth/plugin/lib/build-collections/teams.js +45 -0
  98. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +6 -0
  99. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
  100. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +56 -0
  101. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
  102. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
  103. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
  104. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +3 -0
  105. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +1 -0
  106. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +96 -0
  107. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +13 -0
  108. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
  109. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +67 -0
  110. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +4 -0
  111. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +1 -0
  112. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +115 -0
  113. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
  114. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
  115. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +110 -0
  116. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +3 -0
  117. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +1 -0
  118. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +62 -0
  119. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -0
  120. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
  121. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +42 -0
  122. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
  123. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
  124. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +79 -0
  125. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +4 -0
  126. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -0
  127. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +153 -0
  128. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-login.d.ts +1 -1
  129. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
  130. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +75 -0
  131. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-logout.d.ts +1 -1
  132. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
  133. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +74 -0
  134. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +7 -0
  135. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
  136. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +45 -0
  137. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/before-login.d.ts +1 -1
  138. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
  139. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +18 -0
  140. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
  141. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
  142. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +14 -0
  143. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/sync-account.d.ts +1 -1
  144. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
  145. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +82 -0
  146. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +8 -0
  147. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
  148. package/dist/better-auth/plugin/lib/build-collections/users/index.js +345 -0
  149. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
  150. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
  151. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
  152. package/dist/better-auth/plugin/lib/{payload-access.d.ts → build-collections/utils/payload-access.d.ts} +1 -1
  153. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
  154. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +64 -0
  155. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +7 -0
  156. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
  157. package/dist/better-auth/plugin/lib/build-collections/verifications.js +63 -0
  158. package/dist/better-auth/plugin/lib/{config.d.ts → constants.d.ts} +13 -1
  159. package/dist/better-auth/plugin/lib/constants.d.ts.map +1 -0
  160. package/dist/better-auth/plugin/lib/constants.js +56 -0
  161. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +2 -2
  162. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
  163. package/dist/better-auth/plugin/lib/get-payload-auth.js +2 -2
  164. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +4 -4
  165. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -1
  166. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +26 -43
  167. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -3
  168. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
  169. package/dist/better-auth/plugin/lib/init-better-auth.js +7 -7
  170. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
  171. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
  172. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +8 -0
  173. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -0
  174. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
  175. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +17 -0
  176. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +10 -0
  177. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
  178. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +118 -0
  179. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -0
  180. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
  181. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +58 -0
  182. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -0
  183. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
  184. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +86 -0
  185. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -0
  186. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
  187. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +17 -0
  188. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -0
  189. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
  190. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +17 -0
  191. 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} +1 -1
  192. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
  193. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
  194. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
  195. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
  196. 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 -6
  197. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -0
  198. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +30 -0
  199. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +8 -0
  200. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
  201. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +115 -0
  202. package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +31 -0
  203. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
  204. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
  205. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +196 -0
  206. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +131 -0
  207. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +14 -0
  208. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +1 -0
  209. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +111 -0
  210. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.scss +51 -0
  211. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +9 -0
  212. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +1 -0
  213. package/dist/better-auth/plugin/payload/components/form-header/index.js +23 -0
  214. package/dist/better-auth/plugin/payload/components/form-header/index.scss +8 -0
  215. package/dist/better-auth/plugin/payload/components/icons.d.ts +9 -0
  216. package/dist/better-auth/plugin/payload/components/icons.d.ts.map +1 -0
  217. package/dist/better-auth/plugin/payload/components/icons.js +437 -0
  218. package/dist/better-auth/plugin/payload/components/logo.d.ts +3 -2
  219. package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -1
  220. package/dist/better-auth/plugin/payload/components/logo.js +22 -34
  221. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +6 -0
  222. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
  223. package/dist/better-auth/plugin/payload/components/logout-button.js +27 -0
  224. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
  225. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
  226. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +8 -0
  227. package/dist/better-auth/plugin/payload/components/styles.css +2 -2
  228. package/dist/better-auth/plugin/payload/components/token-field.d.ts +5 -0
  229. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
  230. package/dist/better-auth/plugin/payload/components/token-field.js +30 -0
  231. package/dist/better-auth/plugin/payload/exports/client.d.ts +6 -3
  232. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
  233. package/dist/better-auth/plugin/payload/exports/client.js +7 -4
  234. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +9 -5
  235. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
  236. package/dist/better-auth/plugin/payload/exports/rsc.js +10 -6
  237. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
  238. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
  239. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +8 -0
  240. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +15 -0
  241. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -0
  242. package/dist/better-auth/plugin/payload/utils/generate-metadata.js +74 -0
  243. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
  244. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
  245. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +23 -0
  246. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +12 -0
  247. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +1 -0
  248. package/dist/better-auth/plugin/payload/views/admin-invite/client.js +92 -0
  249. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +11 -0
  250. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +1 -0
  251. package/dist/better-auth/plugin/payload/views/admin-invite/index.js +84 -0
  252. package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +25 -0
  253. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +14 -0
  254. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +1 -0
  255. package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +95 -0
  256. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +10 -4
  257. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -1
  258. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +124 -92
  259. package/dist/better-auth/plugin/payload/views/create-first-admin/index.scss +29 -0
  260. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +8 -0
  261. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
  262. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +119 -0
  263. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
  264. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
  265. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +69 -0
  266. package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
  267. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +5 -0
  268. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +1 -0
  269. package/dist/better-auth/plugin/payload/views/inactivity/index.js +12 -0
  270. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +9 -0
  271. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +1 -0
  272. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +54 -0
  273. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +1 -0
  274. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +1 -0
  275. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +121 -0
  276. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +31 -0
  277. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +56 -0
  278. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +1 -0
  279. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +3 -0
  280. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +17 -0
  281. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +1 -0
  282. package/dist/better-auth/plugin/payload/views/login/form/index.js +137 -0
  283. package/dist/better-auth/plugin/payload/views/login/form/index.scss +23 -0
  284. package/dist/better-auth/plugin/payload/views/login/index.d.ts +10 -5
  285. package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -1
  286. package/dist/better-auth/plugin/payload/views/login/index.js +81 -61
  287. package/dist/better-auth/plugin/payload/views/login/index.scss +10 -0
  288. package/dist/better-auth/plugin/payload/views/logout/client.d.ts +8 -0
  289. package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +1 -0
  290. package/dist/better-auth/plugin/payload/views/logout/client.js +76 -0
  291. package/dist/better-auth/plugin/payload/views/logout/index.d.ts +8 -0
  292. package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +1 -0
  293. package/dist/better-auth/plugin/payload/views/logout/index.js +14 -0
  294. package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
  295. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +7 -0
  296. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
  297. package/dist/better-auth/plugin/payload/views/reset-password/client.js +72 -0
  298. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +5 -0
  299. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
  300. package/dist/better-auth/plugin/payload/views/reset-password/index.js +81 -0
  301. package/dist/better-auth/plugin/payload/views/reset-password/index.scss +9 -0
  302. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +3 -0
  303. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +1 -0
  304. package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +11 -0
  305. package/dist/better-auth/plugin/types.d.ts +170 -33
  306. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  307. package/dist/better-auth/plugin/types.js +1 -1
  308. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +1 -1
  309. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -1
  310. package/dist/clerk/utils/clerk-user.d.ts +0 -3
  311. package/dist/clerk/utils/clerk-user.d.ts.map +1 -1
  312. package/dist/clerk/utils/clerk-user.js +1 -3
  313. package/dist/clerk/utils/load-clerk-instance.d.ts +1 -1
  314. package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -1
  315. package/package.json +13 -13
  316. package/LICENSE.md +0 -17
  317. package/dist/better-auth/adapter/dev/bin/run.d.ts +0 -2
  318. package/dist/better-auth/adapter/dev/bin/run.d.ts.map +0 -1
  319. package/dist/better-auth/adapter/dev/bin/run.js +0 -64
  320. package/dist/better-auth/adapter/dev/bin/schema.d.ts +0 -23
  321. package/dist/better-auth/adapter/dev/bin/schema.d.ts.map +0 -1
  322. package/dist/better-auth/adapter/dev/bin/schema.js +0 -160
  323. package/dist/better-auth/adapter/dev/collections.d.ts +0 -4
  324. package/dist/better-auth/adapter/dev/collections.d.ts.map +0 -1
  325. package/dist/better-auth/adapter/dev/collections.js +0 -212
  326. package/dist/better-auth/adapter/dev/index.d.ts +0 -4
  327. package/dist/better-auth/adapter/dev/index.d.ts.map +0 -1
  328. package/dist/better-auth/adapter/dev/index.js +0 -168
  329. package/dist/better-auth/adapter/test/adapter.test.d.ts +0 -2
  330. package/dist/better-auth/adapter/test/adapter.test.d.ts.map +0 -1
  331. package/dist/better-auth/adapter/test/adapter.test.js +0 -181
  332. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +0 -8
  333. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts.map +0 -1
  334. package/dist/better-auth/adapter/test/better-auth-adapter-test.js +0 -425
  335. package/dist/better-auth/adapter/test/schema.test.d.ts +0 -2
  336. package/dist/better-auth/adapter/test/schema.test.d.ts.map +0 -1
  337. package/dist/better-auth/adapter/test/schema.test.js +0 -796
  338. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +0 -24
  339. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts.map +0 -1
  340. package/dist/better-auth/adapter/test/test_payload1/schema.js +0 -177
  341. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +0 -24
  342. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts.map +0 -1
  343. package/dist/better-auth/adapter/test/test_payload2/schema.js +0 -167
  344. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +0 -24
  345. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts.map +0 -1
  346. package/dist/better-auth/adapter/test/test_payload3/schema.js +0 -198
  347. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts.map +0 -1
  348. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +0 -47
  349. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +0 -7
  350. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts.map +0 -1
  351. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +0 -106
  352. package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts.map +0 -1
  353. package/dist/better-auth/plugin/collections/users/hooks/after-login.js +0 -71
  354. package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts.map +0 -1
  355. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +0 -49
  356. package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts.map +0 -1
  357. package/dist/better-auth/plugin/collections/users/hooks/before-login.js +0 -18
  358. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +0 -6
  359. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts.map +0 -1
  360. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +0 -33
  361. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +0 -3
  362. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts.map +0 -1
  363. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +0 -14
  364. package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts.map +0 -1
  365. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +0 -82
  366. package/dist/better-auth/plugin/lib/auth-strategy.d.ts +0 -9
  367. package/dist/better-auth/plugin/lib/auth-strategy.d.ts.map +0 -1
  368. package/dist/better-auth/plugin/lib/auth-strategy.js +0 -48
  369. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +0 -12
  370. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts.map +0 -1
  371. package/dist/better-auth/plugin/lib/build-collection-configs.js +0 -1558
  372. package/dist/better-auth/plugin/lib/config.d.ts.map +0 -1
  373. package/dist/better-auth/plugin/lib/config.js +0 -44
  374. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts.map +0 -1
  375. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +0 -24
  376. package/dist/better-auth/plugin/lib/password.d.ts.map +0 -1
  377. package/dist/better-auth/plugin/lib/password.js +0 -63
  378. package/dist/better-auth/plugin/lib/payload-access.d.ts.map +0 -1
  379. package/dist/better-auth/plugin/lib/payload-access.js +0 -64
  380. package/dist/better-auth/plugin/lib/prepare-session-data.d.ts.map +0 -1
  381. package/dist/better-auth/plugin/lib/prepare-session-data.js +0 -42
  382. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts.map +0 -1
  383. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +0 -30
  384. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +0 -6
  385. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts.map +0 -1
  386. package/dist/better-auth/plugin/lib/sanitize-auth-options.js +0 -298
  387. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +0 -7
  388. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts.map +0 -1
  389. package/dist/better-auth/plugin/payload/components/admin-buttons.js +0 -219
  390. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +0 -2
  391. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts.map +0 -1
  392. package/dist/better-auth/plugin/payload/components/login-redirect.js +0 -6
  393. package/dist/better-auth/plugin/payload/components/logout.d.ts +0 -3
  394. package/dist/better-auth/plugin/payload/components/logout.d.ts.map +0 -1
  395. package/dist/better-auth/plugin/payload/components/logout.js +0 -61
  396. package/dist/better-auth/plugin/payload/components/sign-in.d.ts +0 -4
  397. package/dist/better-auth/plugin/payload/components/sign-in.d.ts.map +0 -1
  398. package/dist/better-auth/plugin/payload/components/sign-in.js +0 -384
  399. package/dist/better-auth/plugin/payload/components/sign-up.d.ts +0 -7
  400. package/dist/better-auth/plugin/payload/components/sign-up.d.ts.map +0 -1
  401. package/dist/better-auth/plugin/payload/components/sign-up.js +0 -503
  402. package/dist/better-auth/plugin/payload/components/ui/button.d.ts +0 -11
  403. package/dist/better-auth/plugin/payload/components/ui/button.d.ts.map +0 -1
  404. package/dist/better-auth/plugin/payload/components/ui/button.js +0 -42
  405. package/dist/better-auth/plugin/payload/components/ui/card.d.ts +0 -10
  406. package/dist/better-auth/plugin/payload/components/ui/card.d.ts.map +0 -1
  407. package/dist/better-auth/plugin/payload/components/ui/card.js +0 -55
  408. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +0 -5
  409. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts.map +0 -1
  410. package/dist/better-auth/plugin/payload/components/ui/checkbox.js +0 -23
  411. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +0 -3
  412. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts.map +0 -1
  413. package/dist/better-auth/plugin/payload/components/ui/cn.js +0 -7
  414. package/dist/better-auth/plugin/payload/components/ui/input.d.ts +0 -4
  415. package/dist/better-auth/plugin/payload/components/ui/input.d.ts.map +0 -1
  416. package/dist/better-auth/plugin/payload/components/ui/input.js +0 -14
  417. package/dist/better-auth/plugin/payload/components/ui/label.d.ts +0 -5
  418. package/dist/better-auth/plugin/payload/components/ui/label.d.ts.map +0 -1
  419. package/dist/better-auth/plugin/payload/components/ui/label.js +0 -15
  420. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +0 -3
  421. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts.map +0 -1
  422. package/dist/better-auth/plugin/payload/components/ui/password-input.js +0 -55
  423. /package/dist/better-auth/plugin/lib/{password.d.ts → sanitize-better-auth-options/utils/password.d.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ import { Endpoint } from "payload";
2
+ export declare const getResetPasswordEndpoint: () => Endpoint;
3
+ //# sourceMappingURL=reset-password.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-password.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,EAIT,MAAM,SAAS,CAAC;AAUjB,eAAO,MAAM,wBAAwB,QAAO,QA2D3C,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { addDataAndFileToRequest, APIError, commitTransaction, headersWithCors, initTransaction, killTransaction } from "payload";
2
+ import { status as httpStatus } from "http-status";
3
+ import { getPayloadAuth } from "../../../get-payload-auth";
4
+ import { z } from "zod";
5
+ const requestSchema = z.object({
6
+ token: z.string(),
7
+ password: z.string()
8
+ });
9
+ export const getResetPasswordEndpoint = ()=>{
10
+ const endpoint = {
11
+ path: "/reset-password",
12
+ method: "post",
13
+ handler: async (req)=>{
14
+ await addDataAndFileToRequest(req);
15
+ const { t } = req;
16
+ const body = requestSchema.safeParse(req.data);
17
+ if (!body.success) {
18
+ return Response.json({
19
+ message: body.error.message
20
+ }, {
21
+ status: httpStatus.BAD_REQUEST
22
+ });
23
+ }
24
+ const { token, password } = body.data;
25
+ try {
26
+ const shouldCommit = await initTransaction(req);
27
+ const payloadAuth = await getPayloadAuth(req.payload.config);
28
+ const res = await payloadAuth.betterAuth.api.resetPassword({
29
+ body: {
30
+ token,
31
+ newPassword: password
32
+ }
33
+ });
34
+ if (!res.status) {
35
+ throw new APIError("Failed to reset password", httpStatus.INTERNAL_SERVER_ERROR);
36
+ }
37
+ if (shouldCommit) {
38
+ await commitTransaction(req);
39
+ }
40
+ return Response.json({
41
+ message: t("authentication:passwordResetSuccessfully")
42
+ }, {
43
+ headers: headersWithCors({
44
+ headers: new Headers(),
45
+ req
46
+ }),
47
+ status: httpStatus.OK
48
+ });
49
+ } catch (error) {
50
+ await killTransaction(req);
51
+ return Response.json({
52
+ message: error
53
+ }, {
54
+ status: httpStatus.INTERNAL_SERVER_ERROR
55
+ });
56
+ }
57
+ }
58
+ };
59
+ return endpoint;
60
+ };
61
+
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9yZXNldC1wYXNzd29yZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhZGREYXRhQW5kRmlsZVRvUmVxdWVzdCxcbiAgQVBJRXJyb3IsXG4gIGNvbW1pdFRyYW5zYWN0aW9uLFxuICBFbmRwb2ludCxcbiAgaGVhZGVyc1dpdGhDb3JzLFxuICBpbml0VHJhbnNhY3Rpb24sXG4gIGtpbGxUcmFuc2FjdGlvbixcbn0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IHN0YXR1cyBhcyBodHRwU3RhdHVzIH0gZnJvbSBcImh0dHAtc3RhdHVzXCI7XG5pbXBvcnQgeyBnZXRQYXlsb2FkQXV0aCB9IGZyb20gXCIuLi8uLi8uLi9nZXQtcGF5bG9hZC1hdXRoXCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5jb25zdCByZXF1ZXN0U2NoZW1hID0gei5vYmplY3Qoe1xuICB0b2tlbjogei5zdHJpbmcoKSxcbiAgcGFzc3dvcmQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IGdldFJlc2V0UGFzc3dvcmRFbmRwb2ludCA9ICgpOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IGVuZHBvaW50OiBFbmRwb2ludCA9IHtcbiAgICBwYXRoOiBcIi9yZXNldC1wYXNzd29yZFwiLFxuICAgIG1ldGhvZDogXCJwb3N0XCIsXG4gICAgaGFuZGxlcjogYXN5bmMgKHJlcSkgPT4ge1xuICAgICAgYXdhaXQgYWRkRGF0YUFuZEZpbGVUb1JlcXVlc3QocmVxKTtcbiAgICAgIGNvbnN0IHsgdCB9ID0gcmVxO1xuICAgICAgY29uc3QgYm9keSA9IHJlcXVlc3RTY2hlbWEuc2FmZVBhcnNlKHJlcS5kYXRhKTtcbiAgICAgIGlmICghYm9keS5zdWNjZXNzKSB7XG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKFxuICAgICAgICAgIHsgbWVzc2FnZTogYm9keS5lcnJvci5tZXNzYWdlIH0sXG4gICAgICAgICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuQkFEX1JFUVVFU1QgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgeyB0b2tlbiwgcGFzc3dvcmQgfSA9IGJvZHkuZGF0YTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSk7XG4gICAgICAgIGNvbnN0IHBheWxvYWRBdXRoID0gYXdhaXQgZ2V0UGF5bG9hZEF1dGgocmVxLnBheWxvYWQuY29uZmlnKTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcGF5bG9hZEF1dGguYmV0dGVyQXV0aC5hcGkucmVzZXRQYXNzd29yZCh7XG4gICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICBuZXdQYXNzd29yZDogcGFzc3dvcmQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMuc3RhdHVzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKFxuICAgICAgICAgICAgXCJGYWlsZWQgdG8gcmVzZXQgcGFzc3dvcmRcIixcbiAgICAgICAgICAgIGh0dHBTdGF0dXMuSU5URVJOQUxfU0VSVkVSX0VSUk9SXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaG91bGRDb21taXQpIHtcbiAgICAgICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogdChcImF1dGhlbnRpY2F0aW9uOnBhc3N3b3JkUmVzZXRTdWNjZXNzZnVsbHlcIiksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzV2l0aENvcnMoe1xuICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSGVhZGVycygpLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0YXR1czogaHR0cFN0YXR1cy5PSyxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKTtcbiAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgeyBtZXNzYWdlOiBlcnJvciB9LFxuICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLklOVEVSTkFMX1NFUlZFUl9FUlJPUiB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIGVuZHBvaW50O1xufTtcbiJdLCJuYW1lcyI6WyJhZGREYXRhQW5kRmlsZVRvUmVxdWVzdCIsIkFQSUVycm9yIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJoZWFkZXJzV2l0aENvcnMiLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJzdGF0dXMiLCJodHRwU3RhdHVzIiwiZ2V0UGF5bG9hZEF1dGgiLCJ6IiwicmVxdWVzdFNjaGVtYSIsIm9iamVjdCIsInRva2VuIiwic3RyaW5nIiwicGFzc3dvcmQiLCJnZXRSZXNldFBhc3N3b3JkRW5kcG9pbnQiLCJlbmRwb2ludCIsInBhdGgiLCJtZXRob2QiLCJoYW5kbGVyIiwicmVxIiwidCIsImJvZHkiLCJzYWZlUGFyc2UiLCJkYXRhIiwic3VjY2VzcyIsIlJlc3BvbnNlIiwianNvbiIsIm1lc3NhZ2UiLCJlcnJvciIsIkJBRF9SRVFVRVNUIiwic2hvdWxkQ29tbWl0IiwicGF5bG9hZEF1dGgiLCJwYXlsb2FkIiwiY29uZmlnIiwicmVzIiwiYmV0dGVyQXV0aCIsImFwaSIsInJlc2V0UGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsImhlYWRlcnMiLCJIZWFkZXJzIiwiT0siXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLHVCQUF1QixFQUN2QkMsUUFBUSxFQUNSQyxpQkFBaUIsRUFFakJDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxlQUFlLFFBQ1YsVUFBVTtBQUNqQixTQUFTQyxVQUFVQyxVQUFVLFFBQVEsY0FBYztBQUNuRCxTQUFTQyxjQUFjLFFBQVEsNEJBQTRCO0FBQzNELFNBQVNDLENBQUMsUUFBUSxNQUFNO0FBRXhCLE1BQU1DLGdCQUFnQkQsRUFBRUUsTUFBTSxDQUFDO0lBQzdCQyxPQUFPSCxFQUFFSSxNQUFNO0lBQ2ZDLFVBQVVMLEVBQUVJLE1BQU07QUFDcEI7QUFFQSxPQUFPLE1BQU1FLDJCQUEyQjtJQUN0QyxNQUFNQyxXQUFxQjtRQUN6QkMsTUFBTTtRQUNOQyxRQUFRO1FBQ1JDLFNBQVMsT0FBT0M7WUFDZCxNQUFNcEIsd0JBQXdCb0I7WUFDOUIsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR0Q7WUFDZCxNQUFNRSxPQUFPWixjQUFjYSxTQUFTLENBQUNILElBQUlJLElBQUk7WUFDN0MsSUFBSSxDQUFDRixLQUFLRyxPQUFPLEVBQUU7Z0JBQ2pCLE9BQU9DLFNBQVNDLElBQUksQ0FDbEI7b0JBQUVDLFNBQVNOLEtBQUtPLEtBQUssQ0FBQ0QsT0FBTztnQkFBQyxHQUM5QjtvQkFBRXRCLFFBQVFDLFdBQVd1QixXQUFXO2dCQUFDO1lBRXJDO1lBQ0EsTUFBTSxFQUFFbEIsS0FBSyxFQUFFRSxRQUFRLEVBQUUsR0FBR1EsS0FBS0UsSUFBSTtZQUVyQyxJQUFJO2dCQUNGLE1BQU1PLGVBQWUsTUFBTTNCLGdCQUFnQmdCO2dCQUMzQyxNQUFNWSxjQUFjLE1BQU14QixlQUFlWSxJQUFJYSxPQUFPLENBQUNDLE1BQU07Z0JBQzNELE1BQU1DLE1BQU0sTUFBTUgsWUFBWUksVUFBVSxDQUFDQyxHQUFHLENBQUNDLGFBQWEsQ0FBQztvQkFDekRoQixNQUFNO3dCQUNKVjt3QkFDQTJCLGFBQWF6QjtvQkFDZjtnQkFDRjtnQkFFQSxJQUFJLENBQUNxQixJQUFJN0IsTUFBTSxFQUFFO29CQUNmLE1BQU0sSUFBSUwsU0FDUiw0QkFDQU0sV0FBV2lDLHFCQUFxQjtnQkFFcEM7Z0JBRUEsSUFBSVQsY0FBYztvQkFDaEIsTUFBTTdCLGtCQUFrQmtCO2dCQUMxQjtnQkFFQSxPQUFPTSxTQUFTQyxJQUFJLENBQ2xCO29CQUNFQyxTQUFTUCxFQUFFO2dCQUNiLEdBQ0E7b0JBQ0VvQixTQUFTdEMsZ0JBQWdCO3dCQUN2QnNDLFNBQVMsSUFBSUM7d0JBQ2J0QjtvQkFDRjtvQkFDQWQsUUFBUUMsV0FBV29DLEVBQUU7Z0JBQ3ZCO1lBRUosRUFBRSxPQUFPZCxPQUFPO2dCQUNkLE1BQU14QixnQkFBZ0JlO2dCQUN0QixPQUFPTSxTQUFTQyxJQUFJLENBQ2xCO29CQUFFQyxTQUFTQztnQkFBTSxHQUNqQjtvQkFBRXZCLFFBQVFDLFdBQVdpQyxxQkFBcUI7Z0JBQUM7WUFFL0M7UUFDRjtJQUNGO0lBQ0EsT0FBT3hCO0FBQ1QsRUFBRSJ9
@@ -0,0 +1,3 @@
1
+ import { Endpoint } from "payload";
2
+ export declare const getSendInviteUrlEndpoint: () => Endpoint;
3
+ //# sourceMappingURL=send-invite-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-invite-url.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAGT,MAAM,SAAS,CAAC;AASjB,eAAO,MAAM,wBAAwB,QAAO,QAmC3C,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { addDataAndFileToRequest, headersWithCors, killTransaction } from "payload";
2
+ import { status as httpStatus } from "http-status";
3
+ import { z } from "zod";
4
+ const requestSchema = z.object({
5
+ email: z.string().email(),
6
+ username: z.string().optional()
7
+ });
8
+ export const getSendInviteUrlEndpoint = ()=>{
9
+ const endpoint = {
10
+ path: "/invite/send",
11
+ method: "post",
12
+ handler: async (req)=>{
13
+ await addDataAndFileToRequest(req);
14
+ const { t } = req;
15
+ const body = requestSchema.safeParse(req.data);
16
+ if (!body.success) {
17
+ return Response.json({
18
+ message: body.error.message
19
+ }, {
20
+ status: httpStatus.BAD_REQUEST
21
+ });
22
+ }
23
+ try {
24
+ return Response.json({
25
+ message: t("general:success")
26
+ }, {
27
+ headers: headersWithCors({
28
+ headers: new Headers(),
29
+ req
30
+ }),
31
+ status: httpStatus.OK
32
+ });
33
+ } catch (error) {
34
+ await killTransaction(req);
35
+ throw error;
36
+ }
37
+ }
38
+ };
39
+ return endpoint;
40
+ };
41
+
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zZW5kLWludml0ZS11cmwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWRkRGF0YUFuZEZpbGVUb1JlcXVlc3QsXG4gIEVuZHBvaW50LFxuICBoZWFkZXJzV2l0aENvcnMsXG4gIGtpbGxUcmFuc2FjdGlvbixcbn0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IHN0YXR1cyBhcyBodHRwU3RhdHVzIH0gZnJvbSBcImh0dHAtc3RhdHVzXCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5jb25zdCByZXF1ZXN0U2NoZW1hID0gei5vYmplY3Qoe1xuICBlbWFpbDogei5zdHJpbmcoKS5lbWFpbCgpLFxuICB1c2VybmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZW5kSW52aXRlVXJsRW5kcG9pbnQgPSAoKTogRW5kcG9pbnQgPT4ge1xuICBjb25zdCBlbmRwb2ludDogRW5kcG9pbnQgPSB7XG4gICAgcGF0aDogXCIvaW52aXRlL3NlbmRcIixcbiAgICBtZXRob2Q6IFwicG9zdFwiLFxuICAgIGhhbmRsZXI6IGFzeW5jIChyZXEpID0+IHtcbiAgICAgIGF3YWl0IGFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0KHJlcSk7XG4gICAgICBjb25zdCB7IHQgfSA9IHJlcTtcbiAgICAgIGNvbnN0IGJvZHkgPSByZXF1ZXN0U2NoZW1hLnNhZmVQYXJzZShyZXEuZGF0YSk7XG4gICAgICBpZiAoIWJvZHkuc3VjY2Vzcykge1xuICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbihcbiAgICAgICAgICB7IG1lc3NhZ2U6IGJvZHkuZXJyb3IubWVzc2FnZSB9LFxuICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLkJBRF9SRVFVRVNUIH1cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogdChcImdlbmVyYWw6c3VjY2Vzc1wiKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnNXaXRoQ29ycyh7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIZWFkZXJzKCksXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3RhdHVzOiBodHRwU3RhdHVzLk9LLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuICByZXR1cm4gZW5kcG9pbnQ7XG59O1xuIl0sIm5hbWVzIjpbImFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0IiwiaGVhZGVyc1dpdGhDb3JzIiwia2lsbFRyYW5zYWN0aW9uIiwic3RhdHVzIiwiaHR0cFN0YXR1cyIsInoiLCJyZXF1ZXN0U2NoZW1hIiwib2JqZWN0IiwiZW1haWwiLCJzdHJpbmciLCJ1c2VybmFtZSIsIm9wdGlvbmFsIiwiZ2V0U2VuZEludml0ZVVybEVuZHBvaW50IiwiZW5kcG9pbnQiLCJwYXRoIiwibWV0aG9kIiwiaGFuZGxlciIsInJlcSIsInQiLCJib2R5Iiwic2FmZVBhcnNlIiwiZGF0YSIsInN1Y2Nlc3MiLCJSZXNwb25zZSIsImpzb24iLCJtZXNzYWdlIiwiZXJyb3IiLCJCQURfUkVRVUVTVCIsImhlYWRlcnMiLCJIZWFkZXJzIiwiT0siXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLHVCQUF1QixFQUV2QkMsZUFBZSxFQUNmQyxlQUFlLFFBQ1YsVUFBVTtBQUNqQixTQUFTQyxVQUFVQyxVQUFVLFFBQVEsY0FBYztBQUNuRCxTQUFTQyxDQUFDLFFBQVEsTUFBTTtBQUV4QixNQUFNQyxnQkFBZ0JELEVBQUVFLE1BQU0sQ0FBQztJQUM3QkMsT0FBT0gsRUFBRUksTUFBTSxHQUFHRCxLQUFLO0lBQ3ZCRSxVQUFVTCxFQUFFSSxNQUFNLEdBQUdFLFFBQVE7QUFDL0I7QUFFQSxPQUFPLE1BQU1DLDJCQUEyQjtJQUN0QyxNQUFNQyxXQUFxQjtRQUN6QkMsTUFBTTtRQUNOQyxRQUFRO1FBQ1JDLFNBQVMsT0FBT0M7WUFDZCxNQUFNakIsd0JBQXdCaUI7WUFDOUIsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR0Q7WUFDZCxNQUFNRSxPQUFPYixjQUFjYyxTQUFTLENBQUNILElBQUlJLElBQUk7WUFDN0MsSUFBSSxDQUFDRixLQUFLRyxPQUFPLEVBQUU7Z0JBQ2pCLE9BQU9DLFNBQVNDLElBQUksQ0FDbEI7b0JBQUVDLFNBQVNOLEtBQUtPLEtBQUssQ0FBQ0QsT0FBTztnQkFBQyxHQUM5QjtvQkFBRXRCLFFBQVFDLFdBQVd1QixXQUFXO2dCQUFDO1lBRXJDO1lBRUEsSUFBSTtnQkFDRixPQUFPSixTQUFTQyxJQUFJLENBQ2xCO29CQUNFQyxTQUFTUCxFQUFFO2dCQUNiLEdBQ0E7b0JBQ0VVLFNBQVMzQixnQkFBZ0I7d0JBQ3ZCMkIsU0FBUyxJQUFJQzt3QkFDYlo7b0JBQ0Y7b0JBQ0FkLFFBQVFDLFdBQVcwQixFQUFFO2dCQUN2QjtZQUVKLEVBQUUsT0FBT0osT0FBTztnQkFDZCxNQUFNeEIsZ0JBQWdCZTtnQkFDdEIsTUFBTVM7WUFDUjtRQUNGO0lBQ0Y7SUFDQSxPQUFPYjtBQUNULEVBQUUifQ==
@@ -0,0 +1,4 @@
1
+ import { type Endpoint } from "payload";
2
+ import { BetterAuthPluginOptions } from "../../../../types";
3
+ export declare const getSetAdminRoleEndpoint: (pluginOptions: BetterAuthPluginOptions, userSlug: string) => Endpoint;
4
+ //# sourceMappingURL=set-admin-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-admin-role.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAS5D,eAAO,MAAM,uBAAuB,GAClC,eAAe,uBAAuB,EACtC,UAAU,MAAM,KACf,QAiEF,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { status as httpStatus } from "http-status";
2
+ import { getPayloadAuth } from "../../../get-payload-auth";
3
+ import { z } from "zod";
4
+ const setAdminRoleSchema = z.object({
5
+ token: z.string().optional(),
6
+ redirect: z.string().optional()
7
+ });
8
+ export const getSetAdminRoleEndpoint = (pluginOptions, userSlug)=>{
9
+ const endpoint = {
10
+ path: "/set-admin-role",
11
+ method: "get",
12
+ handler: async (req)=>{
13
+ const { config } = req.payload;
14
+ const schema = setAdminRoleSchema.safeParse(req.query);
15
+ if (!schema.success) {
16
+ return Response.json({
17
+ message: schema.error.message
18
+ }, {
19
+ status: httpStatus.BAD_REQUEST
20
+ });
21
+ }
22
+ const payloadAuth = await getPayloadAuth(config);
23
+ const session = await payloadAuth.betterAuth.api.getSession({
24
+ headers: req.headers
25
+ });
26
+ if (!session) {
27
+ return Response.json({
28
+ message: "No session found"
29
+ }, {
30
+ status: httpStatus.UNAUTHORIZED
31
+ });
32
+ }
33
+ const { token, redirect } = schema.data;
34
+ const invite = await req.payload.find({
35
+ collection: pluginOptions.adminInvitations?.slug ?? "admin-invitations",
36
+ where: {
37
+ token: {
38
+ equals: token
39
+ }
40
+ },
41
+ limit: 1
42
+ });
43
+ if (invite.docs.length === 0) {
44
+ return Response.json({
45
+ message: "Invalid token"
46
+ }, {
47
+ status: httpStatus.UNAUTHORIZED
48
+ });
49
+ }
50
+ const role = invite.docs[0].role;
51
+ const updatedUser = await req.payload.update({
52
+ collection: userSlug,
53
+ id: session.user.id,
54
+ data: {
55
+ role: role
56
+ },
57
+ overrideAccess: true
58
+ });
59
+ await req.payload.delete({
60
+ collection: pluginOptions.adminInvitations?.slug ?? "admin-invitations",
61
+ where: {
62
+ token: {
63
+ equals: token
64
+ }
65
+ }
66
+ });
67
+ const response = new Response(null, {
68
+ status: 307,
69
+ headers: {
70
+ Location: redirect ?? config.routes.admin
71
+ }
72
+ });
73
+ return response;
74
+ }
75
+ };
76
+ return endpoint;
77
+ };
78
+
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zZXQtYWRtaW4tcm9sZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEVuZHBvaW50IH0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IHN0YXR1cyBhcyBodHRwU3RhdHVzIH0gZnJvbSBcImh0dHAtc3RhdHVzXCI7XG5pbXBvcnQgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tIFwiLi4vLi4vLi4vZ2V0LXBheWxvYWQtYXV0aFwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuY29uc3Qgc2V0QWRtaW5Sb2xlU2NoZW1hID0gei5vYmplY3Qoe1xuICB0b2tlbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICByZWRpcmVjdDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZXRBZG1pblJvbGVFbmRwb2ludCA9IChcbiAgcGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnMsXG4gIHVzZXJTbHVnOiBzdHJpbmdcbik6IEVuZHBvaW50ID0+IHtcbiAgY29uc3QgZW5kcG9pbnQ6IEVuZHBvaW50ID0ge1xuICAgIHBhdGg6IFwiL3NldC1hZG1pbi1yb2xlXCIsXG4gICAgbWV0aG9kOiBcImdldFwiLFxuICAgIGhhbmRsZXI6IGFzeW5jIChyZXEpID0+IHtcbiAgICAgIGNvbnN0IHsgY29uZmlnIH0gPSByZXEucGF5bG9hZDtcbiAgICAgIGNvbnN0IHNjaGVtYSA9IHNldEFkbWluUm9sZVNjaGVtYS5zYWZlUGFyc2UocmVxLnF1ZXJ5KTtcbiAgICAgIGlmICghc2NoZW1hLnN1Y2Nlc3MpIHtcbiAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgeyBtZXNzYWdlOiBzY2hlbWEuZXJyb3IubWVzc2FnZSB9LFxuICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLkJBRF9SRVFVRVNUIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBheWxvYWRBdXRoID0gYXdhaXQgZ2V0UGF5bG9hZEF1dGgoY29uZmlnKTtcbiAgICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBwYXlsb2FkQXV0aC5iZXR0ZXJBdXRoLmFwaS5nZXRTZXNzaW9uKHtcbiAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMsXG4gICAgICB9KTtcbiAgICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbihcbiAgICAgICAgICB7IG1lc3NhZ2U6IFwiTm8gc2Vzc2lvbiBmb3VuZFwiIH0sXG4gICAgICAgICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuVU5BVVRIT1JJWkVEIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgdG9rZW4sIHJlZGlyZWN0IH0gPSBzY2hlbWEuZGF0YTtcbiAgICAgIGNvbnN0IGludml0ZSA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmQoe1xuICAgICAgICBjb2xsZWN0aW9uOiBwbHVnaW5PcHRpb25zLmFkbWluSW52aXRhdGlvbnM/LnNsdWcgPz8gXCJhZG1pbi1pbnZpdGF0aW9uc1wiLFxuICAgICAgICB3aGVyZToge1xuICAgICAgICAgIHRva2VuOiB7IGVxdWFsczogdG9rZW4gfSxcbiAgICAgICAgfSxcbiAgICAgICAgbGltaXQ6IDEsXG4gICAgICB9KTtcbiAgICAgIGlmIChpbnZpdGUuZG9jcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgeyBtZXNzYWdlOiBcIkludmFsaWQgdG9rZW5cIiB9LFxuICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLlVOQVVUSE9SSVpFRCB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCByb2xlID0gaW52aXRlLmRvY3NbMF0ucm9sZSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCB1cGRhdGVkVXNlciA9IGF3YWl0IHJlcS5wYXlsb2FkLnVwZGF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246IHVzZXJTbHVnLFxuICAgICAgICBpZDogc2Vzc2lvbi51c2VyLmlkLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgcm9sZTogcm9sZSxcbiAgICAgICAgfSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IHJlcS5wYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246IHBsdWdpbk9wdGlvbnMuYWRtaW5JbnZpdGF0aW9ucz8uc2x1ZyA/PyBcImFkbWluLWludml0YXRpb25zXCIsXG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgdG9rZW46IHtcbiAgICAgICAgICAgIGVxdWFsczogdG9rZW4sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UobnVsbCwge1xuICAgICAgICBzdGF0dXM6IDMwNyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIExvY2F0aW9uOiByZWRpcmVjdCA/PyBjb25maWcucm91dGVzLmFkbWluLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW5kcG9pbnQ7XG59O1xuIl0sIm5hbWVzIjpbInN0YXR1cyIsImh0dHBTdGF0dXMiLCJnZXRQYXlsb2FkQXV0aCIsInoiLCJzZXRBZG1pblJvbGVTY2hlbWEiLCJvYmplY3QiLCJ0b2tlbiIsInN0cmluZyIsIm9wdGlvbmFsIiwicmVkaXJlY3QiLCJnZXRTZXRBZG1pblJvbGVFbmRwb2ludCIsInBsdWdpbk9wdGlvbnMiLCJ1c2VyU2x1ZyIsImVuZHBvaW50IiwicGF0aCIsIm1ldGhvZCIsImhhbmRsZXIiLCJyZXEiLCJjb25maWciLCJwYXlsb2FkIiwic2NoZW1hIiwic2FmZVBhcnNlIiwicXVlcnkiLCJzdWNjZXNzIiwiUmVzcG9uc2UiLCJqc29uIiwibWVzc2FnZSIsImVycm9yIiwiQkFEX1JFUVVFU1QiLCJwYXlsb2FkQXV0aCIsInNlc3Npb24iLCJiZXR0ZXJBdXRoIiwiYXBpIiwiZ2V0U2Vzc2lvbiIsImhlYWRlcnMiLCJVTkFVVEhPUklaRUQiLCJkYXRhIiwiaW52aXRlIiwiZmluZCIsImNvbGxlY3Rpb24iLCJhZG1pbkludml0YXRpb25zIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwibGltaXQiLCJkb2NzIiwibGVuZ3RoIiwicm9sZSIsInVwZGF0ZWRVc2VyIiwidXBkYXRlIiwiaWQiLCJ1c2VyIiwib3ZlcnJpZGVBY2Nlc3MiLCJkZWxldGUiLCJyZXNwb25zZSIsIkxvY2F0aW9uIiwicm91dGVzIiwiYWRtaW4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFVBQVVDLFVBQVUsUUFBUSxjQUFjO0FBRW5ELFNBQVNDLGNBQWMsUUFBUSw0QkFBNEI7QUFDM0QsU0FBU0MsQ0FBQyxRQUFRLE1BQU07QUFFeEIsTUFBTUMscUJBQXFCRCxFQUFFRSxNQUFNLENBQUM7SUFDbENDLE9BQU9ILEVBQUVJLE1BQU0sR0FBR0MsUUFBUTtJQUMxQkMsVUFBVU4sRUFBRUksTUFBTSxHQUFHQyxRQUFRO0FBQy9CO0FBRUEsT0FBTyxNQUFNRSwwQkFBMEIsQ0FDckNDLGVBQ0FDO0lBRUEsTUFBTUMsV0FBcUI7UUFDekJDLE1BQU07UUFDTkMsUUFBUTtRQUNSQyxTQUFTLE9BQU9DO1lBQ2QsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0QsSUFBSUUsT0FBTztZQUM5QixNQUFNQyxTQUFTaEIsbUJBQW1CaUIsU0FBUyxDQUFDSixJQUFJSyxLQUFLO1lBQ3JELElBQUksQ0FBQ0YsT0FBT0csT0FBTyxFQUFFO2dCQUNuQixPQUFPQyxTQUFTQyxJQUFJLENBQ2xCO29CQUFFQyxTQUFTTixPQUFPTyxLQUFLLENBQUNELE9BQU87Z0JBQUMsR0FDaEM7b0JBQUUxQixRQUFRQyxXQUFXMkIsV0FBVztnQkFBQztZQUVyQztZQUNBLE1BQU1DLGNBQWMsTUFBTTNCLGVBQWVnQjtZQUN6QyxNQUFNWSxVQUFVLE1BQU1ELFlBQVlFLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDQyxVQUFVLENBQUM7Z0JBQzFEQyxTQUFTakIsSUFBSWlCLE9BQU87WUFDdEI7WUFDQSxJQUFJLENBQUNKLFNBQVM7Z0JBQ1osT0FBT04sU0FBU0MsSUFBSSxDQUNsQjtvQkFBRUMsU0FBUztnQkFBbUIsR0FDOUI7b0JBQUUxQixRQUFRQyxXQUFXa0MsWUFBWTtnQkFBQztZQUV0QztZQUNBLE1BQU0sRUFBRTdCLEtBQUssRUFBRUcsUUFBUSxFQUFFLEdBQUdXLE9BQU9nQixJQUFJO1lBQ3ZDLE1BQU1DLFNBQVMsTUFBTXBCLElBQUlFLE9BQU8sQ0FBQ21CLElBQUksQ0FBQztnQkFDcENDLFlBQVk1QixjQUFjNkIsZ0JBQWdCLEVBQUVDLFFBQVE7Z0JBQ3BEQyxPQUFPO29CQUNMcEMsT0FBTzt3QkFBRXFDLFFBQVFyQztvQkFBTTtnQkFDekI7Z0JBQ0FzQyxPQUFPO1lBQ1Q7WUFDQSxJQUFJUCxPQUFPUSxJQUFJLENBQUNDLE1BQU0sS0FBSyxHQUFHO2dCQUM1QixPQUFPdEIsU0FBU0MsSUFBSSxDQUNsQjtvQkFBRUMsU0FBUztnQkFBZ0IsR0FDM0I7b0JBQUUxQixRQUFRQyxXQUFXa0MsWUFBWTtnQkFBQztZQUV0QztZQUNBLE1BQU1ZLE9BQU9WLE9BQU9RLElBQUksQ0FBQyxFQUFFLENBQUNFLElBQUk7WUFDaEMsTUFBTUMsY0FBYyxNQUFNL0IsSUFBSUUsT0FBTyxDQUFDOEIsTUFBTSxDQUFDO2dCQUMzQ1YsWUFBWTNCO2dCQUNac0MsSUFBSXBCLFFBQVFxQixJQUFJLENBQUNELEVBQUU7Z0JBQ25CZCxNQUFNO29CQUNKVyxNQUFNQTtnQkFDUjtnQkFDQUssZ0JBQWdCO1lBQ2xCO1lBQ0EsTUFBTW5DLElBQUlFLE9BQU8sQ0FBQ2tDLE1BQU0sQ0FBQztnQkFDdkJkLFlBQVk1QixjQUFjNkIsZ0JBQWdCLEVBQUVDLFFBQVE7Z0JBQ3BEQyxPQUFPO29CQUNMcEMsT0FBTzt3QkFDTHFDLFFBQVFyQztvQkFDVjtnQkFDRjtZQUNGO1lBQ0EsTUFBTWdELFdBQVcsSUFBSTlCLFNBQVMsTUFBTTtnQkFDbEN4QixRQUFRO2dCQUNSa0MsU0FBUztvQkFDUHFCLFVBQVU5QyxZQUFZUyxPQUFPc0MsTUFBTSxDQUFDQyxLQUFLO2dCQUMzQztZQUNGO1lBQ0EsT0FBT0g7UUFDVDtJQUNGO0lBRUEsT0FBT3pDO0FBQ1QsRUFBRSJ9
@@ -0,0 +1,4 @@
1
+ import { type Endpoint } from "payload";
2
+ import { BetterAuthPluginOptions, SanitizedBetterAuthOptions } from "../../../../types";
3
+ export declare const getSignupEndpoint: (pluginOptions: BetterAuthPluginOptions, betterAuthOptions: SanitizedBetterAuthOptions) => Endpoint;
4
+ //# sourceMappingURL=signup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/endpoints/signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAgB3B,eAAO,MAAM,iBAAiB,GAC5B,eAAe,uBAAuB,EACtC,mBAAmB,0BAA0B,KAC5C,QAyJF,CAAC"}
@@ -0,0 +1,153 @@
1
+ import { addDataAndFileToRequest, commitTransaction, initTransaction, killTransaction } from "payload";
2
+ import { status as httpStatus } from "http-status";
3
+ import z from "zod";
4
+ import { getRequestCollection } from "../../../../helpers/get-requst-collection";
5
+ const routeParamsSchema = z.object({
6
+ token: z.string(),
7
+ redirect: z.string().optional()
8
+ });
9
+ const signupSchema = z.object({
10
+ password: z.string(),
11
+ email: z.string().email(),
12
+ username: z.string().optional()
13
+ });
14
+ export const getSignupEndpoint = (pluginOptions, betterAuthOptions)=>{
15
+ const endpoint = {
16
+ path: "/signup",
17
+ method: "post",
18
+ handler: async (req)=>{
19
+ await addDataAndFileToRequest(req);
20
+ const collection = getRequestCollection(req);
21
+ const { t } = req;
22
+ try {
23
+ const shouldCommit = await initTransaction(req);
24
+ const { success: routeParamsSuccess, data: routeParamsData, error: routeParamsError } = routeParamsSchema.safeParse(req.query);
25
+ if (!routeParamsSuccess) {
26
+ return Response.json({
27
+ message: routeParamsError.message
28
+ }, {
29
+ status: httpStatus.BAD_REQUEST
30
+ });
31
+ }
32
+ const invite = await req.payload.find({
33
+ collection: pluginOptions.adminInvitations?.slug ?? "admin-invitations",
34
+ where: {
35
+ token: {
36
+ equals: routeParamsData.token
37
+ }
38
+ },
39
+ limit: 1,
40
+ req
41
+ });
42
+ if (invite.docs.length === 0) {
43
+ return Response.json({
44
+ message: "Invalid token"
45
+ }, {
46
+ status: httpStatus.UNAUTHORIZED
47
+ });
48
+ }
49
+ const inviteRole = invite.docs[0].role;
50
+ const schema = signupSchema.safeParse(req.data);
51
+ if (!schema.success) {
52
+ return Response.json({
53
+ message: schema.error.message
54
+ }, {
55
+ status: httpStatus.BAD_REQUEST
56
+ });
57
+ }
58
+ const { email, password, username } = schema.data;
59
+ const baseURL = betterAuthOptions.baseURL;
60
+ const basePath = betterAuthOptions.basePath ?? "/api/auth";
61
+ const authApiURL = `${baseURL}${basePath}`;
62
+ const url = authApiURL + "/sign-up/email";
63
+ const result = await fetch(url, {
64
+ method: "POST",
65
+ headers: {
66
+ "Content-Type": "application/json"
67
+ },
68
+ body: JSON.stringify({
69
+ email: email,
70
+ password: password,
71
+ username: username
72
+ })
73
+ });
74
+ const ok = result.ok;
75
+ if (!ok) {
76
+ throw new Error(result.statusText);
77
+ }
78
+ const responseData = await result.json();
79
+ await req.payload.update({
80
+ collection: pluginOptions.users?.slug ?? "users",
81
+ id: responseData.user.id,
82
+ data: {
83
+ role: inviteRole
84
+ },
85
+ overrideAccess: true,
86
+ req
87
+ });
88
+ await req.payload.delete({
89
+ collection: pluginOptions.adminInvitations?.slug ?? "admin-invitations",
90
+ where: {
91
+ token: {
92
+ equals: routeParamsData.token
93
+ }
94
+ },
95
+ req
96
+ });
97
+ const requireEmailVerification = (betterAuthOptions.emailAndPassword?.requireEmailVerification || collection.config.auth.verify) && !responseData.user.emailVerified;
98
+ const sentEmailVerification = betterAuthOptions.emailVerification?.sendVerificationEmail !== undefined;
99
+ if (requireEmailVerification) {
100
+ if (shouldCommit) {
101
+ await commitTransaction(req);
102
+ }
103
+ if (sentEmailVerification) {
104
+ return new Response(JSON.stringify({
105
+ message: t("authentication:verifyYourEmail"),
106
+ sentEmailVerification,
107
+ requireEmailVerification
108
+ }), {
109
+ status: httpStatus.UNAUTHORIZED
110
+ });
111
+ } else {
112
+ return new Response(JSON.stringify({
113
+ message: t("authentication:verifyYourEmail"),
114
+ sentEmailVerification,
115
+ requireEmailVerification
116
+ }), {
117
+ status: httpStatus.UNAUTHORIZED
118
+ });
119
+ }
120
+ }
121
+ const response = new Response(JSON.stringify({
122
+ message: t("authentication:passed"),
123
+ ...responseData
124
+ }), {
125
+ status: 200
126
+ });
127
+ // Forward all Set-Cookie headers from the original response to our response
128
+ const setCookieHeader = result.headers.get("set-cookie");
129
+ if (setCookieHeader) {
130
+ // Set-Cookie headers are typically returned as a single string with multiple cookies separated by commas
131
+ const cookies = setCookieHeader.split(",");
132
+ cookies.forEach((cookie)=>{
133
+ response.headers.append("Set-Cookie", cookie.trim());
134
+ });
135
+ }
136
+ if (shouldCommit) {
137
+ await commitTransaction(req);
138
+ }
139
+ return response;
140
+ } catch (error) {
141
+ await killTransaction(req);
142
+ return Response.json({
143
+ message: error.message
144
+ }, {
145
+ status: httpStatus.INTERNAL_SERVER_ERROR
146
+ });
147
+ }
148
+ }
149
+ };
150
+ return endpoint;
151
+ };
152
+
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zaWdudXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWRkRGF0YUFuZEZpbGVUb1JlcXVlc3QsXG4gIGNvbW1pdFRyYW5zYWN0aW9uLFxuICBpbml0VHJhbnNhY3Rpb24sXG4gIGtpbGxUcmFuc2FjdGlvbixcbiAgdHlwZSBFbmRwb2ludCxcbn0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IHN0YXR1cyBhcyBodHRwU3RhdHVzIH0gZnJvbSBcImh0dHAtc3RhdHVzXCI7XG5pbXBvcnQge1xuICBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyxcbiAgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHogZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tIFwiLi4vLi4vLi4vZ2V0LXBheWxvYWQtYXV0aFwiO1xuaW1wb3J0IHsgZ2V0UmVxdWVzdENvbGxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vaGVscGVycy9nZXQtcmVxdXN0LWNvbGxlY3Rpb25cIjtcblxuY29uc3Qgcm91dGVQYXJhbXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRva2VuOiB6LnN0cmluZygpLFxuICByZWRpcmVjdDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmNvbnN0IHNpZ251cFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgcGFzc3dvcmQ6IHouc3RyaW5nKCksXG4gIGVtYWlsOiB6LnN0cmluZygpLmVtYWlsKCksXG4gIHVzZXJuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IGdldFNpZ251cEVuZHBvaW50ID0gKFxuICBwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyxcbiAgYmV0dGVyQXV0aE9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zXG4pOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IGVuZHBvaW50OiBFbmRwb2ludCA9IHtcbiAgICBwYXRoOiBcIi9zaWdudXBcIixcbiAgICBtZXRob2Q6IFwicG9zdFwiLFxuICAgIGhhbmRsZXI6IGFzeW5jIChyZXEpID0+IHtcbiAgICAgIGF3YWl0IGFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0KHJlcSk7XG4gICAgICBjb25zdCBjb2xsZWN0aW9uID0gZ2V0UmVxdWVzdENvbGxlY3Rpb24ocmVxKTtcbiAgICAgIGNvbnN0IHsgdCB9ID0gcmVxO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBzdWNjZXNzOiByb3V0ZVBhcmFtc1N1Y2Nlc3MsXG4gICAgICAgICAgZGF0YTogcm91dGVQYXJhbXNEYXRhLFxuICAgICAgICAgIGVycm9yOiByb3V0ZVBhcmFtc0Vycm9yLFxuICAgICAgICB9ID0gcm91dGVQYXJhbXNTY2hlbWEuc2FmZVBhcnNlKHJlcS5xdWVyeSk7XG4gICAgICAgIGlmICghcm91dGVQYXJhbXNTdWNjZXNzKSB7XG4gICAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgICB7IG1lc3NhZ2U6IHJvdXRlUGFyYW1zRXJyb3IubWVzc2FnZSB9LFxuICAgICAgICAgICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuQkFEX1JFUVVFU1QgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW52aXRlID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZCh7XG4gICAgICAgICAgY29sbGVjdGlvbjpcbiAgICAgICAgICAgIHBsdWdpbk9wdGlvbnMuYWRtaW5JbnZpdGF0aW9ucz8uc2x1ZyA/PyBcImFkbWluLWludml0YXRpb25zXCIsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgIGVxdWFsczogcm91dGVQYXJhbXNEYXRhLnRva2VuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpbnZpdGUuZG9jcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbihcbiAgICAgICAgICAgIHsgbWVzc2FnZTogXCJJbnZhbGlkIHRva2VuXCIgfSxcbiAgICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLlVOQVVUSE9SSVpFRCB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbnZpdGVSb2xlID0gaW52aXRlLmRvY3NbMF0ucm9sZSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHNpZ251cFNjaGVtYS5zYWZlUGFyc2UocmVxLmRhdGEpO1xuICAgICAgICBpZiAoIXNjaGVtYS5zdWNjZXNzKSB7XG4gICAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgICB7IG1lc3NhZ2U6IHNjaGVtYS5lcnJvci5tZXNzYWdlIH0sXG4gICAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5CQURfUkVRVUVTVCB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGVtYWlsLCBwYXNzd29yZCwgdXNlcm5hbWUgfSA9IHNjaGVtYS5kYXRhO1xuICAgICAgICBjb25zdCBiYXNlVVJMID0gYmV0dGVyQXV0aE9wdGlvbnMuYmFzZVVSTDtcbiAgICAgICAgY29uc3QgYmFzZVBhdGggPSBiZXR0ZXJBdXRoT3B0aW9ucy5iYXNlUGF0aCA/PyBcIi9hcGkvYXV0aFwiO1xuICAgICAgICBjb25zdCBhdXRoQXBpVVJMID0gYCR7YmFzZVVSTH0ke2Jhc2VQYXRofWA7XG4gICAgICAgIGNvbnN0IHVybCA9IGF1dGhBcGlVUkwgKyBcIi9zaWduLXVwL2VtYWlsXCI7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogZW1haWwsXG4gICAgICAgICAgICBwYXNzd29yZDogcGFzc3dvcmQsXG4gICAgICAgICAgICB1c2VybmFtZTogdXNlcm5hbWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBvayA9IHJlc3VsdC5vaztcblxuICAgICAgICBpZiAoIW9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5zdGF0dXNUZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZURhdGEgPSBhd2FpdCByZXN1bHQuanNvbigpO1xuXG4gICAgICAgIGF3YWl0IHJlcS5wYXlsb2FkLnVwZGF0ZSh7XG4gICAgICAgICAgY29sbGVjdGlvbjogcGx1Z2luT3B0aW9ucy51c2Vycz8uc2x1ZyA/PyBcInVzZXJzXCIsXG4gICAgICAgICAgaWQ6IHJlc3BvbnNlRGF0YS51c2VyLmlkLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHJvbGU6IGludml0ZVJvbGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCByZXEucGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246XG4gICAgICAgICAgICBwbHVnaW5PcHRpb25zLmFkbWluSW52aXRhdGlvbnM/LnNsdWcgPz8gXCJhZG1pbi1pbnZpdGF0aW9uc1wiLFxuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0b2tlbjogeyBlcXVhbHM6IHJvdXRlUGFyYW1zRGF0YS50b2tlbiB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByZXF1aXJlRW1haWxWZXJpZmljYXRpb24gPVxuICAgICAgICAgIChiZXR0ZXJBdXRoT3B0aW9ucy5lbWFpbEFuZFBhc3N3b3JkPy5yZXF1aXJlRW1haWxWZXJpZmljYXRpb24gfHxcbiAgICAgICAgICAgIGNvbGxlY3Rpb24uY29uZmlnLmF1dGgudmVyaWZ5KSAmJlxuICAgICAgICAgICFyZXNwb25zZURhdGEudXNlci5lbWFpbFZlcmlmaWVkO1xuXG4gICAgICAgIGNvbnN0IHNlbnRFbWFpbFZlcmlmaWNhdGlvbiA9XG4gICAgICAgICAgYmV0dGVyQXV0aE9wdGlvbnMuZW1haWxWZXJpZmljYXRpb24/LnNlbmRWZXJpZmljYXRpb25FbWFpbCAhPT1cbiAgICAgICAgICB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbikge1xuICAgICAgICAgIGlmIChzaG91bGRDb21taXQpIHtcbiAgICAgICAgICAgIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzZW50RW1haWxWZXJpZmljYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB0KFwiYXV0aGVudGljYXRpb246dmVyaWZ5WW91ckVtYWlsXCIpLFxuICAgICAgICAgICAgICAgIHNlbnRFbWFpbFZlcmlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICByZXF1aXJlRW1haWxWZXJpZmljYXRpb24sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5VTkFVVEhPUklaRUQgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZShcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHQoXCJhdXRoZW50aWNhdGlvbjp2ZXJpZnlZb3VyRW1haWxcIiksXG4gICAgICAgICAgICAgICAgc2VudEVtYWlsVmVyaWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbixcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLlVOQVVUSE9SSVpFRCB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IG5ldyBSZXNwb25zZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBtZXNzYWdlOiB0KFwiYXV0aGVudGljYXRpb246cGFzc2VkXCIpLFxuICAgICAgICAgICAgLi4ucmVzcG9uc2VEYXRhLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgLy8gRm9yd2FyZCBhbGwgU2V0LUNvb2tpZSBoZWFkZXJzIGZyb20gdGhlIG9yaWdpbmFsIHJlc3BvbnNlIHRvIG91ciByZXNwb25zZVxuICAgICAgICBjb25zdCBzZXRDb29raWVIZWFkZXIgPSByZXN1bHQuaGVhZGVycy5nZXQoXCJzZXQtY29va2llXCIpO1xuICAgICAgICBpZiAoc2V0Q29va2llSGVhZGVyKSB7XG4gICAgICAgICAgLy8gU2V0LUNvb2tpZSBoZWFkZXJzIGFyZSB0eXBpY2FsbHkgcmV0dXJuZWQgYXMgYSBzaW5nbGUgc3RyaW5nIHdpdGggbXVsdGlwbGUgY29va2llcyBzZXBhcmF0ZWQgYnkgY29tbWFzXG4gICAgICAgICAgY29uc3QgY29va2llcyA9IHNldENvb2tpZUhlYWRlci5zcGxpdChcIixcIik7XG4gICAgICAgICAgY29va2llcy5mb3JFYWNoKChjb29raWUpID0+IHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuYXBwZW5kKFwiU2V0LUNvb2tpZVwiLCBjb29raWUudHJpbSgpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2hvdWxkQ29tbWl0KSB7XG4gICAgICAgICAgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpO1xuICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbihcbiAgICAgICAgICB7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSxcbiAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5JTlRFUk5BTF9TRVJWRVJfRVJST1IgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGVuZHBvaW50O1xufTtcbiJdLCJuYW1lcyI6WyJhZGREYXRhQW5kRmlsZVRvUmVxdWVzdCIsImNvbW1pdFRyYW5zYWN0aW9uIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwic3RhdHVzIiwiaHR0cFN0YXR1cyIsInoiLCJnZXRSZXF1ZXN0Q29sbGVjdGlvbiIsInJvdXRlUGFyYW1zU2NoZW1hIiwib2JqZWN0IiwidG9rZW4iLCJzdHJpbmciLCJyZWRpcmVjdCIsIm9wdGlvbmFsIiwic2lnbnVwU2NoZW1hIiwicGFzc3dvcmQiLCJlbWFpbCIsInVzZXJuYW1lIiwiZ2V0U2lnbnVwRW5kcG9pbnQiLCJwbHVnaW5PcHRpb25zIiwiYmV0dGVyQXV0aE9wdGlvbnMiLCJlbmRwb2ludCIsInBhdGgiLCJtZXRob2QiLCJoYW5kbGVyIiwicmVxIiwiY29sbGVjdGlvbiIsInQiLCJzaG91bGRDb21taXQiLCJzdWNjZXNzIiwicm91dGVQYXJhbXNTdWNjZXNzIiwiZGF0YSIsInJvdXRlUGFyYW1zRGF0YSIsImVycm9yIiwicm91dGVQYXJhbXNFcnJvciIsInNhZmVQYXJzZSIsInF1ZXJ5IiwiUmVzcG9uc2UiLCJqc29uIiwibWVzc2FnZSIsIkJBRF9SRVFVRVNUIiwiaW52aXRlIiwicGF5bG9hZCIsImZpbmQiLCJhZG1pbkludml0YXRpb25zIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwibGltaXQiLCJkb2NzIiwibGVuZ3RoIiwiVU5BVVRIT1JJWkVEIiwiaW52aXRlUm9sZSIsInJvbGUiLCJzY2hlbWEiLCJiYXNlVVJMIiwiYmFzZVBhdGgiLCJhdXRoQXBpVVJMIiwidXJsIiwicmVzdWx0IiwiZmV0Y2giLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJvayIsIkVycm9yIiwic3RhdHVzVGV4dCIsInJlc3BvbnNlRGF0YSIsInVwZGF0ZSIsInVzZXJzIiwiaWQiLCJ1c2VyIiwib3ZlcnJpZGVBY2Nlc3MiLCJkZWxldGUiLCJyZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJlbWFpbEFuZFBhc3N3b3JkIiwiY29uZmlnIiwiYXV0aCIsInZlcmlmeSIsImVtYWlsVmVyaWZpZWQiLCJzZW50RW1haWxWZXJpZmljYXRpb24iLCJlbWFpbFZlcmlmaWNhdGlvbiIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsInVuZGVmaW5lZCIsInJlc3BvbnNlIiwic2V0Q29va2llSGVhZGVyIiwiZ2V0IiwiY29va2llcyIsInNwbGl0IiwiZm9yRWFjaCIsImNvb2tpZSIsImFwcGVuZCIsInRyaW0iLCJJTlRFUk5BTF9TRVJWRVJfRVJST1IiXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLHVCQUF1QixFQUN2QkMsaUJBQWlCLEVBQ2pCQyxl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
@@ -1,4 +1,4 @@
1
- import { CollectionAfterLoginHook } from 'payload';
1
+ import { CollectionAfterLoginHook } from "payload";
2
2
  type AfterLoginOptions = {
3
3
  usersCollectionSlug: string;
4
4
  sessionsCollectionSlug: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"after-login.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/after-login.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAKnD,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,iBAAiB,KACzB,wBA8EF,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { generateId } from "better-auth";
2
+ import { createAuthMiddleware } from "better-auth/api";
3
+ import { setCookieCache } from "better-auth/cookies";
4
+ import { parseSetCookie } from "next/dist/compiled/@edge-runtime/cookies";
5
+ import { cookies } from "next/headers";
6
+ import { getPayloadAuth } from "../../../../lib/get-payload-auth";
7
+ import { getIp } from "../../../../helpers/get-ip";
8
+ import { prepareSessionData } from "../../../../helpers/prepare-session-data";
9
+ /**
10
+ * This hook is used to sync the admin login token with better-auth session token
11
+ * It also creates a new session in better-auth
12
+ */ export const getAfterLoginHook = (options)=>{
13
+ const hook = async ({ collection, context, req, token, user })=>{
14
+ const config = req.payload.config;
15
+ const payload = await getPayloadAuth(config);
16
+ const cookieStore = await cookies();
17
+ const authContext = await payload.betterAuth.$context;
18
+ const sessionExpiration = payload.betterAuth.options.session?.expiresIn || 60 * 60 * 24 * 7; // 7 days
19
+ // we can't use internal adapter as we can cause a race condition unless we pass req to the payload.create
20
+ const session = await payload.create({
21
+ collection: options.sessionsCollectionSlug,
22
+ data: {
23
+ ipAddress: getIp(req.headers, payload.betterAuth.options) || "",
24
+ userAgent: req.headers?.get("user-agent") || "",
25
+ user: user.id,
26
+ token: generateId(32),
27
+ expiresAt: new Date(Date.now() + sessionExpiration * 1000)
28
+ },
29
+ req
30
+ });
31
+ const betterAuthHandleRequest = createAuthMiddleware(async (ctx)=>{
32
+ ctx.context = {
33
+ ...authContext,
34
+ user: user
35
+ };
36
+ await ctx.setSignedCookie(ctx.context.authCookies.sessionToken.name, session.token, ctx.context.secret, ctx.context.authCookies.sessionToken.options);
37
+ const filteredSessionData = await prepareSessionData({
38
+ newSession: {
39
+ session,
40
+ user
41
+ },
42
+ payloadConfig: config,
43
+ collectionSlugs: {
44
+ userCollectionSlug: options.usersCollectionSlug,
45
+ sessionCollectionSlug: options.sessionsCollectionSlug
46
+ }
47
+ });
48
+ await setCookieCache(ctx, filteredSessionData);
49
+ if ("responseHeaders" in ctx) {
50
+ return ctx.responseHeaders;
51
+ }
52
+ return null;
53
+ });
54
+ // Create a modified request object that matches the expected MiddlewareInputContext type
55
+ const modifiedReq = {
56
+ ...req,
57
+ body: undefined // Explicitly set body to undefined to satisfy type constraint
58
+ };
59
+ const responseHeaders = await betterAuthHandleRequest(modifiedReq);
60
+ const responseCookies = responseHeaders?.getSetCookie().map((cookie)=>parseSetCookie(cookie)).filter(Boolean);
61
+ if (responseCookies) {
62
+ for (const cookieData of responseCookies){
63
+ const { name, value, ...options } = cookieData;
64
+ cookieStore.set({
65
+ ...options,
66
+ name,
67
+ value: decodeURIComponent(value)
68
+ });
69
+ }
70
+ }
71
+ };
72
+ return hook;
73
+ };
74
+
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2hvb2tzL2FmdGVyLWxvZ2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlSWQsIFNlc3Npb24gfSBmcm9tIFwiYmV0dGVyLWF1dGhcIjtcbmltcG9ydCB7IGNyZWF0ZUF1dGhNaWRkbGV3YXJlIH0gZnJvbSBcImJldHRlci1hdXRoL2FwaVwiO1xuaW1wb3J0IHsgc2V0Q29va2llQ2FjaGUgfSBmcm9tIFwiYmV0dGVyLWF1dGgvY29va2llc1wiO1xuaW1wb3J0IHtcbiAgcGFyc2VTZXRDb29raWUsXG4gIHR5cGUgUmVzcG9uc2VDb29raWUsXG59IGZyb20gXCJuZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzXCI7XG5pbXBvcnQgeyBjb29raWVzIH0gZnJvbSBcIm5leHQvaGVhZGVyc1wiO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rIH0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IGdldFBheWxvYWRBdXRoIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2xpYi9nZXQtcGF5bG9hZC1hdXRoXCI7XG5pbXBvcnQgeyBnZXRJcCB9IGZyb20gXCIuLi8uLi8uLi8uLi9oZWxwZXJzL2dldC1pcFwiO1xuaW1wb3J0IHsgcHJlcGFyZVNlc3Npb25EYXRhIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2hlbHBlcnMvcHJlcGFyZS1zZXNzaW9uLWRhdGFcIjtcblxudHlwZSBBZnRlckxvZ2luT3B0aW9ucyA9IHtcbiAgdXNlcnNDb2xsZWN0aW9uU2x1Zzogc3RyaW5nO1xuICBzZXNzaW9uc0NvbGxlY3Rpb25TbHVnOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFRoaXMgaG9vayBpcyB1c2VkIHRvIHN5bmMgdGhlIGFkbWluIGxvZ2luIHRva2VuIHdpdGggYmV0dGVyLWF1dGggc2Vzc2lvbiB0b2tlblxuICogSXQgYWxzbyBjcmVhdGVzIGEgbmV3IHNlc3Npb24gaW4gYmV0dGVyLWF1dGhcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFmdGVyTG9naW5Ib29rID0gKFxuICBvcHRpb25zOiBBZnRlckxvZ2luT3B0aW9uc1xuKTogQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rID0+IHtcbiAgY29uc3QgaG9vazogQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rID0gYXN5bmMgKHtcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbnRleHQsXG4gICAgcmVxLFxuICAgIHRva2VuLFxuICAgIHVzZXIsXG4gIH0pID0+IHtcbiAgICBjb25zdCBjb25maWcgPSByZXEucGF5bG9hZC5jb25maWc7XG4gICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IGdldFBheWxvYWRBdXRoKGNvbmZpZyk7XG4gICAgY29uc3QgY29va2llU3RvcmUgPSBhd2FpdCBjb29raWVzKCk7XG4gICAgY29uc3QgYXV0aENvbnRleHQgPSBhd2FpdCBwYXlsb2FkLmJldHRlckF1dGguJGNvbnRleHQ7XG5cbiAgICBjb25zdCBzZXNzaW9uRXhwaXJhdGlvbiA9XG4gICAgICBwYXlsb2FkLmJldHRlckF1dGgub3B0aW9ucy5zZXNzaW9uPy5leHBpcmVzSW4gfHwgNjAgKiA2MCAqIDI0ICogNzsgLy8gNyBkYXlzXG4gICAgLy8gd2UgY2FuJ3QgdXNlIGludGVybmFsIGFkYXB0ZXIgYXMgd2UgY2FuIGNhdXNlIGEgcmFjZSBjb25kaXRpb24gdW5sZXNzIHdlIHBhc3MgcmVxIHRvIHRoZSBwYXlsb2FkLmNyZWF0ZVxuICAgIGNvbnN0IHNlc3Npb24gPSAoYXdhaXQgcGF5bG9hZC5jcmVhdGUoe1xuICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5zZXNzaW9uc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgZGF0YToge1xuICAgICAgICBpcEFkZHJlc3M6IGdldElwKHJlcS5oZWFkZXJzLCBwYXlsb2FkLmJldHRlckF1dGgub3B0aW9ucykgfHwgXCJcIixcbiAgICAgICAgdXNlckFnZW50OiByZXEuaGVhZGVycz8uZ2V0KFwidXNlci1hZ2VudFwiKSB8fCBcIlwiLFxuICAgICAgICB1c2VyOiB1c2VyLmlkLFxuICAgICAgICB0b2tlbjogZ2VuZXJhdGVJZCgzMiksXG4gICAgICAgIGV4cGlyZXNBdDogbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlc3Npb25FeHBpcmF0aW9uICogMTAwMCksXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgIH0pKSBhcyBTZXNzaW9uO1xuXG4gICAgY29uc3QgYmV0dGVyQXV0aEhhbmRsZVJlcXVlc3QgPSBjcmVhdGVBdXRoTWlkZGxld2FyZShcbiAgICAgIGFzeW5jIChjdHgpOiBQcm9taXNlPEhlYWRlcnMgfCBudWxsPiA9PiB7XG4gICAgICAgIGN0eC5jb250ZXh0ID0geyAuLi5hdXRoQ29udGV4dCwgdXNlcjogdXNlciB9O1xuICAgICAgICBhd2FpdCBjdHguc2V0U2lnbmVkQ29va2llKFxuICAgICAgICAgIGN0eC5jb250ZXh0LmF1dGhDb29raWVzLnNlc3Npb25Ub2tlbi5uYW1lLFxuICAgICAgICAgIHNlc3Npb24udG9rZW4sXG4gICAgICAgICAgY3R4LmNvbnRleHQuc2VjcmV0LFxuICAgICAgICAgIGN0eC5jb250ZXh0LmF1dGhDb29raWVzLnNlc3Npb25Ub2tlbi5vcHRpb25zXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkU2Vzc2lvbkRhdGEgPSBhd2FpdCBwcmVwYXJlU2Vzc2lvbkRhdGEoe1xuICAgICAgICAgIG5ld1Nlc3Npb246IHsgc2Vzc2lvbiwgdXNlciB9LFxuICAgICAgICAgIHBheWxvYWRDb25maWc6IGNvbmZpZyxcbiAgICAgICAgICBjb2xsZWN0aW9uU2x1Z3M6IHtcbiAgICAgICAgICAgIHVzZXJDb2xsZWN0aW9uU2x1Zzogb3B0aW9ucy51c2Vyc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgc2Vzc2lvbkNvbGxlY3Rpb25TbHVnOiBvcHRpb25zLnNlc3Npb25zQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHNldENvb2tpZUNhY2hlKGN0eCwgZmlsdGVyZWRTZXNzaW9uRGF0YSBhcyBhbnkpO1xuICAgICAgICBpZiAoXCJyZXNwb25zZUhlYWRlcnNcIiBpbiBjdHgpIHtcbiAgICAgICAgICByZXR1cm4gY3R4LnJlc3BvbnNlSGVhZGVycyBhcyBIZWFkZXJzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgYSBtb2RpZmllZCByZXF1ZXN0IG9iamVjdCB0aGF0IG1hdGNoZXMgdGhlIGV4cGVjdGVkIE1pZGRsZXdhcmVJbnB1dENvbnRleHQgdHlwZVxuICAgIGNvbnN0IG1vZGlmaWVkUmVxID0ge1xuICAgICAgLi4ucmVxLFxuICAgICAgYm9keTogdW5kZWZpbmVkIC8vIEV4cGxpY2l0bHkgc2V0IGJvZHkgdG8gdW5kZWZpbmVkIHRvIHNhdGlzZnkgdHlwZSBjb25zdHJhaW50XG4gICAgfTtcbiAgICBcbiAgICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBhd2FpdCBiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdChtb2RpZmllZFJlcSk7XG4gICAgY29uc3QgcmVzcG9uc2VDb29raWVzID0gcmVzcG9uc2VIZWFkZXJzXG4gICAgICA/LmdldFNldENvb2tpZSgpXG4gICAgICAubWFwKChjb29raWUpID0+IHBhcnNlU2V0Q29va2llKGNvb2tpZSkpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pIGFzIFJlc3BvbnNlQ29va2llW107XG5cbiAgICBpZiAocmVzcG9uc2VDb29raWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvb2tpZURhdGEgb2YgcmVzcG9uc2VDb29raWVzKSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUsIC4uLm9wdGlvbnMgfSA9IGNvb2tpZURhdGE7XG4gICAgICAgIGNvb2tpZVN0b3JlLnNldCh7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHZhbHVlOiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGhvb2sgYXMgQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rO1xufTtcbiJdLCJuYW1lcyI6WyJnZW5lcmF0ZUlkIiwiY3JlYXRlQXV0aE1pZGRsZXdhcmUiLCJzZXRDb29raWVDYWNoZSIsInBhcnNlU2V0Q29va2llIiwiY29va2llcyIsImdldFBheWxvYWRBdXRoIiwiZ2V0SXAiLCJwcmVwYXJlU2Vzc2lvbkRhdGEiLCJnZXRBZnRlckxvZ2luSG9vayIsIm9wdGlvbnMiLCJob29rIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJyZXEiLCJ0b2tlbiIsInVzZXIiLCJjb25maWciLCJwYXlsb2FkIiwiY29va2llU3RvcmUiLCJhdXRoQ29udGV4dCIsImJldHRlckF1dGgiLCIkY29udGV4dCIsInNlc3Npb25FeHBpcmF0aW9uIiwic2Vzc2lvbiIsImV4cGlyZXNJbiIsImNyZWF0ZSIsInNlc3Npb25zQ29sbGVjdGlvblNsdWciLCJkYXRhIiwiaXBBZGRyZXNzIiwiaGVhZGVycyIsInVzZXJBZ2VudCIsImdldCIsImlkIiwiZXhwaXJlc0F0IiwiRGF0ZSIsIm5vdyIsImJldHRlckF1dGhIYW5kbGVSZXF1ZXN0IiwiY3R4Iiwic2V0U2lnbmVkQ29va2llIiwiYXV0aENvb2tpZXMiLCJzZXNzaW9uVG9rZW4iLCJuYW1lIiwic2VjcmV0IiwiZmlsdGVyZWRTZXNzaW9uRGF0YSIsIm5ld1Nlc3Npb24iLCJwYXlsb2FkQ29uZmlnIiwiY29sbGVjdGlvblNsdWdzIiwidXNlckNvbGxlY3Rpb25TbHVnIiwidXNlcnNDb2xsZWN0aW9uU2x1ZyIsInNlc3Npb25Db2xsZWN0aW9uU2x1ZyIsInJlc3BvbnNlSGVhZGVycyIsIm1vZGlmaWVkUmVxIiwiYm9keSIsInVuZGVmaW5lZCIsInJlc3BvbnNlQ29va2llcyIsImdldFNldENvb2tpZSIsIm1hcCIsImNvb2tpZSIsImZpbHRlciIsIkJvb2xlYW4iLCJjb29raWVEYXRhIiwidmFsdWUiLCJzZXQiLCJkZWNvZGVVUklDb21wb25lbnQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBaUIsY0FBYztBQUNsRCxTQUFTQyxvQkFBb0IsUUFBUSxrQkFBa0I7QUFDdkQsU0FBU0MsY0FBYyxRQUFRLHNCQUFzQjtBQUNyRCxTQUNFQyxjQUFjLFFBRVQsMkNBQTJDO0FBQ2xELFNBQVNDLE9BQU8sUUFBUSxlQUFlO0FBRXZDLFNBQVNDLGNBQWMsUUFBUSxtQ0FBbUM7QUFDbEUsU0FBU0MsS0FBSyxRQUFRLDZCQUE2QjtBQUNuRCxTQUFTQyxrQkFBa0IsUUFBUSwyQ0FBMkM7QUFPOUU7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyxvQkFBb0IsQ0FDL0JDO0lBRUEsTUFBTUMsT0FBaUMsT0FBTyxFQUM1Q0MsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLEdBQUcsRUFDSEMsS0FBSyxFQUNMQyxJQUFJLEVBQ0w7UUFDQyxNQUFNQyxTQUFTSCxJQUFJSSxPQUFPLENBQUNELE1BQU07UUFDakMsTUFBTUMsVUFBVSxNQUFNWixlQUFlVztRQUNyQyxNQUFNRSxjQUFjLE1BQU1kO1FBQzFCLE1BQU1lLGNBQWMsTUFBTUYsUUFBUUcsVUFBVSxDQUFDQyxRQUFRO1FBRXJELE1BQU1DLG9CQUNKTCxRQUFRRyxVQUFVLENBQUNYLE9BQU8sQ0FBQ2MsT0FBTyxFQUFFQyxhQUFhLEtBQUssS0FBSyxLQUFLLEdBQUcsU0FBUztRQUM5RSwwR0FBMEc7UUFDMUcsTUFBTUQsVUFBVyxNQUFNTixRQUFRUSxNQUFNLENBQUM7WUFDcENkLFlBQVlGLFFBQVFpQixzQkFBc0I7WUFDMUNDLE1BQU07Z0JBQ0pDLFdBQVd0QixNQUFNTyxJQUFJZ0IsT0FBTyxFQUFFWixRQUFRRyxVQUFVLENBQUNYLE9BQU8sS0FBSztnQkFDN0RxQixXQUFXakIsSUFBSWdCLE9BQU8sRUFBRUUsSUFBSSxpQkFBaUI7Z0JBQzdDaEIsTUFBTUEsS0FBS2lCLEVBQUU7Z0JBQ2JsQixPQUFPZCxXQUFXO2dCQUNsQmlDLFdBQVcsSUFBSUMsS0FBS0EsS0FBS0MsR0FBRyxLQUFLYixvQkFBb0I7WUFDdkQ7WUFDQVQ7UUFDRjtRQUVBLE1BQU11QiwwQkFBMEJuQyxxQkFDOUIsT0FBT29DO1lBQ0xBLElBQUl6QixPQUFPLEdBQUc7Z0JBQUUsR0FBR08sV0FBVztnQkFBRUosTUFBTUE7WUFBSztZQUMzQyxNQUFNc0IsSUFBSUMsZUFBZSxDQUN2QkQsSUFBSXpCLE9BQU8sQ0FBQzJCLFdBQVcsQ0FBQ0MsWUFBWSxDQUFDQyxJQUFJLEVBQ3pDbEIsUUFBUVQsS0FBSyxFQUNidUIsSUFBSXpCLE9BQU8sQ0FBQzhCLE1BQU0sRUFDbEJMLElBQUl6QixPQUFPLENBQUMyQixXQUFXLENBQUNDLFlBQVksQ0FBQy9CLE9BQU87WUFFOUMsTUFBTWtDLHNCQUFzQixNQUFNcEMsbUJBQW1CO2dCQUNuRHFDLFlBQVk7b0JBQUVyQjtvQkFBU1I7Z0JBQUs7Z0JBQzVCOEIsZUFBZTdCO2dCQUNmOEIsaUJBQWlCO29CQUNmQyxvQkFBb0J0QyxRQUFRdUMsbUJBQW1CO29CQUMvQ0MsdUJBQXVCeEMsUUFBUWlCLHNCQUFzQjtnQkFDdkQ7WUFDRjtZQUNBLE1BQU14QixlQUFlbUMsS0FBS007WUFDMUIsSUFBSSxxQkFBcUJOLEtBQUs7Z0JBQzVCLE9BQU9BLElBQUlhLGVBQWU7WUFDNUI7WUFDQSxPQUFPO1FBQ1Q7UUFHRix5RkFBeUY7UUFDekYsTUFBTUMsY0FBYztZQUNsQixHQUFHdEMsR0FBRztZQUNOdUMsTUFBTUMsVUFBVSw4REFBOEQ7UUFDaEY7UUFFQSxNQUFNSCxrQkFBa0IsTUFBTWQsd0JBQXdCZTtRQUN0RCxNQUFNRyxrQkFBa0JKLGlCQUNwQkssZUFDREMsSUFBSSxDQUFDQyxTQUFXdEQsZUFBZXNELFNBQy9CQyxPQUFPQztRQUVWLElBQUlMLGlCQUFpQjtZQUNuQixLQUFLLE1BQU1NLGNBQWNOLGdCQUFpQjtnQkFDeEMsTUFBTSxFQUFFYixJQUFJLEVBQUVvQixLQUFLLEVBQUUsR0FBR3BELFNBQVMsR0FBR21EO2dCQUNwQzFDLFlBQVk0QyxHQUFHLENBQUM7b0JBQ2QsR0FBR3JELE9BQU87b0JBQ1ZnQztvQkFDQW9CLE9BQU9FLG1CQUFtQkY7Z0JBQzVCO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT25EO0FBQ1QsRUFBRSJ9
@@ -1,4 +1,4 @@
1
- import type { CollectionAfterLogoutHook } from 'payload';
1
+ import type { CollectionAfterLogoutHook } from "payload";
2
2
  type AfterLogoutOptions = {
3
3
  sessionsCollectionSlug: string;
4
4
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"after-logout.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/after-logout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAOzD,KAAK,kBAAkB,GAAG;IACxB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,kBAAkB,KAC1B,yBA4EF,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { cookies } from "next/headers";
2
+ import { getPayloadAuth } from "../../../../lib/get-payload-auth";
3
+ export const getAfterLogoutHook = (options)=>{
4
+ const hook = async ({ req })=>{
5
+ const cookieStore = await cookies();
6
+ const payload = await getPayloadAuth(req.payload.config);
7
+ const securePrefix = "__Secure-";
8
+ const authContext = await payload.betterAuth.$context;
9
+ const sessionTokenName = authContext.authCookies.sessionToken.name;
10
+ const sessionDataName = authContext.authCookies.sessionData.name;
11
+ const dontRememberTokenName = authContext.authCookies.dontRememberToken.name;
12
+ try {
13
+ const sessionCookieValue = cookieStore.get(sessionTokenName)?.value;
14
+ if (sessionCookieValue) {
15
+ const payload = req.payload;
16
+ const [token] = sessionCookieValue.split(".");
17
+ const { docs: sessions } = await payload.find({
18
+ collection: options.sessionsCollectionSlug,
19
+ where: {
20
+ token: {
21
+ equals: token
22
+ }
23
+ },
24
+ limit: 1,
25
+ req
26
+ });
27
+ const session = sessions.at(0);
28
+ if (session) {
29
+ try {
30
+ await payload.delete({
31
+ collection: options.sessionsCollectionSlug,
32
+ where: {
33
+ id: {
34
+ equals: session.id
35
+ }
36
+ },
37
+ req
38
+ });
39
+ } catch (error) {
40
+ console.error("Error deleting session:", error);
41
+ }
42
+ }
43
+ }
44
+ const baseMultiSessionName = sessionTokenName + "_multi";
45
+ const multiSessionCookies = cookieStore.getAll();
46
+ multiSessionCookies.forEach((cookie)=>{
47
+ if (cookie.name.startsWith(baseMultiSessionName)) {
48
+ cookieStore.delete(cookie.name);
49
+ }
50
+ const secureMultiSessionName = securePrefix + baseMultiSessionName;
51
+ if (cookie.name.startsWith(secureMultiSessionName)) {
52
+ cookieStore.delete(cookie.name);
53
+ }
54
+ });
55
+ } catch (error) {
56
+ console.error("Error afterLogoutHook:", error);
57
+ }
58
+ //TODO: this is a hack to delete the admin session cookie
59
+ // we need to find a better way to do this (BETTER AUTH HARDCODED THIS)
60
+ cookieStore.delete("admin_session");
61
+ const cleanSessionTokenName = sessionTokenName.replace(securePrefix, "");
62
+ const cleanSessionDataName = sessionDataName.replace(securePrefix, "");
63
+ const cleanDontRememberTokenName = dontRememberTokenName.replace(securePrefix, "");
64
+ cookieStore.delete(cleanSessionTokenName);
65
+ cookieStore.delete(`__Secure-${cleanSessionTokenName}`);
66
+ cookieStore.delete(cleanSessionDataName);
67
+ cookieStore.delete(`__Secure-${cleanSessionDataName}`);
68
+ cookieStore.delete(cleanDontRememberTokenName);
69
+ cookieStore.delete(`__Secure-${cleanDontRememberTokenName}`);
70
+ };
71
+ return hook;
72
+ };
73
+
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2hvb2tzL2FmdGVyLWxvZ291dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb29raWVzIH0gZnJvbSBcIm5leHQvaGVhZGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rIH0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkhvb2tXaXRoQmV0dGVyQXV0aCB9IGZyb20gXCIuLi8uLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tIFwiLi4vLi4vLi4vLi4vbGliL2dldC1wYXlsb2FkLWF1dGhcIjtcblxudHlwZSBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rV2l0aEJldHRlckF1dGggPVxuICBDb2xsZWN0aW9uSG9va1dpdGhCZXR0ZXJBdXRoPENvbGxlY3Rpb25BZnRlckxvZ291dEhvb2s+O1xuXG50eXBlIEFmdGVyTG9nb3V0T3B0aW9ucyA9IHtcbiAgc2Vzc2lvbnNDb2xsZWN0aW9uU2x1Zzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFmdGVyTG9nb3V0SG9vayA9IChcbiAgb3B0aW9uczogQWZ0ZXJMb2dvdXRPcHRpb25zXG4pOiBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rID0+IHtcbiAgY29uc3QgaG9vazogQ29sbGVjdGlvbkFmdGVyTG9nb3V0SG9va1dpdGhCZXR0ZXJBdXRoID0gYXN5bmMgKHsgcmVxIH0pID0+IHtcbiAgICBjb25zdCBjb29raWVTdG9yZSA9IGF3YWl0IGNvb2tpZXMoKTtcbiAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgZ2V0UGF5bG9hZEF1dGgocmVxLnBheWxvYWQuY29uZmlnKTtcbiAgICBjb25zdCBzZWN1cmVQcmVmaXggPSBcIl9fU2VjdXJlLVwiO1xuICAgIGNvbnN0IGF1dGhDb250ZXh0ID0gYXdhaXQgcGF5bG9hZC5iZXR0ZXJBdXRoLiRjb250ZXh0O1xuICAgIGNvbnN0IHNlc3Npb25Ub2tlbk5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5zZXNzaW9uVG9rZW4ubmFtZTtcbiAgICBjb25zdCBzZXNzaW9uRGF0YU5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5zZXNzaW9uRGF0YS5uYW1lO1xuICAgIGNvbnN0IGRvbnRSZW1lbWJlclRva2VuTmFtZSA9XG4gICAgICBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5kb250UmVtZW1iZXJUb2tlbi5uYW1lO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlc3Npb25Db29raWVWYWx1ZSA9IGNvb2tpZVN0b3JlLmdldChzZXNzaW9uVG9rZW5OYW1lKT8udmFsdWU7XG4gICAgICBpZiAoc2Vzc2lvbkNvb2tpZVZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSByZXEucGF5bG9hZDtcbiAgICAgICAgY29uc3QgW3Rva2VuXSA9IHNlc3Npb25Db29raWVWYWx1ZS5zcGxpdChcIi5cIik7XG4gICAgICAgIGNvbnN0IHsgZG9jczogc2Vzc2lvbnMgfSA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5zZXNzaW9uc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0b2tlbjogeyBlcXVhbHM6IHRva2VuIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsaW1pdDogMSxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gc2Vzc2lvbnMuYXQoMCk7XG4gICAgICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5zZXNzaW9uc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgIGlkOiB7IGVxdWFsczogc2Vzc2lvbi5pZCB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGRlbGV0aW5nIHNlc3Npb246XCIsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgYmFzZU11bHRpU2Vzc2lvbk5hbWUgPSBzZXNzaW9uVG9rZW5OYW1lICsgXCJfbXVsdGlcIjtcbiAgICAgIGNvbnN0IG11bHRpU2Vzc2lvbkNvb2tpZXMgPSBjb29raWVTdG9yZS5nZXRBbGwoKTtcbiAgICAgIG11bHRpU2Vzc2lvbkNvb2tpZXMuZm9yRWFjaCgoY29va2llKSA9PiB7XG4gICAgICAgIGlmIChjb29raWUubmFtZS5zdGFydHNXaXRoKGJhc2VNdWx0aVNlc3Npb25OYW1lKSkge1xuICAgICAgICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShjb29raWUubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VjdXJlTXVsdGlTZXNzaW9uTmFtZSA9IHNlY3VyZVByZWZpeCArIGJhc2VNdWx0aVNlc3Npb25OYW1lO1xuICAgICAgICBpZiAoY29va2llLm5hbWUuc3RhcnRzV2l0aChzZWN1cmVNdWx0aVNlc3Npb25OYW1lKSkge1xuICAgICAgICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShjb29raWUubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgYWZ0ZXJMb2dvdXRIb29rOlwiLCBlcnJvcik7XG4gICAgfVxuICAgIC8vVE9ETzogdGhpcyBpcyBhIGhhY2sgdG8gZGVsZXRlIHRoZSBhZG1pbiBzZXNzaW9uIGNvb2tpZVxuICAgIC8vIHdlIG5lZWQgdG8gZmluZCBhIGJldHRlciB3YXkgdG8gZG8gdGhpcyAoQkVUVEVSIEFVVEggSEFSRENPREVEIFRISVMpXG4gICAgY29va2llU3RvcmUuZGVsZXRlKFwiYWRtaW5fc2Vzc2lvblwiKTtcblxuICAgIGNvbnN0IGNsZWFuU2Vzc2lvblRva2VuTmFtZSA9IHNlc3Npb25Ub2tlbk5hbWUucmVwbGFjZShzZWN1cmVQcmVmaXgsIFwiXCIpO1xuICAgIGNvbnN0IGNsZWFuU2Vzc2lvbkRhdGFOYW1lID0gc2Vzc2lvbkRhdGFOYW1lLnJlcGxhY2Uoc2VjdXJlUHJlZml4LCBcIlwiKTtcbiAgICBjb25zdCBjbGVhbkRvbnRSZW1lbWJlclRva2VuTmFtZSA9IGRvbnRSZW1lbWJlclRva2VuTmFtZS5yZXBsYWNlKFxuICAgICAgc2VjdXJlUHJlZml4LFxuICAgICAgXCJcIlxuICAgICk7XG5cbiAgICBjb29raWVTdG9yZS5kZWxldGUoY2xlYW5TZXNzaW9uVG9rZW5OYW1lKTtcbiAgICBjb29raWVTdG9yZS5kZWxldGUoYF9fU2VjdXJlLSR7Y2xlYW5TZXNzaW9uVG9rZW5OYW1lfWApO1xuXG4gICAgY29va2llU3RvcmUuZGVsZXRlKGNsZWFuU2Vzc2lvbkRhdGFOYW1lKTtcbiAgICBjb29raWVTdG9yZS5kZWxldGUoYF9fU2VjdXJlLSR7Y2xlYW5TZXNzaW9uRGF0YU5hbWV9YCk7XG5cbiAgICBjb29raWVTdG9yZS5kZWxldGUoY2xlYW5Eb250UmVtZW1iZXJUb2tlbk5hbWUpO1xuICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShgX19TZWN1cmUtJHtjbGVhbkRvbnRSZW1lbWJlclRva2VuTmFtZX1gKTtcbiAgfTtcblxuICByZXR1cm4gaG9vayBhcyBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rO1xufTtcbiJdLCJuYW1lcyI6WyJjb29raWVzIiwiZ2V0UGF5bG9hZEF1dGgiLCJnZXRBZnRlckxvZ291dEhvb2siLCJvcHRpb25zIiwiaG9vayIsInJlcSIsImNvb2tpZVN0b3JlIiwicGF5bG9hZCIsImNvbmZpZyIsInNlY3VyZVByZWZpeCIsImF1dGhDb250ZXh0IiwiYmV0dGVyQXV0aCIsIiRjb250ZXh0Iiwic2Vzc2lvblRva2VuTmFtZSIsImF1dGhDb29raWVzIiwic2Vzc2lvblRva2VuIiwibmFtZSIsInNlc3Npb25EYXRhTmFtZSIsInNlc3Npb25EYXRhIiwiZG9udFJlbWVtYmVyVG9rZW5OYW1lIiwiZG9udFJlbWVtYmVyVG9rZW4iLCJzZXNzaW9uQ29va2llVmFsdWUiLCJnZXQiLCJ2YWx1ZSIsInRva2VuIiwic3BsaXQiLCJkb2NzIiwic2Vzc2lvbnMiLCJmaW5kIiwiY29sbGVjdGlvbiIsInNlc3Npb25zQ29sbGVjdGlvblNsdWciLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0Iiwic2Vzc2lvbiIsImF0IiwiZGVsZXRlIiwiaWQiLCJlcnJvciIsImNvbnNvbGUiLCJiYXNlTXVsdGlTZXNzaW9uTmFtZSIsIm11bHRpU2Vzc2lvbkNvb2tpZXMiLCJnZXRBbGwiLCJmb3JFYWNoIiwiY29va2llIiwic3RhcnRzV2l0aCIsInNlY3VyZU11bHRpU2Vzc2lvbk5hbWUiLCJjbGVhblNlc3Npb25Ub2tlbk5hbWUiLCJyZXBsYWNlIiwiY2xlYW5TZXNzaW9uRGF0YU5hbWUiLCJjbGVhbkRvbnRSZW1lbWJlclRva2VuTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxRQUFRLGVBQWU7QUFHdkMsU0FBU0MsY0FBYyxRQUFRLG1DQUFtQztBQVNsRSxPQUFPLE1BQU1DLHFCQUFxQixDQUNoQ0M7SUFFQSxNQUFNQyxPQUFnRCxPQUFPLEVBQUVDLEdBQUcsRUFBRTtRQUNsRSxNQUFNQyxjQUFjLE1BQU1OO1FBQzFCLE1BQU1PLFVBQVUsTUFBTU4sZUFBZUksSUFBSUUsT0FBTyxDQUFDQyxNQUFNO1FBQ3ZELE1BQU1DLGVBQWU7UUFDckIsTUFBTUMsY0FBYyxNQUFNSCxRQUFRSSxVQUFVLENBQUNDLFFBQVE7UUFDckQsTUFBTUMsbUJBQW1CSCxZQUFZSSxXQUFX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