@luochuanyuewu/payload-auth 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +24 -0
  2. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -0
  3. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +317 -0
  4. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +2 -0
  5. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -0
  6. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +23 -0
  7. package/dist/better-auth/adapter/generate-schema/index.d.ts +5 -0
  8. package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -0
  9. package/dist/better-auth/adapter/generate-schema/index.js +19 -0
  10. package/dist/better-auth/adapter/generate-schema/utils.d.ts +3 -0
  11. package/dist/better-auth/adapter/generate-schema/utils.d.ts.map +1 -0
  12. package/dist/better-auth/adapter/generate-schema/utils.js +20 -0
  13. package/dist/better-auth/adapter/index.d.ts +16 -0
  14. package/dist/better-auth/adapter/index.d.ts.map +1 -0
  15. package/dist/better-auth/adapter/index.js +717 -0
  16. package/dist/better-auth/adapter/transform/index.d.ts +31 -0
  17. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -0
  18. package/dist/better-auth/adapter/transform/index.js +729 -0
  19. package/dist/better-auth/adapter/types.d.ts +11 -0
  20. package/dist/better-auth/adapter/types.d.ts.map +1 -0
  21. package/dist/better-auth/adapter/types.js +3 -0
  22. package/dist/better-auth/generated-types.d.ts +329 -0
  23. package/dist/better-auth/generated-types.d.ts.map +1 -0
  24. package/dist/better-auth/generated-types.js +4 -0
  25. package/dist/better-auth/index.d.ts +4 -0
  26. package/dist/better-auth/index.d.ts.map +1 -0
  27. package/dist/better-auth/index.js +5 -0
  28. package/dist/better-auth/plugin/constants.d.ts +231 -0
  29. package/dist/better-auth/plugin/constants.d.ts.map +1 -0
  30. package/dist/better-auth/plugin/constants.js +259 -0
  31. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +13 -0
  32. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts.map +1 -0
  33. package/dist/better-auth/plugin/helpers/check-plugin-exists.js +14 -0
  34. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +30 -0
  35. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -0
  36. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +46 -0
  37. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
  38. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
  39. package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
  40. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
  41. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
  42. package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
  43. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +19 -0
  44. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -0
  45. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +75 -0
  46. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +6 -0
  47. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts.map +1 -0
  48. package/dist/better-auth/plugin/helpers/get-collection-slug.js +20 -0
  49. package/dist/better-auth/plugin/helpers/get-collection.d.ts +28 -0
  50. package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -0
  51. package/dist/better-auth/plugin/helpers/get-collection.js +49 -0
  52. package/dist/better-auth/plugin/helpers/get-ip.d.ts +3 -0
  53. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -0
  54. package/dist/better-auth/plugin/helpers/get-ip.js +31 -0
  55. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +3 -0
  56. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts.map +1 -0
  57. package/dist/better-auth/plugin/helpers/get-signed-cookie.js +63 -0
  58. package/dist/better-auth/plugin/helpers/index.d.ts +2 -0
  59. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -0
  60. package/dist/better-auth/plugin/helpers/index.js +3 -0
  61. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +60 -0
  62. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
  63. package/dist/better-auth/plugin/helpers/prepare-session-data.js +49 -0
  64. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +21 -0
  65. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -0
  66. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +63 -0
  67. package/dist/better-auth/plugin/index.d.ts +8 -0
  68. package/dist/better-auth/plugin/index.d.ts.map +1 -0
  69. package/dist/better-auth/plugin/index.js +103 -0
  70. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +13 -0
  71. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +1 -0
  72. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +87 -0
  73. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +4 -0
  74. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
  75. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +51 -0
  76. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +4 -0
  77. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
  78. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +150 -0
  79. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
  80. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
  81. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
  82. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
  83. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
  84. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
  85. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
  86. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
  87. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +117 -0
  88. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +4 -0
  89. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
  90. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +174 -0
  91. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +4 -0
  92. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -0
  93. package/dist/better-auth/plugin/lib/build-collections/device-code.js +49 -0
  94. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +11 -0
  95. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
  96. package/dist/better-auth/plugin/lib/build-collections/index.js +79 -0
  97. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +4 -0
  98. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
  99. package/dist/better-auth/plugin/lib/build-collections/invitations.js +93 -0
  100. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +4 -0
  101. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
  102. package/dist/better-auth/plugin/lib/build-collections/jwks.js +58 -0
  103. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +4 -0
  104. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
  105. package/dist/better-auth/plugin/lib/build-collections/members.js +72 -0
  106. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +4 -0
  107. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
  108. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +105 -0
  109. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +4 -0
  110. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
  111. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +117 -0
  112. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +4 -0
  113. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
  114. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +87 -0
  115. package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts +4 -0
  116. package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts.map +1 -0
  117. package/dist/better-auth/plugin/lib/build-collections/organization-roles.js +65 -0
  118. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +4 -0
  119. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
  120. package/dist/better-auth/plugin/lib/build-collections/organizations.js +106 -0
  121. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +4 -0
  122. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
  123. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +115 -0
  124. package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts +4 -0
  125. package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts.map +1 -0
  126. package/dist/better-auth/plugin/lib/build-collections/rate-limit.js +54 -0
  127. package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts +4 -0
  128. package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts.map +1 -0
  129. package/dist/better-auth/plugin/lib/build-collections/scim-provider.js +65 -0
  130. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +4 -0
  131. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
  132. package/dist/better-auth/plugin/lib/build-collections/sessions.js +140 -0
  133. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +4 -0
  134. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
  135. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +80 -0
  136. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +4 -0
  137. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -0
  138. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +110 -0
  139. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +4 -0
  140. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts.map +1 -0
  141. package/dist/better-auth/plugin/lib/build-collections/team-members.js +63 -0
  142. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +4 -0
  143. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
  144. package/dist/better-auth/plugin/lib/build-collections/teams.js +74 -0
  145. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +4 -0
  146. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
  147. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +66 -0
  148. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
  149. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
  150. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
  151. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +12 -0
  152. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
  153. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +68 -0
  154. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +5 -0
  155. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -0
  156. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +6 -0
  157. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
  158. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
  159. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +114 -0
  160. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +4 -0
  161. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
  162. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +64 -0
  163. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
  164. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
  165. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +90 -0
  166. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +7 -0
  167. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
  168. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +80 -0
  169. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +3 -0
  170. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
  171. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +79 -0
  172. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +3 -0
  173. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
  174. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +54 -0
  175. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +7 -0
  176. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
  177. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +15 -0
  178. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +7 -0
  179. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -0
  180. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +8 -0
  181. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
  182. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
  183. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +17 -0
  184. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +3 -0
  185. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
  186. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +90 -0
  187. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +4 -0
  188. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
  189. package/dist/better-auth/plugin/lib/build-collections/users/index.js +333 -0
  190. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +16 -0
  191. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -0
  192. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +24 -0
  193. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +11 -0
  194. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts.map +1 -0
  195. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +112 -0
  196. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
  197. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
  198. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
  199. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +12 -0
  200. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -0
  201. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +26 -0
  202. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +18 -0
  203. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
  204. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +84 -0
  205. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +21 -0
  206. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -0
  207. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +95 -0
  208. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +4 -0
  209. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
  210. package/dist/better-auth/plugin/lib/build-collections/verifications.js +82 -0
  211. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +6 -0
  212. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -0
  213. package/dist/better-auth/plugin/lib/get-payload-auth.js +9 -0
  214. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +8 -0
  215. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -0
  216. package/dist/better-auth/plugin/lib/init-better-auth.js +16 -0
  217. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
  218. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
  219. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +12 -0
  220. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +3 -0
  221. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
  222. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +10 -0
  223. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +3 -0
  224. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts.map +1 -0
  225. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +8 -0
  226. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +12 -0
  227. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
  228. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +146 -0
  229. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +3 -0
  230. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
  231. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +18 -0
  232. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +3 -0
  233. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
  234. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +34 -0
  235. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +3 -0
  236. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
  237. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +11 -0
  238. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +3 -0
  239. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
  240. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +10 -0
  241. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +3 -0
  242. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -0
  243. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +11 -0
  244. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts +8 -0
  245. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts.map +1 -0
  246. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +20 -0
  247. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts +8 -0
  248. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts.map +1 -0
  249. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.js +20 -0
  250. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts +14 -0
  251. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts.map +1 -0
  252. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.js +38 -0
  253. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +8 -0
  254. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
  255. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
  256. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +26 -0
  257. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
  258. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
  259. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +10 -0
  260. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -0
  261. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +42 -0
  262. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +10 -0
  263. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +1 -0
  264. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +62 -0
  265. package/dist/better-auth/plugin/lib/set-login-methods.d.ts +5 -0
  266. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -0
  267. package/dist/better-auth/plugin/lib/set-login-methods.js +14 -0
  268. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +10 -0
  269. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
  270. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +116 -0
  271. package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +36 -0
  272. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
  273. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
  274. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +213 -0
  275. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +136 -0
  276. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts +4 -0
  277. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -0
  278. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +197 -0
  279. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts +49 -0
  280. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts.map +1 -0
  281. package/dist/better-auth/plugin/payload/components/login-form/context.js +94 -0
  282. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts +4 -0
  283. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts.map +1 -0
  284. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.js +167 -0
  285. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts +5 -0
  286. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts.map +1 -0
  287. package/dist/better-auth/plugin/payload/components/login-form/index.js +6 -0
  288. package/dist/better-auth/plugin/payload/components/login-form/index.scss +58 -0
  289. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +5 -0
  290. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
  291. package/dist/better-auth/plugin/payload/components/logout-button.js +24 -0
  292. package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +9 -0
  293. package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts.map +1 -0
  294. package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +122 -0
  295. package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +3 -0
  296. package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts.map +1 -0
  297. package/dist/better-auth/plugin/payload/components/passkeys/client.js +61 -0
  298. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +5 -0
  299. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -0
  300. package/dist/better-auth/plugin/payload/components/passkeys/index.js +42 -0
  301. package/dist/better-auth/plugin/payload/components/passkeys/index.scss +98 -0
  302. package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +9 -0
  303. package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts.map +1 -0
  304. package/dist/better-auth/plugin/payload/components/passkeys/list.js +57 -0
  305. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +23 -0
  306. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -0
  307. package/dist/better-auth/plugin/payload/components/passkeys/types.js +3 -0
  308. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
  309. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
  310. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +13 -0
  311. package/dist/better-auth/plugin/payload/components/token-field.d.ts +4 -0
  312. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
  313. package/dist/better-auth/plugin/payload/components/token-field.js +29 -0
  314. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts +9 -0
  315. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts.map +1 -0
  316. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js +347 -0
  317. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.scss +116 -0
  318. package/dist/better-auth/plugin/payload/exports/client.d.ts +7 -0
  319. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -0
  320. package/dist/better-auth/plugin/payload/exports/client.js +8 -0
  321. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +9 -0
  322. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -0
  323. package/dist/better-auth/plugin/payload/exports/rsc.js +10 -0
  324. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
  325. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
  326. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +9 -0
  327. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
  328. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
  329. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +22 -0
  330. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +23 -0
  331. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -0
  332. package/dist/better-auth/plugin/payload/views/admin-login/client.js +24 -0
  333. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +11 -0
  334. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -0
  335. package/dist/better-auth/plugin/payload/views/admin-login/index.js +143 -0
  336. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +23 -0
  337. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -0
  338. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +185 -0
  339. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +10 -0
  340. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -0
  341. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +92 -0
  342. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +7 -0
  343. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
  344. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +104 -0
  345. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
  346. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
  347. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +61 -0
  348. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +11 -0
  349. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
  350. package/dist/better-auth/plugin/payload/views/reset-password/client.js +111 -0
  351. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +9 -0
  352. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
  353. package/dist/better-auth/plugin/payload/views/reset-password/index.js +78 -0
  354. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts +9 -0
  355. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts.map +1 -0
  356. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js +79 -0
  357. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +10 -0
  358. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -0
  359. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +49 -0
  360. package/dist/better-auth/plugin/types.d.ts +448 -0
  361. package/dist/better-auth/plugin/types.d.ts.map +1 -0
  362. package/dist/better-auth/plugin/types.js +3 -0
  363. package/dist/better-auth/plugin/utils/set.d.ts +40 -0
  364. package/dist/better-auth/plugin/utils/set.d.ts.map +1 -0
  365. package/dist/better-auth/plugin/utils/set.js +84 -0
  366. package/dist/better-auth/scripts/generate-types.d.ts +2 -0
  367. package/dist/better-auth/scripts/generate-types.d.ts.map +1 -0
  368. package/dist/better-auth/scripts/generate-types.js +225 -0
  369. package/dist/better-auth/types.d.ts +3 -0
  370. package/dist/better-auth/types.d.ts.map +1 -0
  371. package/dist/better-auth/types.js +4 -0
  372. package/dist/index.d.ts +2 -0
  373. package/dist/index.d.ts.map +1 -0
  374. package/dist/index.js +4 -0
  375. package/dist/shared/components/icons.d.ts +8 -0
  376. package/dist/shared/components/icons.d.ts.map +1 -0
  377. package/dist/shared/components/icons.js +436 -0
  378. package/dist/shared/components/logo.d.ts +3 -0
  379. package/dist/shared/components/logo.d.ts.map +1 -0
  380. package/dist/shared/components/logo.js +24 -0
  381. package/dist/shared/form/components/submit.d.ts +8 -0
  382. package/dist/shared/form/components/submit.d.ts.map +1 -0
  383. package/dist/shared/form/components/submit.js +23 -0
  384. package/dist/shared/form/fields/text-field.d.ts +9 -0
  385. package/dist/shared/form/fields/text-field.d.ts.map +1 -0
  386. package/dist/shared/form/fields/text-field.js +44 -0
  387. package/dist/shared/form/index.d.ts +28 -0
  388. package/dist/shared/form/index.d.ts.map +1 -0
  389. package/dist/shared/form/index.js +17 -0
  390. package/dist/shared/form/ui/header/index.d.ts +9 -0
  391. package/dist/shared/form/ui/header/index.d.ts.map +1 -0
  392. package/dist/shared/form/ui/header/index.js +23 -0
  393. package/dist/shared/form/ui/header/index.scss +8 -0
  394. package/dist/shared/form/ui/index.d.ts +34 -0
  395. package/dist/shared/form/ui/index.d.ts.map +1 -0
  396. package/dist/shared/form/ui/index.js +70 -0
  397. package/dist/shared/form/ui/index.scss +27 -0
  398. package/dist/shared/form/validation.d.ts +65 -0
  399. package/dist/shared/form/validation.d.ts.map +1 -0
  400. package/dist/shared/form/validation.js +108 -0
  401. package/dist/shared/index.d.ts +3 -0
  402. package/dist/shared/index.d.ts.map +1 -0
  403. package/dist/shared/index.js +4 -0
  404. package/dist/shared/payload/fields/field-copy-button/index.css +47 -0
  405. package/dist/shared/payload/fields/field-copy-button/index.d.ts +4 -0
  406. package/dist/shared/payload/fields/field-copy-button/index.d.ts.map +1 -0
  407. package/dist/shared/payload/fields/field-copy-button/index.js +38 -0
  408. package/dist/shared/payload/fields/generate-uuid-button/index.css +14 -0
  409. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +4 -0
  410. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts.map +1 -0
  411. package/dist/shared/payload/fields/generate-uuid-button/index.js +26 -0
  412. package/dist/shared/payload/fields/index.d.ts +3 -0
  413. package/dist/shared/payload/fields/index.d.ts.map +1 -0
  414. package/dist/shared/payload/fields/index.js +4 -0
  415. package/dist/shared/utils/regex.d.ts +3 -0
  416. package/dist/shared/utils/regex.d.ts.map +1 -0
  417. package/dist/shared/utils/regex.js +4 -0
  418. package/dist/shared/utils/try-catch.d.ts +12 -0
  419. package/dist/shared/utils/try-catch.d.ts.map +1 -0
  420. package/dist/shared/utils/try-catch.js +17 -0
  421. package/dist/shared/utils/value-or-default.d.ts +10 -0
  422. package/dist/shared/utils/value-or-default.d.ts.map +1 -0
  423. package/dist/shared/utils/value-or-default.js +12 -0
  424. package/package.json +124 -0
@@ -0,0 +1,68 @@
1
+ import { status as httpStatus } from "http-status";
2
+ import { addDataAndFileToRequest } from "payload";
3
+ import { adminEndpoints, baseSlugs } from "../../../../constants";
4
+ import { generateAdminInviteUrl } from "../../../../payload/utils/generate-admin-invite-url";
5
+ export const getGenerateInviteUrlEndpoint = ({ roles, pluginOptions })=>{
6
+ const endpoint = {
7
+ path: adminEndpoints.generateInviteUrl,
8
+ method: "post",
9
+ handler: async (req)=>{
10
+ await addDataAndFileToRequest(req);
11
+ const body = req.data;
12
+ const generateAdminInviteUrlFn = pluginOptions?.adminInvitations?.generateInviteUrl ?? generateAdminInviteUrl;
13
+ if (!body) {
14
+ return Response.json({
15
+ message: "No body provided"
16
+ }, {
17
+ status: httpStatus.BAD_REQUEST
18
+ });
19
+ }
20
+ if (typeof body !== "object" || !("role" in body)) {
21
+ return Response.json({
22
+ message: "Invalid body"
23
+ }, {
24
+ status: httpStatus.BAD_REQUEST
25
+ });
26
+ }
27
+ if (!roles.some((role)=>role.value === body.role.value)) {
28
+ return Response.json({
29
+ message: "Invalid role"
30
+ }, {
31
+ status: httpStatus.BAD_REQUEST
32
+ });
33
+ }
34
+ const token = crypto.randomUUID();
35
+ const inviteLink = generateAdminInviteUrlFn({
36
+ payload: req.payload,
37
+ token
38
+ });
39
+ try {
40
+ await req.payload.create({
41
+ collection: pluginOptions.adminInvitations?.slug ?? baseSlugs.adminInvitations,
42
+ data: {
43
+ token,
44
+ role: body.role.value,
45
+ url: inviteLink
46
+ }
47
+ });
48
+ const response = new Response(JSON.stringify({
49
+ message: "Invite link generated successfully",
50
+ inviteLink
51
+ }), {
52
+ status: 200
53
+ });
54
+ return response;
55
+ } catch (error) {
56
+ console.error(error);
57
+ return Response.json({
58
+ message: "Error generating invite link"
59
+ }, {
60
+ status: httpStatus.INTERNAL_SERVER_ERROR
61
+ });
62
+ }
63
+ }
64
+ };
65
+ return endpoint;
66
+ };
67
+
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9nZW5lcmF0ZS1pbnZpdGUtdXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0YXR1cyBhcyBodHRwU3RhdHVzIH0gZnJvbSBcImh0dHAtc3RhdHVzXCI7XG5pbXBvcnQgeyBhZGREYXRhQW5kRmlsZVRvUmVxdWVzdCwgdHlwZSBFbmRwb2ludCB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgeyBhZG1pbkVuZHBvaW50cywgYmFzZVNsdWdzIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2VuZXJhdGVBZG1pbkludml0ZVVybCB9IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi9wYXlsb2FkL3V0aWxzL2dlbmVyYXRlLWFkbWluLWludml0ZS11cmxcIjtcbmltcG9ydCB7IFBheWxvYWRBdXRoT3B0aW9ucyB9IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlc1wiO1xuXG5pbnRlcmZhY2UgSW52aXRlRW5kcG9pbnRQcm9wcyB7XG4gIHJvbGVzOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICBwbHVnaW5PcHRpb25zOiBQYXlsb2FkQXV0aE9wdGlvbnM7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRHZW5lcmF0ZUludml0ZVVybEVuZHBvaW50ID0gKHtcbiAgcm9sZXMsXG4gIHBsdWdpbk9wdGlvbnNcbn06IEludml0ZUVuZHBvaW50UHJvcHMpOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IGVuZHBvaW50OiBFbmRwb2ludCA9IHtcbiAgICBwYXRoOiBhZG1pbkVuZHBvaW50cy5nZW5lcmF0ZUludml0ZVVybCxcbiAgICBtZXRob2Q6IFwicG9zdFwiLFxuICAgIGhhbmRsZXI6IGFzeW5jIChyZXEpID0+IHtcbiAgICAgIGF3YWl0IGFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0KHJlcSk7XG4gICAgICBjb25zdCBib2R5ID0gcmVxLmRhdGEgYXMgeyByb2xlOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSB9O1xuICAgICAgY29uc3QgZ2VuZXJhdGVBZG1pbkludml0ZVVybEZuID1cbiAgICAgICAgcGx1Z2luT3B0aW9ucz8uYWRtaW5JbnZpdGF0aW9ucz8uZ2VuZXJhdGVJbnZpdGVVcmwgPz9cbiAgICAgICAgZ2VuZXJhdGVBZG1pbkludml0ZVVybDtcblxuICAgICAgaWYgKCFib2R5KSB7XG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKFxuICAgICAgICAgIHsgbWVzc2FnZTogXCJObyBib2R5IHByb3ZpZGVkXCIgfSxcbiAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5CQURfUkVRVUVTVCB9XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgYm9keSAhPT0gXCJvYmplY3RcIiB8fCAhKFwicm9sZVwiIGluIGJvZHkpKSB7XG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKFxuICAgICAgICAgIHsgbWVzc2FnZTogXCJJbnZhbGlkIGJvZHlcIiB9LFxuICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLkJBRF9SRVFVRVNUIH1cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFyb2xlcy5zb21lKChyb2xlKSA9PiByb2xlLnZhbHVlID09PSBib2R5LnJvbGUudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKFxuICAgICAgICAgIHsgbWVzc2FnZTogXCJJbnZhbGlkIHJvbGVcIiB9LFxuICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLkJBRF9SRVFVRVNUIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRva2VuID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICAgIGNvbnN0IGludml0ZUxpbmsgPSBnZW5lcmF0ZUFkbWluSW52aXRlVXJsRm4oe1xuICAgICAgICBwYXlsb2FkOiByZXEucGF5bG9hZCxcbiAgICAgICAgdG9rZW5cbiAgICAgIH0pO1xuXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCByZXEucGF5bG9hZC5jcmVhdGUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246XG4gICAgICAgICAgICBwbHVnaW5PcHRpb25zLmFkbWluSW52aXRhdGlvbnM/LnNsdWcgPz8gYmFzZVNsdWdzLmFkbWluSW52aXRhdGlvbnMsXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICByb2xlOiBib2R5LnJvbGUudmFsdWUsXG4gICAgICAgICAgICB1cmw6IGludml0ZUxpbmtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IG5ldyBSZXNwb25zZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBtZXNzYWdlOiBcIkludml0ZSBsaW5rIGdlbmVyYXRlZCBzdWNjZXNzZnVsbHlcIixcbiAgICAgICAgICAgIGludml0ZUxpbmtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0dXM6IDIwMFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKFxuICAgICAgICAgIHsgbWVzc2FnZTogXCJFcnJvciBnZW5lcmF0aW5nIGludml0ZSBsaW5rXCIgfSxcbiAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5JTlRFUk5BTF9TRVJWRVJfRVJST1IgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gZW5kcG9pbnQ7XG59O1xuIl0sIm5hbWVzIjpbInN0YXR1cyIsImh0dHBTdGF0dXMiLCJhZGREYXRhQW5kRmlsZVRvUmVxdWVzdCIsImFkbWluRW5kcG9pbnRzIiwiYmFzZVNsdWdzIiwiZ2VuZXJhdGVBZG1pbkludml0ZVVybCIsImdldEdlbmVyYXRlSW52aXRlVXJsRW5kcG9pbnQiLCJyb2xlcyIsInBsdWdpbk9wdGlvbnMiLCJlbmRwb2ludCIsInBhdGgiLCJnZW5lcmF0ZUludml0ZVVybCIsIm1ldGhvZCIsImhhbmRsZXIiLCJyZXEiLCJib2R5IiwiZGF0YSIsImdlbmVyYXRlQWRtaW5JbnZpdGVVcmxGbiIsImFkbWluSW52aXRhdGlvbnMiLCJSZXNwb25zZSIsImpzb24iLCJtZXNzYWdlIiwiQkFEX1JFUVVFU1QiLCJzb21lIiwicm9sZSIsInZhbHVlIiwidG9rZW4iLCJjcnlwdG8iLCJyYW5kb21VVUlEIiwiaW52aXRlTGluayIsInBheWxvYWQiLCJjcmVhdGUiLCJjb2xsZWN0aW9uIiwic2x1ZyIsInVybCIsInJlc3BvbnNlIiwiSlNPTiIsInN0cmluZ2lmeSIsImVycm9yIiwiY29uc29sZSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVUMsVUFBVSxRQUFRLGNBQWM7QUFDbkQsU0FBU0MsdUJBQXVCLFFBQXVCLFVBQVU7QUFDakUsU0FBU0MsY0FBYyxFQUFFQyxTQUFTLFFBQVEsd0JBQWlDO0FBQzNFLFNBQVNDLHNCQUFzQixRQUFRLHNEQUErRDtBQVF0RyxPQUFPLE1BQU1DLCtCQUErQixDQUFDLEVBQzNDQyxLQUFLLEVBQ0xDLGFBQWEsRUFDTztJQUNwQixNQUFNQyxXQUFxQjtRQUN6QkMsTUFBTVAsZUFBZVEsaUJBQWlCO1FBQ3RDQyxRQUFRO1FBQ1JDLFNBQVMsT0FBT0M7WUFDZCxNQUFNWix3QkFBd0JZO1lBQzlCLE1BQU1DLE9BQU9ELElBQUlFLElBQUk7WUFDckIsTUFBTUMsMkJBQ0pULGVBQWVVLGtCQUFrQlAscUJBQ2pDTjtZQUVGLElBQUksQ0FBQ1UsTUFBTTtnQkFDVCxPQUFPSSxTQUFTQyxJQUFJLENBQ2xCO29CQUFFQyxTQUFTO2dCQUFtQixHQUM5QjtvQkFBRXJCLFFBQVFDLFdBQVdxQixXQUFXO2dCQUFDO1lBRXJDO1lBRUEsSUFBSSxPQUFPUCxTQUFTLFlBQVksQ0FBRSxDQUFBLFVBQVVBLElBQUcsR0FBSTtnQkFDakQsT0FBT0ksU0FBU0MsSUFBSSxDQUNsQjtvQkFBRUMsU0FBUztnQkFBZSxHQUMxQjtvQkFBRXJCLFFBQVFDLFdBQVdxQixXQUFXO2dCQUFDO1lBRXJDO1lBRUEsSUFBSSxDQUFDZixNQUFNZ0IsSUFBSSxDQUFDLENBQUNDLE9BQVNBLEtBQUtDLEtBQUssS0FBS1YsS0FBS1MsSUFBSSxDQUFDQyxLQUFLLEdBQUc7Z0JBQ3pELE9BQU9OLFNBQVNDLElBQUksQ0FDbEI7b0JBQUVDLFNBQVM7Z0JBQWUsR0FDMUI7b0JBQUVyQixRQUFRQyxXQUFXcUIsV0FBVztnQkFBQztZQUVyQztZQUNBLE1BQU1JLFFBQVFDLE9BQU9DLFVBQVU7WUFDL0IsTUFBTUMsYUFBYVoseUJBQXlCO2dCQUMxQ2EsU0FBU2hCLElBQUlnQixPQUFPO2dCQUNwQko7WUFDRjtZQUVBLElBQUk7Z0JBQ0YsTUFBTVosSUFBSWdCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDO29CQUN2QkMsWUFDRXhCLGNBQWNVLGdCQUFnQixFQUFFZSxRQUFRN0IsVUFBVWMsZ0JBQWdCO29CQUNwRUYsTUFBTTt3QkFDSlU7d0JBQ0FGLE1BQU1ULEtBQUtTLElBQUksQ0FBQ0MsS0FBSzt3QkFDckJTLEtBQUtMO29CQUNQO2dCQUNGO2dCQUNBLE1BQU1NLFdBQVcsSUFBSWhCLFNBQ25CaUIsS0FBS0MsU0FBUyxDQUFDO29CQUNiaEIsU0FBUztvQkFDVFE7Z0JBQ0YsSUFDQTtvQkFDRTdCLFFBQVE7Z0JBQ1Y7Z0JBRUYsT0FBT21DO1lBQ1QsRUFBRSxPQUFPRyxPQUFPO2dCQUNkQyxRQUFRRCxLQUFLLENBQUNBO2dCQUNkLE9BQU9uQixTQUFTQyxJQUFJLENBQ2xCO29CQUFFQyxTQUFTO2dCQUErQixHQUMxQztvQkFBRXJCLFFBQVFDLFdBQVd1QyxxQkFBcUI7Z0JBQUM7WUFFL0M7UUFDRjtJQUNGO0lBRUEsT0FBTy9CO0FBQ1QsRUFBRSJ9
@@ -0,0 +1,5 @@
1
+ export * from "./generate-invite-url";
2
+ export * from "./refresh-token";
3
+ export * from "./send-invite-url";
4
+ export * from "./set-admin-role";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/endpoints/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./generate-invite-url";
2
+ export * from "./refresh-token";
3
+ export * from "./send-invite-url";
4
+ export * from "./set-admin-role";
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9nZW5lcmF0ZS1pbnZpdGUtdXJsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWZyZXNoLXRva2VuXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZW5kLWludml0ZS11cmxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NldC1hZG1pbi1yb2xlXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0I7QUFDdEMsY0FBYyxrQkFBa0I7QUFDaEMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYyxtQkFBbUIifQ==
@@ -0,0 +1,3 @@
1
+ import { type Endpoint } from "payload";
2
+ export declare const getRefreshTokenEndpoint: (userSlug: string) => Endpoint;
3
+ //# sourceMappingURL=refresh-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-token.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,uBAAuB,GAAI,UAAU,MAAM,KAAG,QA+H1D,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { setCookieCache } from "better-auth/cookies";
2
+ import { getFieldsToSign, refreshOperation } from "payload";
3
+ import { adminEndpoints } from "../../../../constants";
4
+ import { getSignedCookie } from "../../../../helpers/get-signed-cookie";
5
+ import { getPayloadAuth } from "../../../get-payload-auth";
6
+ export const getRefreshTokenEndpoint = (userSlug)=>{
7
+ const endpoint = {
8
+ path: adminEndpoints.refreshToken,
9
+ method: "post",
10
+ handler: async (req)=>{
11
+ const payload = await getPayloadAuth(req.payload.config);
12
+ const authContext = await payload.betterAuth?.$context;
13
+ const userCollection = payload.collections[userSlug];
14
+ if (!userCollection) {
15
+ return new Response(JSON.stringify({
16
+ message: "User collection not found"
17
+ }), {
18
+ status: 500
19
+ });
20
+ }
21
+ if (!payload.betterAuth || !authContext) {
22
+ return new Response(JSON.stringify({
23
+ message: "BetterAuth not initialized"
24
+ }), {
25
+ status: 500
26
+ });
27
+ }
28
+ const sessionTokenName = authContext.authCookies.sessionToken.name;
29
+ const cookieHeader = req.headers.get("cookie") || "";
30
+ const hasSessionToken = cookieHeader.includes(`${sessionTokenName}=`);
31
+ const dontRememberTokenName = authContext.authCookies.dontRememberToken.name;
32
+ if (!hasSessionToken) {
33
+ try {
34
+ const result = await refreshOperation({
35
+ collection: userCollection,
36
+ req
37
+ });
38
+ return new Response(JSON.stringify(result), {
39
+ status: 200
40
+ });
41
+ } catch (error) {
42
+ console.error("Token refresh failed:", error);
43
+ return new Response(JSON.stringify({
44
+ message: "Token refresh failed"
45
+ }), {
46
+ status: 401
47
+ });
48
+ }
49
+ }
50
+ const res = await payload.betterAuth.api.getSession({
51
+ headers: req.headers,
52
+ query: {
53
+ disableCookieCache: true
54
+ }
55
+ });
56
+ if (!res) {
57
+ return new Response(JSON.stringify({
58
+ message: "No current session"
59
+ }), {
60
+ status: 401
61
+ });
62
+ }
63
+ const user = await payload.findByID({
64
+ collection: userSlug,
65
+ id: res.session.userId
66
+ });
67
+ if (!user) {
68
+ return new Response(JSON.stringify({
69
+ message: "No user found"
70
+ }), {
71
+ status: 401
72
+ });
73
+ }
74
+ const cookieCacheFields = getFieldsToSign({
75
+ collectionConfig: userCollection?.config,
76
+ email: user.email,
77
+ user: user
78
+ });
79
+ const responseData = {
80
+ refreshedToken: null,
81
+ setCookie: !!authContext.options.session?.cookieCache?.enabled,
82
+ strategy: "better-auth",
83
+ user: {
84
+ ...user,
85
+ collection: userSlug
86
+ }
87
+ };
88
+ const response = new Response(JSON.stringify(responseData), {
89
+ status: 200
90
+ });
91
+ const ctx = {
92
+ context: authContext,
93
+ setCookie (name, value, options) {
94
+ const path = options?.path || "/";
95
+ const maxAge = options?.maxAge ? `; Max-Age=${options.maxAge}` : "";
96
+ const httpOnly = options?.httpOnly ? "; HttpOnly" : "";
97
+ const secure = options?.secure ? "; Secure" : "";
98
+ const sameSite = options?.sameSite ? `; SameSite=${options.sameSite}` : "; SameSite=Lax";
99
+ response.headers.set("Set-Cookie", `${name}=${value}; Path=${path}${maxAge}${httpOnly}${secure}${sameSite}`);
100
+ return name;
101
+ }
102
+ };
103
+ const dontRememberMe = await getSignedCookie(cookieHeader, dontRememberTokenName, authContext.secret);
104
+ await setCookieCache(ctx, {
105
+ session: res.session,
106
+ user: cookieCacheFields
107
+ }, !!dontRememberMe);
108
+ return response;
109
+ }
110
+ };
111
+ return endpoint;
112
+ };
113
+
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9yZWZyZXNoLXRva2VuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR2VuZXJpY0VuZHBvaW50Q29udGV4dCB9IGZyb20gXCJiZXR0ZXItYXV0aFwiO1xuaW1wb3J0IHsgc2V0Q29va2llQ2FjaGUgfSBmcm9tIFwiYmV0dGVyLWF1dGgvY29va2llc1wiO1xuaW1wb3J0IHtcbiAgdHlwZSBFbmRwb2ludCxcbiAgZ2V0RmllbGRzVG9TaWduLFxuICByZWZyZXNoT3BlcmF0aW9uLFxuICBUeXBlZFVzZXJcbn0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IGFkbWluRW5kcG9pbnRzIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0U2lnbmVkQ29va2llIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL2hlbHBlcnMvZ2V0LXNpZ25lZC1jb29raWVcIjtcbmltcG9ydCB7IGdldFBheWxvYWRBdXRoIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL2xpYi9nZXQtcGF5bG9hZC1hdXRoXCI7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWZyZXNoVG9rZW5FbmRwb2ludCA9ICh1c2VyU2x1Zzogc3RyaW5nKTogRW5kcG9pbnQgPT4ge1xuICBjb25zdCBlbmRwb2ludDogRW5kcG9pbnQgPSB7XG4gICAgcGF0aDogYWRtaW5FbmRwb2ludHMucmVmcmVzaFRva2VuLFxuICAgIG1ldGhvZDogXCJwb3N0XCIsXG4gICAgaGFuZGxlcjogYXN5bmMgKHJlcSkgPT4ge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IGdldFBheWxvYWRBdXRoKHJlcS5wYXlsb2FkLmNvbmZpZyk7XG4gICAgICBjb25zdCBhdXRoQ29udGV4dCA9IGF3YWl0IHBheWxvYWQuYmV0dGVyQXV0aD8uJGNvbnRleHQ7XG4gICAgICBjb25zdCB1c2VyQ29sbGVjdGlvbiA9IHBheWxvYWQuY29sbGVjdGlvbnNbdXNlclNsdWddO1xuXG4gICAgICBpZiAoIXVzZXJDb2xsZWN0aW9uKSB7XG4gICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyBtZXNzYWdlOiBcIlVzZXIgY29sbGVjdGlvbiBub3QgZm91bmRcIiB9KSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0dXM6IDUwMFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFwYXlsb2FkLmJldHRlckF1dGggfHwgIWF1dGhDb250ZXh0KSB7XG4gICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyBtZXNzYWdlOiBcIkJldHRlckF1dGggbm90IGluaXRpYWxpemVkXCIgfSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdHVzOiA1MDBcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlc3Npb25Ub2tlbk5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5zZXNzaW9uVG9rZW4ubmFtZTtcbiAgICAgIGNvbnN0IGNvb2tpZUhlYWRlciA9IHJlcS5oZWFkZXJzLmdldChcImNvb2tpZVwiKSB8fCBcIlwiO1xuICAgICAgY29uc3QgaGFzU2Vzc2lvblRva2VuID0gY29va2llSGVhZGVyLmluY2x1ZGVzKGAke3Nlc3Npb25Ub2tlbk5hbWV9PWApO1xuICAgICAgY29uc3QgZG9udFJlbWVtYmVyVG9rZW5OYW1lID1cbiAgICAgICAgYXV0aENvbnRleHQuYXV0aENvb2tpZXMuZG9udFJlbWVtYmVyVG9rZW4ubmFtZTtcblxuICAgICAgaWYgKCFoYXNTZXNzaW9uVG9rZW4pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWZyZXNoT3BlcmF0aW9uKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IHVzZXJDb2xsZWN0aW9uLFxuICAgICAgICAgICAgcmVxXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeShyZXN1bHQpLCB7IHN0YXR1czogMjAwIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJUb2tlbiByZWZyZXNoIGZhaWxlZDpcIiwgZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7IG1lc3NhZ2U6IFwiVG9rZW4gcmVmcmVzaCBmYWlsZWRcIiB9KSxcbiAgICAgICAgICAgIHsgc3RhdHVzOiA0MDEgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgcGF5bG9hZC5iZXR0ZXJBdXRoLmFwaS5nZXRTZXNzaW9uKHtcbiAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMsXG4gICAgICAgIHF1ZXJ5OiB7IGRpc2FibGVDb29raWVDYWNoZTogdHJ1ZSB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKCFyZXMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh7IG1lc3NhZ2U6IFwiTm8gY3VycmVudCBzZXNzaW9uXCIgfSksIHtcbiAgICAgICAgICBzdGF0dXM6IDQwMVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgICBjb2xsZWN0aW9uOiB1c2VyU2x1ZyBhcyBzdHJpbmcsXG4gICAgICAgIGlkOiByZXMuc2Vzc2lvbi51c2VySWRcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh7IG1lc3NhZ2U6IFwiTm8gdXNlciBmb3VuZFwiIH0pLCB7XG4gICAgICAgICAgc3RhdHVzOiA0MDFcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvb2tpZUNhY2hlRmllbGRzID0gZ2V0RmllbGRzVG9TaWduKHtcbiAgICAgICAgY29sbGVjdGlvbkNvbmZpZzogdXNlckNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgICAgZW1haWw6IHVzZXIuZW1haWwsXG4gICAgICAgIHVzZXI6IHVzZXIgYXMgVHlwZWRVc2VyXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2VEYXRhID0ge1xuICAgICAgICByZWZyZXNoZWRUb2tlbjogbnVsbCxcbiAgICAgICAgc2V0Q29va2llOiAhIWF1dGhDb250ZXh0Lm9wdGlvbnMuc2Vzc2lvbj8uY29va2llQ2FjaGU/LmVuYWJsZWQsXG4gICAgICAgIHN0cmF0ZWd5OiBcImJldHRlci1hdXRoXCIsXG4gICAgICAgIHVzZXI6IHsgLi4udXNlciwgY29sbGVjdGlvbjogdXNlclNsdWcgfVxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VEYXRhKSwge1xuICAgICAgICBzdGF0dXM6IDIwMFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgY29udGV4dDogYXV0aENvbnRleHQsXG4gICAgICAgIHNldENvb2tpZShuYW1lLCB2YWx1ZSwgb3B0aW9ucykge1xuICAgICAgICAgIGNvbnN0IHBhdGggPSBvcHRpb25zPy5wYXRoIHx8IFwiL1wiO1xuICAgICAgICAgIGNvbnN0IG1heEFnZSA9IG9wdGlvbnM/Lm1heEFnZSA/IGA7IE1heC1BZ2U9JHtvcHRpb25zLm1heEFnZX1gIDogXCJcIjtcbiAgICAgICAgICBjb25zdCBodHRwT25seSA9IG9wdGlvbnM/Lmh0dHBPbmx5ID8gXCI7IEh0dHBPbmx5XCIgOiBcIlwiO1xuICAgICAgICAgIGNvbnN0IHNlY3VyZSA9IG9wdGlvbnM/LnNlY3VyZSA/IFwiOyBTZWN1cmVcIiA6IFwiXCI7XG4gICAgICAgICAgY29uc3Qgc2FtZVNpdGUgPSBvcHRpb25zPy5zYW1lU2l0ZVxuICAgICAgICAgICAgPyBgOyBTYW1lU2l0ZT0ke29wdGlvbnMuc2FtZVNpdGV9YFxuICAgICAgICAgICAgOiBcIjsgU2FtZVNpdGU9TGF4XCI7XG5cbiAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChcbiAgICAgICAgICAgIFwiU2V0LUNvb2tpZVwiLFxuICAgICAgICAgICAgYCR7bmFtZX09JHt2YWx1ZX07IFBhdGg9JHtwYXRofSR7bWF4QWdlfSR7aHR0cE9ubHl9JHtzZWN1cmV9JHtzYW1lU2l0ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gbmFtZTtcbiAgICAgICAgfVxuICAgICAgfSBhcyBHZW5lcmljRW5kcG9pbnRDb250ZXh0O1xuXG4gICAgICBjb25zdCBkb250UmVtZW1iZXJNZSA9IGF3YWl0IGdldFNpZ25lZENvb2tpZShcbiAgICAgICAgY29va2llSGVhZGVyLFxuICAgICAgICBkb250UmVtZW1iZXJUb2tlbk5hbWUsXG4gICAgICAgIGF1dGhDb250ZXh0LnNlY3JldFxuICAgICAgKTtcblxuICAgICAgYXdhaXQgc2V0Q29va2llQ2FjaGUoXG4gICAgICAgIGN0eCxcbiAgICAgICAge1xuICAgICAgICAgIHNlc3Npb246IHJlcy5zZXNzaW9uLFxuICAgICAgICAgIHVzZXI6IGNvb2tpZUNhY2hlRmllbGRzIGFzIGFueVxuICAgICAgICB9LFxuICAgICAgICAhIWRvbnRSZW1lbWJlck1lXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBlbmRwb2ludDtcbn07XG4iXSwibmFtZXMiOlsic2V0Q29va2llQ2FjaGUiLCJnZXRGaWVsZHNUb1NpZ24iLCJyZWZyZXNoT3BlcmF0aW9uIiwiYWRtaW5FbmRwb2ludHMiLCJnZXRTaWduZWRDb29raWUiLCJnZXRQYXlsb2FkQXV0aCIsImdldFJlZnJlc2hUb2tlbkVuZHBvaW50IiwidXNlclNsdWciLCJlbmRwb2ludCIsInBhdGgiLCJyZWZyZXNoVG9rZW4iLCJtZXRob2QiLCJoYW5kbGVyIiwicmVxIiwicGF5bG9hZCIsImNvbmZpZyIsImF1dGhDb250ZXh0IiwiYmV0dGVyQXV0aCIsIiRjb250ZXh0IiwidXNlckNvbGxlY3Rpb24iLCJjb2xsZWN0aW9ucyIsIlJlc3BvbnNlIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1lc3NhZ2UiLCJzdGF0dXMiLCJzZXNzaW9uVG9rZW5OYW1lIiwiYXV0aENvb2tpZXMiLCJzZXNzaW9uVG9rZW4iLCJuYW1lIiwiY29va2llSGVhZGVyIiwiaGVhZGVycyIsImdldCIsImhhc1Nlc3Npb25Ub2tlbiIsImluY2x1ZGVzIiwiZG9udFJlbWVtYmVyVG9rZW5OYW1lIiwiZG9udFJlbWVtYmVyVG9rZW4iLCJyZXN1bHQiLCJjb2xsZWN0aW9uIiwiZXJyb3IiLCJjb25zb2xlIiwicmVzIiwiYXBpIiwiZ2V0U2Vzc2lvbiIsInF1ZXJ5IiwiZGlzYWJsZUNvb2tpZUNhY2hlIiwidXNlciIsImZpbmRCeUlEIiwiaWQiLCJzZXNzaW9uIiwidXNlcklkIiwiY29va2llQ2FjaGVGaWVsZHMiLCJjb2xsZWN0aW9uQ29uZmlnIiwiZW1haWwiLCJyZXNwb25zZURhdGEiLCJyZWZyZXNoZWRUb2tlbiIsInNldENvb2tpZSIsIm9wdGlvbnMiLCJjb29raWVDYWNoZSIsImVuYWJsZWQiLCJzdHJhdGVneSIsInJlc3BvbnNlIiwiY3R4IiwiY29udGV4dCIsInZhbHVlIiwibWF4QWdlIiwiaHR0cE9ubHkiLCJzZWN1cmUiLCJzYW1lU2l0ZSIsInNldCIsImRvbnRSZW1lbWJlck1lIiwic2VjcmV0Il0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxjQUFjLFFBQVEsc0JBQXNCO0FBQ3JELFNBRUVDLGVBQWUsRUFDZkMsZ0JBQWdCLFFBRVgs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
@@ -0,0 +1,4 @@
1
+ import { Endpoint } from "payload";
2
+ import type { PayloadAuthOptions } from "@/better-auth/plugin/types";
3
+ export declare const getSendInviteUrlEndpoint: (pluginOptions: PayloadAuthOptions) => Endpoint;
4
+ //# 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":"AACA,OAAO,EAEL,QAAQ,EAGT,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAOrE,eAAO,MAAM,wBAAwB,GACnC,eAAe,kBAAkB,KAChC,QA4DF,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { status as httpStatus } from "http-status";
2
+ import { addDataAndFileToRequest, headersWithCors, killTransaction } from "payload";
3
+ import { z } from "zod";
4
+ import { adminEndpoints } from "../../../../constants";
5
+ const requestSchema = z.object({
6
+ email: z.email(),
7
+ link: z.string()
8
+ });
9
+ export const getSendInviteUrlEndpoint = (pluginOptions)=>{
10
+ const endpoint = {
11
+ path: adminEndpoints.sendInvite,
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 sendInviteEmailFn = pluginOptions.adminInvitations?.sendInviteEmail;
25
+ if (!sendInviteEmailFn) {
26
+ req.payload.logger.error("Send admin invite email function not configured, please add the function to the betterAuthPlugin options.");
27
+ return Response.json({
28
+ message: "Send invite email function not found"
29
+ }, {
30
+ status: httpStatus.INTERNAL_SERVER_ERROR
31
+ });
32
+ }
33
+ try {
34
+ const res = await sendInviteEmailFn({
35
+ payload: req.payload,
36
+ email: body.data.email,
37
+ url: body.data.link
38
+ });
39
+ if (!res.success) {
40
+ return Response.json({
41
+ message: res.message
42
+ }, {
43
+ status: httpStatus.INTERNAL_SERVER_ERROR
44
+ });
45
+ }
46
+ return Response.json({
47
+ message: t("general:success")
48
+ }, {
49
+ headers: headersWithCors({
50
+ headers: new Headers(),
51
+ req
52
+ }),
53
+ status: httpStatus.OK
54
+ });
55
+ } catch (error) {
56
+ await killTransaction(req);
57
+ throw error;
58
+ }
59
+ }
60
+ };
61
+ return endpoint;
62
+ };
63
+
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zZW5kLWludml0ZS11cmwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RhdHVzIGFzIGh0dHBTdGF0dXMgfSBmcm9tIFwiaHR0cC1zdGF0dXNcIjtcbmltcG9ydCB7XG4gIGFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0LFxuICBFbmRwb2ludCxcbiAgaGVhZGVyc1dpdGhDb3JzLFxuICBraWxsVHJhbnNhY3Rpb25cbn0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBhZG1pbkVuZHBvaW50cyB9IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHsgUGF5bG9hZEF1dGhPcHRpb25zIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzXCI7XG5cbmNvbnN0IHJlcXVlc3RTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGVtYWlsOiB6LmVtYWlsKCksXG4gIGxpbms6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VuZEludml0ZVVybEVuZHBvaW50ID0gKFxuICBwbHVnaW5PcHRpb25zOiBQYXlsb2FkQXV0aE9wdGlvbnNcbik6IEVuZHBvaW50ID0+IHtcbiAgY29uc3QgZW5kcG9pbnQ6IEVuZHBvaW50ID0ge1xuICAgIHBhdGg6IGFkbWluRW5kcG9pbnRzLnNlbmRJbnZpdGUsXG4gICAgbWV0aG9kOiBcInBvc3RcIixcbiAgICBoYW5kbGVyOiBhc3luYyAocmVxKSA9PiB7XG4gICAgICBhd2FpdCBhZGREYXRhQW5kRmlsZVRvUmVxdWVzdChyZXEpO1xuICAgICAgY29uc3QgeyB0IH0gPSByZXE7XG4gICAgICBjb25zdCBib2R5ID0gcmVxdWVzdFNjaGVtYS5zYWZlUGFyc2UocmVxLmRhdGEpO1xuICAgICAgaWYgKCFib2R5LnN1Y2Nlc3MpIHtcbiAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgeyBtZXNzYWdlOiBib2R5LmVycm9yLm1lc3NhZ2UgfSxcbiAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5CQURfUkVRVUVTVCB9XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbmRJbnZpdGVFbWFpbEZuID0gcGx1Z2luT3B0aW9ucy5hZG1pbkludml0YXRpb25zPy5zZW5kSW52aXRlRW1haWw7XG5cbiAgICAgIGlmICghc2VuZEludml0ZUVtYWlsRm4pIHtcbiAgICAgICAgcmVxLnBheWxvYWQubG9nZ2VyLmVycm9yKFxuICAgICAgICAgIFwiU2VuZCBhZG1pbiBpbnZpdGUgZW1haWwgZnVuY3Rpb24gbm90IGNvbmZpZ3VyZWQsIHBsZWFzZSBhZGQgdGhlIGZ1bmN0aW9uIHRvIHRoZSBiZXR0ZXJBdXRoUGx1Z2luIG9wdGlvbnMuXCJcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgeyBtZXNzYWdlOiBcIlNlbmQgaW52aXRlIGVtYWlsIGZ1bmN0aW9uIG5vdCBmb3VuZFwiIH0sXG4gICAgICAgICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuSU5URVJOQUxfU0VSVkVSX0VSUk9SIH1cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZEludml0ZUVtYWlsRm4oe1xuICAgICAgICAgIHBheWxvYWQ6IHJlcS5wYXlsb2FkLFxuICAgICAgICAgIGVtYWlsOiBib2R5LmRhdGEuZW1haWwsXG4gICAgICAgICAgdXJsOiBib2R5LmRhdGEubGlua1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5zdWNjZXNzKSB7XG4gICAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oXG4gICAgICAgICAgICB7IG1lc3NhZ2U6IHJlcy5tZXNzYWdlIH0sXG4gICAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5JTlRFUk5BTF9TRVJWRVJfRVJST1IgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiB0KFwiZ2VuZXJhbDpzdWNjZXNzXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzV2l0aENvcnMoe1xuICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSGVhZGVycygpLFxuICAgICAgICAgICAgICByZXFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3RhdHVzOiBodHRwU3RhdHVzLk9LXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSk7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGVuZHBvaW50O1xufTtcbiJdLCJuYW1lcyI6WyJzdGF0dXMiLCJodHRwU3RhdHVzIiwiYWRkRGF0YUFuZEZpbGVUb1JlcXVlc3QiLCJoZWFkZXJzV2l0aENvcnMiLCJraWxsVHJhbnNhY3Rpb24iLCJ6IiwiYWRtaW5FbmRwb2ludHMiLCJyZXF1ZXN0U2NoZW1hIiwib2JqZWN0IiwiZW1haWwiLCJsaW5rIiwic3RyaW5nIiwiZ2V0U2VuZEludml0ZVVybEVuZHBvaW50IiwicGx1Z2luT3B0aW9ucyIsImVuZHBvaW50IiwicGF0aCIsInNlbmRJbnZpdGUiLCJtZXRob2QiLCJoYW5kbGVyIiwicmVxIiwidCIsImJvZHkiLCJzYWZlUGFyc2UiLCJkYXRhIiwic3VjY2VzcyIsIlJlc3BvbnNlIiwianNvbiIsIm1lc3NhZ2UiLCJlcnJvciIsIkJBRF9SRVFVRVNUIiwic2VuZEludml0ZUVtYWlsRm4iLCJhZG1pbkludml0YXRpb25zIiwic2VuZEludml0ZUVtYWlsIiwicGF5bG9hZCIsImxvZ2dlciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsInJlcyIsInVybCIsImhlYWRlcnMiLCJIZWFkZXJzIiwiT0siXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVVDLFVBQVUsUUFBUSxjQUFjO0FBQ25ELFNBQ0VDLHVCQUF1QixFQUV2QkMsZUFBZSxFQUNmQyxlQUFlLFFBQ1YsVUFBVTtBQUNqQixTQUFTQyxDQUFDLFFBQVEsTUFBTTtBQUN4QixTQUFTQyxjQUFjLFFBQVEsd0JBQWlDO0FBR2hFLE1BQU1DLGdCQUFnQkYsRUFBRUcsTUFBTSxDQUFDO0lBQzdCQyxPQUFPSixFQUFFSSxLQUFLO0lBQ2RDLE1BQU1MLEVBQUVNLE1BQU07QUFDaEI7QUFFQSxPQUFPLE1BQU1DLDJCQUEyQixDQUN0Q0M7SUFFQSxNQUFNQyxXQUFxQjtRQUN6QkMsTUFBTVQsZUFBZVUsVUFBVTtRQUMvQkMsUUFBUTtRQUNSQyxTQUFTLE9BQU9DO1lBQ2QsTUFBTWpCLHdCQUF3QmlCO1lBQzlCLE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdEO1lBQ2QsTUFBTUUsT0FBT2QsY0FBY2UsU0FBUyxDQUFDSCxJQUFJSSxJQUFJO1lBQzdDLElBQUksQ0FBQ0YsS0FBS0csT0FBTyxFQUFFO2dCQUNqQixPQUFPQyxTQUFTQyxJQUFJLENBQ2xCO29CQUFFQyxTQUFTTixLQUFLTyxLQUFLLENBQUNELE9BQU87Z0JBQUMsR0FDOUI7b0JBQUUzQixRQUFRQyxXQUFXNEIsV0FBVztnQkFBQztZQUVyQztZQUVBLE1BQU1DLG9CQUFvQmpCLGNBQWNrQixnQkFBZ0IsRUFBRUM7WUFFMUQsSUFBSSxDQUFDRixtQkFBbUI7Z0JBQ3RCWCxJQUFJYyxPQUFPLENBQUNDLE1BQU0sQ0FBQ04sS0FBSyxDQUN0QjtnQkFFRixPQUFPSCxTQUFTQyxJQUFJLENBQ2xCO29CQUFFQyxTQUFTO2dCQUF1QyxHQUNsRDtvQkFBRTNCLFFBQVFDLFdBQVdrQyxxQkFBcUI7Z0JBQUM7WUFFL0M7WUFFQSxJQUFJO2dCQUNGLE1BQU1DLE1BQU0sTUFBTU4sa0JBQWtCO29CQUNsQ0csU0FBU2QsSUFBSWMsT0FBTztvQkFDcEJ4QixPQUFPWSxLQUFLRSxJQUFJLENBQUNkLEtBQUs7b0JBQ3RCNEIsS0FBS2hCLEtBQUtFLElBQUksQ0FBQ2IsSUFBSTtnQkFDckI7Z0JBRUEsSUFBSSxDQUFDMEIsSUFBSVosT0FBTyxFQUFFO29CQUNoQixPQUFPQyxTQUFTQyxJQUFJLENBQ2xCO3dCQUFFQyxTQUFTUyxJQUFJVCxPQUFPO29CQUFDLEdBQ3ZCO3dCQUFFM0IsUUFBUUMsV0FBV2tDLHFCQUFxQjtvQkFBQztnQkFFL0M7Z0JBRUEsT0FBT1YsU0FBU0MsSUFBSSxDQUNsQjtvQkFDRUMsU0FBU1AsRUFBRTtnQkFDYixHQUNBO29CQUNFa0IsU0FBU25DLGdCQUFnQjt3QkFDdkJtQyxTQUFTLElBQUlDO3dCQUNicEI7b0JBQ0Y7b0JBQ0FuQixRQUFRQyxXQUFXdUMsRUFBRTtnQkFDdkI7WUFFSixFQUFFLE9BQU9aLE9BQU87Z0JBQ2QsTUFBTXhCLGdCQUFnQmU7Z0JBQ3RCLE1BQU1TO1lBQ1I7UUFDRjtJQUNGO0lBQ0EsT0FBT2Q7QUFDVCxFQUFFIn0=
@@ -0,0 +1,4 @@
1
+ import { type Endpoint } from "payload";
2
+ import { PayloadAuthOptions } from "../../../../types";
3
+ export declare const getSetAdminRoleEndpoint: (pluginOptions: PayloadAuthOptions, 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":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,eAAO,MAAM,uBAAuB,GAClC,eAAe,kBAAkB,EACjC,UAAU,MAAM,KACf,QA0EF,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { status as httpStatus } from "http-status";
2
+ import { z } from "zod";
3
+ import { adminEndpoints, baseSlugs } from "../../../../constants";
4
+ import { getPayloadAuth } from "../../../get-payload-auth";
5
+ const setAdminRoleSchema = z.object({
6
+ token: z.string().optional(),
7
+ redirect: z.string().optional()
8
+ });
9
+ export const getSetAdminRoleEndpoint = (pluginOptions, userSlug)=>{
10
+ const endpoint = {
11
+ path: adminEndpoints.setAdminRole,
12
+ method: "get",
13
+ handler: async (req)=>{
14
+ const { config } = req.payload;
15
+ const schema = setAdminRoleSchema.safeParse(req.query);
16
+ if (!schema.success) {
17
+ return Response.json({
18
+ message: schema.error.message
19
+ }, {
20
+ status: httpStatus.BAD_REQUEST
21
+ });
22
+ }
23
+ const payloadAuth = await getPayloadAuth(config);
24
+ const session = await payloadAuth.betterAuth.api.getSession({
25
+ headers: req.headers
26
+ });
27
+ if (!session) {
28
+ return Response.json({
29
+ message: "No session found"
30
+ }, {
31
+ status: httpStatus.UNAUTHORIZED
32
+ });
33
+ }
34
+ const { token, redirect } = schema.data;
35
+ const invite = await req.payload.find({
36
+ collection: pluginOptions.adminInvitations?.slug ?? baseSlugs.adminInvitations,
37
+ where: {
38
+ token: {
39
+ equals: token
40
+ }
41
+ },
42
+ limit: 1
43
+ });
44
+ if (invite.docs.length === 0) {
45
+ return Response.json({
46
+ message: "Invalid token"
47
+ }, {
48
+ status: httpStatus.UNAUTHORIZED
49
+ });
50
+ }
51
+ const role = invite.docs[0].role;
52
+ try {
53
+ const updatedUser = await req.payload.update({
54
+ collection: userSlug,
55
+ id: session.user.id,
56
+ data: {
57
+ role: [
58
+ role
59
+ ]
60
+ },
61
+ overrideAccess: true
62
+ });
63
+ await req.payload.delete({
64
+ collection: pluginOptions.adminInvitations?.slug ?? baseSlugs.adminInvitations,
65
+ where: {
66
+ token: {
67
+ equals: token
68
+ }
69
+ }
70
+ });
71
+ const response = new Response(null, {
72
+ status: 307,
73
+ headers: {
74
+ Location: redirect ?? config.routes.admin
75
+ }
76
+ });
77
+ return response;
78
+ } catch (error) {
79
+ return Response.json({
80
+ message: "Error updating user role"
81
+ }, {
82
+ status: httpStatus.INTERNAL_SERVER_ERROR
83
+ });
84
+ }
85
+ }
86
+ };
87
+ return endpoint;
88
+ };
89
+
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zZXQtYWRtaW4tcm9sZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdGF0dXMgYXMgaHR0cFN0YXR1cyB9IGZyb20gXCJodHRwLXN0YXR1c1wiO1xuaW1wb3J0IHsgdHlwZSBFbmRwb2ludCB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgYWRtaW5FbmRwb2ludHMsIGJhc2VTbHVncyB9IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFBheWxvYWRBdXRoT3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tIFwiLi4vLi4vLi4vZ2V0LXBheWxvYWQtYXV0aFwiO1xuXG5jb25zdCBzZXRBZG1pblJvbGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRva2VuOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlZGlyZWN0OiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0U2V0QWRtaW5Sb2xlRW5kcG9pbnQgPSAoXG4gIHBsdWdpbk9wdGlvbnM6IFBheWxvYWRBdXRoT3B0aW9ucyxcbiAgdXNlclNsdWc6IHN0cmluZ1xuKTogRW5kcG9pbnQgPT4ge1xuICBjb25zdCBlbmRwb2ludDogRW5kcG9pbnQgPSB7XG4gICAgcGF0aDogYWRtaW5FbmRwb2ludHMuc2V0QWRtaW5Sb2xlLFxuICAgIG1ldGhvZDogXCJnZXRcIixcbiAgICBoYW5kbGVyOiBhc3luYyAocmVxKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbmZpZyB9ID0gcmVxLnBheWxvYWQ7XG4gICAgICBjb25zdCBzY2hlbWEgPSBzZXRBZG1pblJvbGVTY2hlbWEuc2FmZVBhcnNlKHJlcS5xdWVyeSk7XG4gICAgICBpZiAoIXNjaGVtYS5zdWNjZXNzKSB7XG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKFxuICAgICAgICAgIHsgbWVzc2FnZTogc2NoZW1hLmVycm9yLm1lc3NhZ2UgfSxcbiAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5CQURfUkVRVUVTVCB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCBwYXlsb2FkQXV0aCA9IGF3YWl0IGdldFBheWxvYWRBdXRoKGNvbmZpZyk7XG4gICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgcGF5bG9hZEF1dGguYmV0dGVyQXV0aC5hcGkuZ2V0U2Vzc2lvbih7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzXG4gICAgICB9KTtcbiAgICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbihcbiAgICAgICAgICB7IG1lc3NhZ2U6IFwiTm8gc2Vzc2lvbiBmb3VuZFwiIH0sXG4gICAgICAgICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuVU5BVVRIT1JJWkVEIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgdG9rZW4sIHJlZGlyZWN0IH0gPSBzY2hlbWEuZGF0YTtcbiAgICAgIGNvbnN0IGludml0ZSA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmQoe1xuICAgICAgICBjb2xsZWN0aW9uOlxuICAgICAgICAgIHBsdWdpbk9wdGlvbnMuYWRtaW5JbnZpdGF0aW9ucz8uc2x1ZyA/PyBiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9ucyxcbiAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICB0b2tlbjogeyBlcXVhbHM6IHRva2VuIH1cbiAgICAgICAgfSxcbiAgICAgICAgbGltaXQ6IDFcbiAgICAgIH0pO1xuICAgICAgaWYgKGludml0ZS5kb2NzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbihcbiAgICAgICAgICB7IG1lc3NhZ2U6IFwiSW52YWxpZCB0b2tlblwiIH0sXG4gICAgICAgICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuVU5BVVRIT1JJWkVEIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvbGUgPSBpbnZpdGUuZG9jc1swXS5yb2xlIGFzIHN0cmluZztcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRVc2VyID0gYXdhaXQgcmVxLnBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiB1c2VyU2x1ZyxcbiAgICAgICAgICBpZDogc2Vzc2lvbi51c2VyLmlkLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHJvbGU6IFtyb2xlXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHJlcS5wYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgY29sbGVjdGlvbjpcbiAgICAgICAgICAgIHBsdWdpbk9wdGlvbnMuYWRtaW5JbnZpdGF0aW9ucz8uc2x1ZyA/PyBiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9ucyxcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgdG9rZW46IHtcbiAgICAgICAgICAgICAgZXF1YWxzOiB0b2tlblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKG51bGwsIHtcbiAgICAgICAgICBzdGF0dXM6IDMwNyxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBMb2NhdGlvbjogcmVkaXJlY3QgPz8gY29uZmlnLnJvdXRlcy5hZG1pblxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKFxuICAgICAgICAgIHsgbWVzc2FnZTogXCJFcnJvciB1cGRhdGluZyB1c2VyIHJvbGVcIiB9LFxuICAgICAgICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLklOVEVSTkFMX1NFUlZFUl9FUlJPUiB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBlbmRwb2ludDtcbn07XG4iXSwibmFtZXMiOlsic3RhdHVzIiwiaHR0cFN0YXR1cyIsInoiLCJhZG1pbkVuZHBvaW50cyIsImJhc2VTbHVncyIsImdldFBheWxvYWRBdXRoIiwic2V0QWRtaW5Sb2xlU2NoZW1hIiwib2JqZWN0IiwidG9rZW4iLCJzdHJpbmciLCJvcHRpb25hbCIsInJlZGlyZWN0IiwiZ2V0U2V0QWRtaW5Sb2xlRW5kcG9pbnQiLCJwbHVnaW5PcHRpb25zIiwidXNlclNsdWciLCJlbmRwb2ludCIsInBhdGgiLCJzZXRBZG1pblJvbGUiLCJtZXRob2QiLCJoYW5kbGVyIiwicmVxIiwiY29uZmlnIiwicGF5bG9hZCIsInNjaGVtYSIsInNhZmVQYXJzZSIsInF1ZXJ5Iiwic3VjY2VzcyIsIlJlc3BvbnNlIiwianNvbiIsIm1lc3NhZ2UiLCJlcnJvciIsIkJBRF9SRVFVRVNUIiwicGF5bG9hZEF1dGgiLCJzZXNzaW9uIiwiYmV0dGVyQXV0aCIsImFwaSIsImdldFNlc3Npb24iLCJoZWFkZXJzIiwiVU5BVVRIT1JJWkVEIiwiZGF0YSIsImludml0ZSIsImZpbmQiLCJjb2xsZWN0aW9uIiwiYWRtaW5JbnZpdGF0aW9ucyIsInNsdWciLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0IiwiZG9jcyIsImxlbmd0aCIsInJvbGUiLCJ1cGRhdGVkVXNlciIsInVwZGF0ZSIsImlkIiwidXNlciIsIm92ZXJyaWRlQWNjZXNzIiwiZGVsZXRlIiwicmVzcG9uc2UiLCJMb2NhdGlvbiIsInJvdXRlcyIsImFkbWluIiwiSU5URVJOQUxfU0VSVkVSX0VSUk9SIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVQyxV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
@@ -0,0 +1,7 @@
1
+ import { CollectionAfterLoginHook } from "payload";
2
+ /**
3
+ * This hook is used to sync the admin login token with better-auth session token
4
+ * It also creates a new session in better-auth
5
+ */
6
+ export declare function getAfterLoginHook(): CollectionAfterLoginHook;
7
+ //# sourceMappingURL=after-login.d.ts.map
@@ -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;AAMnD;;;GAGG;AACH,wBAAgB,iBAAiB,IA+EhB,wBAAwB,CACxC"}
@@ -0,0 +1,80 @@
1
+ import { generateId } from "better-auth";
2
+ import { createAuthMiddleware } from "better-auth/api";
3
+ import { setSessionCookie } from "better-auth/cookies";
4
+ import { parseSetCookie } from "next/dist/compiled/@edge-runtime/cookies";
5
+ import { cookies } from "next/headers";
6
+ import { baModelKey } from "../../../../constants";
7
+ import { getCollectionByModelKey } from "../../../../helpers/get-collection";
8
+ import { getIp } from "../../../../helpers/get-ip";
9
+ import { prepareSessionData } from "../../../../helpers/prepare-session-data";
10
+ import { getPayloadAuth } from "../../../get-payload-auth";
11
+ /**
12
+ * This hook is used to sync the admin login token with better-auth session token
13
+ * It also creates a new session in better-auth
14
+ */ export function getAfterLoginHook() {
15
+ const hook = async ({ req, user })=>{
16
+ const config = req.payload.config;
17
+ const payload = await getPayloadAuth(config);
18
+ const collections = req.payload.collections;
19
+ const userCollection = getCollectionByModelKey(collections, baModelKey.user);
20
+ const sessionCollection = getCollectionByModelKey(collections, baModelKey.session);
21
+ const cookieStore = await cookies();
22
+ const authContext = await payload.betterAuth.$context;
23
+ const sessionExpiration = payload.betterAuth.options.session?.expiresIn || 60 * 60 * 24 * 7; // 7 days
24
+ // we can't use internal adapter as we can cause a race condition unless we pass req to the payload.create
25
+ const session = await payload.create({
26
+ collection: sessionCollection.slug,
27
+ data: {
28
+ ipAddress: getIp(req.headers, payload.betterAuth.options) || "",
29
+ userAgent: req.headers?.get("user-agent") || "",
30
+ user: user.id,
31
+ token: generateId(32),
32
+ expiresAt: new Date(Date.now() + sessionExpiration * 1000)
33
+ },
34
+ req,
35
+ depth: 0
36
+ });
37
+ const betterAuthHandleRequest = createAuthMiddleware(async (ctx)=>{
38
+ ctx.context = {
39
+ ...authContext,
40
+ user: user
41
+ };
42
+ await ctx.setSignedCookie(ctx.context.authCookies.sessionToken.name, session.token, ctx.context.secret, ctx.context.authCookies.sessionToken.options);
43
+ const filteredSessionData = await prepareSessionData({
44
+ sessionData: {
45
+ session,
46
+ user
47
+ },
48
+ usersCollection: userCollection,
49
+ sessionsCollection: sessionCollection
50
+ });
51
+ if (filteredSessionData) {
52
+ await setSessionCookie(ctx, filteredSessionData);
53
+ }
54
+ if ("responseHeaders" in ctx) {
55
+ return ctx.responseHeaders;
56
+ }
57
+ return null;
58
+ });
59
+ // Create a modified request object that matches the expected MiddlewareInputContext type
60
+ const modifiedReq = {
61
+ ...req,
62
+ body: undefined // Explicitly set body to undefined to satisfy type constraint
63
+ };
64
+ const responseHeaders = await betterAuthHandleRequest(modifiedReq);
65
+ const responseCookies = responseHeaders?.getSetCookie().map((cookie)=>parseSetCookie(cookie)).filter(Boolean);
66
+ if (responseCookies) {
67
+ for (const cookieData of responseCookies){
68
+ const { name, value, ...options } = cookieData;
69
+ cookieStore.set({
70
+ ...options,
71
+ name,
72
+ value: decodeURIComponent(value)
73
+ });
74
+ }
75
+ }
76
+ };
77
+ return hook;
78
+ }
79
+
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2hvb2tzL2FmdGVyLWxvZ2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlSWQsIFNlc3Npb24gfSBmcm9tIFwiYmV0dGVyLWF1dGhcIjtcbmltcG9ydCB7IGNyZWF0ZUF1dGhNaWRkbGV3YXJlIH0gZnJvbSBcImJldHRlci1hdXRoL2FwaVwiO1xuaW1wb3J0IHsgc2V0U2Vzc2lvbkNvb2tpZSB9IGZyb20gXCJiZXR0ZXItYXV0aC9jb29raWVzXCI7XG5pbXBvcnQge1xuICBwYXJzZVNldENvb2tpZSxcbiAgdHlwZSBSZXNwb25zZUNvb2tpZVxufSBmcm9tIFwibmV4dC9kaXN0L2NvbXBpbGVkL0BlZGdlLXJ1bnRpbWUvY29va2llc1wiO1xuaW1wb3J0IHsgY29va2llcyB9IGZyb20gXCJuZXh0L2hlYWRlcnNcIjtcbmltcG9ydCB7IENvbGxlY3Rpb25BZnRlckxvZ2luSG9vayB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgeyBiYU1vZGVsS2V5IH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0Q29sbGVjdGlvbkJ5TW9kZWxLZXkgfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9nZXQtY29sbGVjdGlvblwiO1xuaW1wb3J0IHsgZ2V0SXAgfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9nZXQtaXBcIjtcbmltcG9ydCB7IHByZXBhcmVTZXNzaW9uRGF0YSB9IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi9oZWxwZXJzL3ByZXBhcmUtc2Vzc2lvbi1kYXRhXCI7XG5pbXBvcnQgeyBnZXRQYXlsb2FkQXV0aCB9IGZyb20gXCJAL2JldHRlci1hdXRoL3BsdWdpbi9saWIvZ2V0LXBheWxvYWQtYXV0aFwiO1xuLyoqXG4gKiBUaGlzIGhvb2sgaXMgdXNlZCB0byBzeW5jIHRoZSBhZG1pbiBsb2dpbiB0b2tlbiB3aXRoIGJldHRlci1hdXRoIHNlc3Npb24gdG9rZW5cbiAqIEl0IGFsc28gY3JlYXRlcyBhIG5ldyBzZXNzaW9uIGluIGJldHRlci1hdXRoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZnRlckxvZ2luSG9vaygpIHtcbiAgY29uc3QgaG9vazogQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rID0gYXN5bmMgKHsgcmVxLCB1c2VyIH0pID0+IHtcbiAgICBjb25zdCBjb25maWcgPSByZXEucGF5bG9hZC5jb25maWc7XG4gICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IGdldFBheWxvYWRBdXRoKGNvbmZpZyk7XG4gICAgY29uc3QgY29sbGVjdGlvbnMgPSByZXEucGF5bG9hZC5jb2xsZWN0aW9ucztcbiAgICBjb25zdCB1c2VyQ29sbGVjdGlvbiA9IGdldENvbGxlY3Rpb25CeU1vZGVsS2V5KFxuICAgICAgY29sbGVjdGlvbnMsXG4gICAgICBiYU1vZGVsS2V5LnVzZXJcbiAgICApO1xuICAgIGNvbnN0IHNlc3Npb25Db2xsZWN0aW9uID0gZ2V0Q29sbGVjdGlvbkJ5TW9kZWxLZXkoXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGJhTW9kZWxLZXkuc2Vzc2lvblxuICAgICk7XG4gICAgY29uc3QgY29va2llU3RvcmUgPSBhd2FpdCBjb29raWVzKCk7XG4gICAgY29uc3QgYXV0aENvbnRleHQgPSBhd2FpdCBwYXlsb2FkLmJldHRlckF1dGguJGNvbnRleHQ7XG4gICAgY29uc3Qgc2Vzc2lvbkV4cGlyYXRpb24gPVxuICAgICAgcGF5bG9hZC5iZXR0ZXJBdXRoLm9wdGlvbnMuc2Vzc2lvbj8uZXhwaXJlc0luIHx8IDYwICogNjAgKiAyNCAqIDc7IC8vIDcgZGF5c1xuICAgIC8vIHdlIGNhbid0IHVzZSBpbnRlcm5hbCBhZGFwdGVyIGFzIHdlIGNhbiBjYXVzZSBhIHJhY2UgY29uZGl0aW9uIHVubGVzcyB3ZSBwYXNzIHJlcSB0byB0aGUgcGF5bG9hZC5jcmVhdGVcbiAgICBjb25zdCBzZXNzaW9uID0gKGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246IHNlc3Npb25Db2xsZWN0aW9uLnNsdWcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGlwQWRkcmVzczogZ2V0SXAocmVxLmhlYWRlcnMsIHBheWxvYWQuYmV0dGVyQXV0aC5vcHRpb25zKSB8fCBcIlwiLFxuICAgICAgICB1c2VyQWdlbnQ6IHJlcS5oZWFkZXJzPy5nZXQoXCJ1c2VyLWFnZW50XCIpIHx8IFwiXCIsXG4gICAgICAgIHVzZXI6IHVzZXIuaWQsXG4gICAgICAgIHRva2VuOiBnZW5lcmF0ZUlkKDMyKSxcbiAgICAgICAgZXhwaXJlc0F0OiBuZXcgRGF0ZShEYXRlLm5vdygpICsgc2Vzc2lvbkV4cGlyYXRpb24gKiAxMDAwKVxuICAgICAgfSxcbiAgICAgIHJlcSxcbiAgICAgIGRlcHRoOiAwXG4gICAgfSkpIGFzIFNlc3Npb247XG5cbiAgICBjb25zdCBiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdCA9IGNyZWF0ZUF1dGhNaWRkbGV3YXJlKFxuICAgICAgYXN5bmMgKGN0eCk6IFByb21pc2U8SGVhZGVycyB8IG51bGw+ID0+IHtcbiAgICAgICAgY3R4LmNvbnRleHQgPSB7IC4uLmF1dGhDb250ZXh0LCB1c2VyOiB1c2VyIH07XG4gICAgICAgIGF3YWl0IGN0eC5zZXRTaWduZWRDb29raWUoXG4gICAgICAgICAgY3R4LmNvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvblRva2VuLm5hbWUsXG4gICAgICAgICAgc2Vzc2lvbi50b2tlbixcbiAgICAgICAgICBjdHguY29udGV4dC5zZWNyZXQsXG4gICAgICAgICAgY3R4LmNvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvblRva2VuLm9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRTZXNzaW9uRGF0YSA9IGF3YWl0IHByZXBhcmVTZXNzaW9uRGF0YSh7XG4gICAgICAgICAgc2Vzc2lvbkRhdGE6IHsgc2Vzc2lvbiwgdXNlciB9LFxuICAgICAgICAgIHVzZXJzQ29sbGVjdGlvbjogdXNlckNvbGxlY3Rpb24sXG4gICAgICAgICAgc2Vzc2lvbnNDb2xsZWN0aW9uOiBzZXNzaW9uQ29sbGVjdGlvblxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGZpbHRlcmVkU2Vzc2lvbkRhdGEpIHtcbiAgICAgICAgICBhd2FpdCBzZXRTZXNzaW9uQ29va2llKGN0eCwgZmlsdGVyZWRTZXNzaW9uRGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFwicmVzcG9uc2VIZWFkZXJzXCIgaW4gY3R4KSB7XG4gICAgICAgICAgcmV0dXJuIGN0eC5yZXNwb25zZUhlYWRlcnMgYXMgSGVhZGVycztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIGEgbW9kaWZpZWQgcmVxdWVzdCBvYmplY3QgdGhhdCBtYXRjaGVzIHRoZSBleHBlY3RlZCBNaWRkbGV3YXJlSW5wdXRDb250ZXh0IHR5cGVcbiAgICBjb25zdCBtb2RpZmllZFJlcSA9IHtcbiAgICAgIC4uLnJlcSxcbiAgICAgIGJvZHk6IHVuZGVmaW5lZCAvLyBFeHBsaWNpdGx5IHNldCBib2R5IHRvIHVuZGVmaW5lZCB0byBzYXRpc2Z5IHR5cGUgY29uc3RyYWludFxuICAgIH07XG5cbiAgICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBhd2FpdCBiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdChtb2RpZmllZFJlcSk7XG4gICAgY29uc3QgcmVzcG9uc2VDb29raWVzID0gcmVzcG9uc2VIZWFkZXJzXG4gICAgICA/LmdldFNldENvb2tpZSgpXG4gICAgICAubWFwKChjb29raWUpID0+IHBhcnNlU2V0Q29va2llKGNvb2tpZSkpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pIGFzIFJlc3BvbnNlQ29va2llW107XG5cbiAgICBpZiAocmVzcG9uc2VDb29raWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvb2tpZURhdGEgb2YgcmVzcG9uc2VDb29raWVzKSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUsIC4uLm9wdGlvbnMgfSA9IGNvb2tpZURhdGE7XG4gICAgICAgIGNvb2tpZVN0b3JlLnNldCh7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHZhbHVlOiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gaG9vayBhcyBDb2xsZWN0aW9uQWZ0ZXJMb2dpbkhvb2s7XG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVJZCIsImNyZWF0ZUF1dGhNaWRkbGV3YXJlIiwic2V0U2Vzc2lvbkNvb2tpZSIsInBhcnNlU2V0Q29va2llIiwiY29va2llcyIsImJhTW9kZWxLZXkiLCJnZXRDb2xsZWN0aW9uQnlNb2RlbEtleSIsImdldElwIiwicHJlcGFyZVNlc3Npb25EYXRhIiwiZ2V0UGF5bG9hZEF1dGgiLCJnZXRBZnRlckxvZ2luSG9vayIsImhvb2siLCJyZXEiLCJ1c2VyIiwiY29uZmlnIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwidXNlckNvbGxlY3Rpb24iLCJzZXNzaW9uQ29sbGVjdGlvbiIsInNlc3Npb24iLCJjb29raWVTdG9yZSIsImF1dGhDb250ZXh0IiwiYmV0dGVyQXV0aCIsIiRjb250ZXh0Iiwic2Vzc2lvbkV4cGlyYXRpb24iLCJvcHRpb25zIiwiZXhwaXJlc0luIiwiY3JlYXRlIiwiY29sbGVjdGlvbiIsInNsdWciLCJkYXRhIiwiaXBBZGRyZXNzIiwiaGVhZGVycyIsInVzZXJBZ2VudCIsImdldCIsImlkIiwidG9rZW4iLCJleHBpcmVzQXQiLCJEYXRlIiwibm93IiwiZGVwdGgiLCJiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdCIsImN0eCIsImNvbnRleHQiLCJzZXRTaWduZWRDb29raWUiLCJhdXRoQ29va2llcyIsInNlc3Npb25Ub2tlbiIsIm5hbWUiLCJzZWNyZXQiLCJmaWx0ZXJlZFNlc3Npb25EYXRhIiwic2Vzc2lvbkRhdGEiLCJ1c2Vyc0NvbGxlY3Rpb24iLCJzZXNzaW9uc0NvbGxlY3Rpb24iLCJyZXNwb25zZUhlYWRlcnMiLCJtb2RpZmllZFJlcSIsImJvZHkiLCJ1bmRlZmluZWQiLCJyZXNwb25zZUNvb2tpZXMiLCJnZXRTZXRDb29raWUiLCJtYXAiLCJjb29raWUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiY29va2llRGF0YSIsInZhbHVlIiwic2V0IiwiZGVjb2RlVVJJQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQWlCLGNBQWM7QUFDbEQsU0FBU0Msb0JBQW9CLFFBQVEsa0JBQWtCO0FBQ3ZELFNBQVNDLGdCQUFnQixRQUFRLHNCQUFzQjtBQUN2RCxTQUNFQyxjQUFjLFFBRVQsMkNBQTJDO0FBQ2xELFNBQVNDLE9BQU8sUUFBUSxlQUFlO0FBRXZDLFNBQVNDLFVBQVUsUUFBUSx3QkFBaUM7QUFDNUQsU0FBU0MsdUJBQXVCLFFBQVEscUNBQThDO0FBQ3RGLFNBQVNDLEtBQUssUUFBUSw2QkFBc0M7QUFDNUQsU0FBU0Msa0JBQWtCLFFBQVEsMkNBQW9EO0FBQ3ZGLFNBQVNDLGNBQWMsUUFBUSw0QkFBNEM7QUFDM0U7OztDQUdDLEdBQ0QsT0FBTyxTQUFTQztJQUNkLE1BQU1DLE9BQWlDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUU7UUFDekQsTUFBTUMsU0FBU0YsSUFBSUcsT0FBTyxDQUFDRCxNQUFNO1FBQ2pDLE1BQU1DLFVBQVUsTUFBTU4sZUFBZUs7UUFDckMsTUFBTUUsY0FBY0osSUFBSUcsT0FBTyxDQUFDQyxXQUFXO1FBQzNDLE1BQU1DLGlCQUFpQlgsd0JBQ3JCVSxhQUNBWCxXQUFXUSxJQUFJO1FBRWpCLE1BQU1LLG9CQUFvQlosd0JBQ3hCVSxhQUNBWCxXQUFXYyxPQUFPO1FBRXBCLE1BQU1DLGNBQWMsTUFBTWhCO1FBQzFCLE1BQU1pQixjQUFjLE1BQU1OLFFBQVFPLFVBQVUsQ0FBQ0MsUUFBUTtRQUNyRCxNQUFNQyxvQkFDSlQsUUFBUU8sVUFBVSxDQUFDRyxPQUFPLENBQUNOLE9BQU8sRUFBRU8sYUFBYSxLQUFLLEtBQUssS0FBSyxHQUFHLFNBQVM7UUFDOUUsMEdBQTBHO1FBQzFHLE1BQU1QLFVBQVcsTUFBTUosUUFBUVksTUFBTSxDQUFDO1lBQ3BDQyxZQUFZVixrQkFBa0JXLElBQUk7WUFDbENDLE1BQU07Z0JBQ0pDLFdBQVd4QixNQUFNSyxJQUFJb0IsT0FBTyxFQUFFakIsUUFBUU8sVUFBVSxDQUFDRyxPQUFPLEtBQUs7Z0JBQzdEUSxXQUFXckIsSUFBSW9CLE9BQU8sRUFBRUUsSUFBSSxpQkFBaUI7Z0JBQzdDckIsTUFBTUEsS0FBS3NCLEVBQUU7Z0JBQ2JDLE9BQU9wQyxXQUFXO2dCQUNsQnFDLFdBQVcsSUFBSUMsS0FBS0EsS0FBS0MsR0FBRyxLQUFLZixvQkFBb0I7WUFDdkQ7WUFDQVo7WUFDQTRCLE9BQU87UUFDVDtRQUVBLE1BQU1DLDBCQUEwQnhDLHFCQUM5QixPQUFPeUM7WUFDTEEsSUFBSUMsT0FBTyxHQUFHO2dCQUFFLEdBQUd0QixXQUFXO2dCQUFFUixNQUFNQTtZQUFLO1lBQzNDLE1BQU02QixJQUFJRSxlQUFlLENBQ3ZCRixJQUFJQyxPQUFPLENBQUNFLFdBQVcsQ0FBQ0MsWUFBWSxDQUFDQyxJQUFJLEVBQ3pDNUIsUUFBUWlCLEtBQUssRUFDYk0sSUFBSUMsT0FBTyxDQUFDSyxNQUFNLEVBQ2xCTixJQUFJQyxPQUFPLENBQUNFLFdBQVcsQ0FBQ0MsWUFBWSxDQUFDckIsT0FBTztZQUU5QyxNQUFNd0Isc0JBQXNCLE1BQU16QyxtQkFBbUI7Z0JBQ25EMEMsYUFBYTtvQkFBRS9CO29CQUFTTjtnQkFBSztnQkFDN0JzQyxpQkFBaUJsQztnQkFDakJtQyxvQkFBb0JsQztZQUN0QjtZQUNBLElBQUkrQixxQkFBcUI7Z0JBQ3ZCLE1BQU0vQyxpQkFBaUJ3QyxLQUFLTztZQUM5QjtZQUNBLElBQUkscUJBQXFCUCxLQUFLO2dCQUM1QixPQUFPQSxJQUFJVyxlQUFlO1lBQzVCO1lBQ0EsT0FBTztRQUNUO1FBR0YseUZBQXlGO1FBQ3pGLE1BQU1DLGNBQWM7WUFDbEIsR0FBRzFDLEdBQUc7WUFDTjJDLE1BQU1DLFVBQVUsOERBQThEO1FBQ2hGO1FBRUEsTUFBTUgsa0JBQWtCLE1BQU1aLHdCQUF3QmE7UUFDdEQsTUFBTUcsa0JBQWtCSixpQkFDcEJLLGVBQ0RDLElBQUksQ0FBQ0MsU0FBV3pELGVBQWV5RCxTQUMvQkMsT0FBT0M7UUFFVixJQUFJTCxpQkFBaUI7WUFDbkIsS0FBSyxNQUFNTSxjQUFjTixnQkFBaUI7Z0JBQ3hDLE1BQU0sRUFBRVYsSUFBSSxFQUFFaUIsS0FBSyxFQUFFLEdBQUd2QyxTQUFTLEdBQUdzQztnQkFDcEMzQyxZQUFZNkMsR0FBRyxDQUFDO29CQUNkLEdBQUd4QyxPQUFPO29CQUNWc0I7b0JBQ0FpQixPQUFPRSxtQkFBbUJGO2dCQUM1QjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9yRDtBQUNUIn0=
@@ -0,0 +1,3 @@
1
+ import type { CollectionAfterLogoutHook } from "payload";
2
+ export declare function getAfterLogoutHook(): CollectionAfterLogoutHook;
3
+ //# sourceMappingURL=after-logout.d.ts.map
@@ -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,EAAkB,MAAM,SAAS,CAAC;AAKzE,wBAAgB,kBAAkB,8BAoDjC"}