payload-auth 1.6.4 → 1.6.5

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 (197) hide show
  1. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  2. package/dist/better-auth/adapter/index.js +19 -16
  3. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  4. package/dist/better-auth/adapter/transform/index.js +1 -1
  5. package/dist/better-auth/adapter/types.d.ts +4 -2
  6. package/dist/better-auth/adapter/types.d.ts.map +1 -1
  7. package/dist/better-auth/adapter/types.js +1 -1
  8. package/dist/better-auth/generated-types.d.ts +110 -46
  9. package/dist/better-auth/generated-types.d.ts.map +1 -1
  10. package/dist/better-auth/generated-types.js +1 -1
  11. package/dist/better-auth/plugin/constants.d.ts +15 -1
  12. package/dist/better-auth/plugin/constants.d.ts.map +1 -1
  13. package/dist/better-auth/plugin/constants.js +21 -7
  14. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +1 -1
  15. package/dist/better-auth/plugin/helpers/get-collection.d.ts +1 -1
  16. package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -1
  17. package/dist/better-auth/plugin/helpers/get-collection.js +1 -1
  18. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +3 -0
  19. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts.map +1 -0
  20. package/dist/better-auth/plugin/helpers/get-signed-cookie.js +63 -0
  21. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +7 -7
  22. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
  23. package/dist/better-auth/plugin/helpers/prepare-session-data.js +1 -1
  24. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -1
  25. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +2 -1
  26. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  27. package/dist/better-auth/plugin/index.js +6 -3
  28. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +1 -1
  29. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -1
  30. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +1 -2
  31. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -1
  32. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +2 -2
  33. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +1 -1
  34. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -1
  35. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +1 -1
  36. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +1 -1
  37. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -1
  38. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +1 -1
  39. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +1 -1
  40. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  41. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +1 -1
  42. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +4 -0
  43. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -0
  44. package/dist/better-auth/plugin/lib/build-collections/device-code.js +49 -0
  45. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
  46. package/dist/better-auth/plugin/lib/build-collections/index.js +6 -2
  47. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  48. package/dist/better-auth/plugin/lib/build-collections/jwks.js +1 -1
  49. package/dist/better-auth/plugin/lib/build-collections/members.js +1 -1
  50. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  51. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +1 -1
  52. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  53. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +1 -1
  54. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  55. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +2 -2
  56. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
  57. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +1 -1
  58. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  59. package/dist/better-auth/plugin/lib/build-collections/sessions.js +14 -1
  60. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -1
  61. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +1 -1
  62. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +4 -0
  63. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts.map +1 -0
  64. package/dist/better-auth/plugin/lib/build-collections/team-members.js +56 -0
  65. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  66. package/dist/better-auth/plugin/lib/build-collections/teams.js +1 -1
  67. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +1 -1
  68. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +1 -1
  69. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -1
  70. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +5 -2
  71. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  72. package/dist/better-auth/plugin/lib/build-collections/users/index.js +1 -1
  73. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +10 -0
  74. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts.map +1 -0
  75. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +93 -0
  76. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +8 -12
  77. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -1
  78. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +5 -3
  79. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +6 -7
  80. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -1
  81. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +5 -2
  82. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  83. package/dist/better-auth/plugin/lib/build-collections/verifications.js +1 -1
  84. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +1 -1
  85. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
  86. package/dist/better-auth/plugin/lib/init-better-auth.js +5 -3
  87. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +1 -1
  88. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -1
  89. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +1 -1
  90. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
  91. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +1 -1
  92. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +3 -0
  93. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts.map +1 -0
  94. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +8 -0
  95. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  96. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +4 -2
  97. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
  98. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +1 -1
  99. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
  100. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +9 -3
  101. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -1
  102. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +1 -1
  103. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +1 -1
  104. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +1 -1
  105. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +2 -2
  106. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
  107. package/dist/better-auth/plugin/payload/views/admin-login/index.js +2 -2
  108. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
  109. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +2 -2
  110. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
  111. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +2 -2
  112. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -1
  113. package/dist/better-auth/plugin/payload/views/reset-password/client.js +1 -1
  114. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -1
  115. package/dist/better-auth/plugin/payload/views/reset-password/index.js +3 -3
  116. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -1
  117. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +2 -2
  118. package/dist/better-auth/plugin/types.d.ts +14 -4
  119. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  120. package/dist/better-auth/plugin/types.js +1 -1
  121. package/dist/better-auth/scripts/generate-types.js +28 -36
  122. package/dist/index.d.ts +0 -3
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +1 -4
  125. package/package.json +10 -43
  126. package/dist/authjs/index.d.ts +0 -2
  127. package/dist/authjs/index.d.ts.map +0 -1
  128. package/dist/authjs/index.js +0 -3
  129. package/dist/clerk/admin-ui.d.ts +0 -4
  130. package/dist/clerk/admin-ui.d.ts.map +0 -1
  131. package/dist/clerk/admin-ui.js +0 -5
  132. package/dist/clerk/index.d.ts +0 -7
  133. package/dist/clerk/index.d.ts.map +0 -1
  134. package/dist/clerk/index.js +0 -8
  135. package/dist/clerk/plugin/auth-strategy.d.ts +0 -11
  136. package/dist/clerk/plugin/auth-strategy.d.ts.map +0 -1
  137. package/dist/clerk/plugin/auth-strategy.js +0 -45
  138. package/dist/clerk/plugin/collections/users/access.d.ts +0 -14
  139. package/dist/clerk/plugin/collections/users/access.d.ts.map +0 -1
  140. package/dist/clerk/plugin/collections/users/access.js +0 -36
  141. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts +0 -14
  142. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts.map +0 -1
  143. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.js +0 -108
  144. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts +0 -4
  145. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts.map +0 -1
  146. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.js +0 -5
  147. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts +0 -13
  148. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts.map +0 -1
  149. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.js +0 -33
  150. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts +0 -11
  151. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts.map +0 -1
  152. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.js +0 -27
  153. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts +0 -13
  154. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts.map +0 -1
  155. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.js +0 -35
  156. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts +0 -12
  157. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts.map +0 -1
  158. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.js +0 -87
  159. package/dist/clerk/plugin/collections/users/fields.d.ts +0 -6
  160. package/dist/clerk/plugin/collections/users/fields.d.ts.map +0 -1
  161. package/dist/clerk/plugin/collections/users/fields.js +0 -81
  162. package/dist/clerk/plugin/collections/users/index.d.ts +0 -10
  163. package/dist/clerk/plugin/collections/users/index.d.ts.map +0 -1
  164. package/dist/clerk/plugin/collections/users/index.js +0 -95
  165. package/dist/clerk/plugin/components/after-login-form.d.ts +0 -4
  166. package/dist/clerk/plugin/components/after-login-form.d.ts.map +0 -1
  167. package/dist/clerk/plugin/components/after-login-form.js +0 -65
  168. package/dist/clerk/plugin/components/logout-button.d.ts +0 -2
  169. package/dist/clerk/plugin/components/logout-button.d.ts.map +0 -1
  170. package/dist/clerk/plugin/components/logout-button.js +0 -49
  171. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +0 -6
  172. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +0 -1
  173. package/dist/clerk/plugin/components/sync-clerk-users-button.js +0 -75
  174. package/dist/clerk/plugin.d.ts +0 -6
  175. package/dist/clerk/plugin.d.ts.map +0 -1
  176. package/dist/clerk/plugin.js +0 -63
  177. package/dist/clerk/types.d.ts +0 -63
  178. package/dist/clerk/types.d.ts.map +0 -1
  179. package/dist/clerk/types.js +0 -3
  180. package/dist/clerk/utils/clerk-user.d.ts +0 -21
  181. package/dist/clerk/utils/clerk-user.d.ts.map +0 -1
  182. package/dist/clerk/utils/clerk-user.js +0 -45
  183. package/dist/clerk/utils/index.d.ts +0 -4
  184. package/dist/clerk/utils/index.d.ts.map +0 -1
  185. package/dist/clerk/utils/index.js +0 -5
  186. package/dist/clerk/utils/load-clerk-instance.d.ts +0 -8
  187. package/dist/clerk/utils/load-clerk-instance.d.ts.map +0 -1
  188. package/dist/clerk/utils/load-clerk-instance.js +0 -11
  189. package/dist/clerk/utils/svix.d.ts +0 -9
  190. package/dist/clerk/utils/svix.d.ts.map +0 -1
  191. package/dist/clerk/utils/svix.js +0 -40
  192. package/dist/clerk/utils/user.d.ts +0 -17
  193. package/dist/clerk/utils/user.d.ts.map +0 -1
  194. package/dist/clerk/utils/user.js +0 -46
  195. package/dist/kinde/index.d.ts +0 -2
  196. package/dist/kinde/index.d.ts.map +0 -1
  197. package/dist/kinde/index.js +0 -3
@@ -1,49 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { LogOutIcon, useAuth, useTranslation } from "@payloadcms/ui";
4
- import { useEffect, useState } from "react";
5
- import { loadClerkInstance } from "../../utils/load-clerk-instance";
6
- export const LogoutButton = ()=>{
7
- const [clerkInstance, setClerkInstance] = useState(undefined);
8
- const { logOut } = useAuth();
9
- const { t } = useTranslation();
10
- useEffect(()=>{
11
- loadClerkInstance().then((instance)=>{
12
- setClerkInstance(instance);
13
- }).catch((err)=>console.error('Error loading clerk:', err));
14
- }, []);
15
- return /*#__PURE__*/ _jsx("button", {
16
- "aria-label": t('authentication:logOut'),
17
- className: 'nav__log-out',
18
- style: {
19
- background: 'transparent',
20
- border: '1px solid var(--theme-elevation-100)',
21
- width: '34px',
22
- height: '34px',
23
- borderRadius: '9999px',
24
- display: 'flex',
25
- alignItems: 'center',
26
- justifyContent: 'center',
27
- WebkitAppearance: 'none',
28
- cursor: 'pointer',
29
- padding: '7px'
30
- },
31
- onClick: async ()=>{
32
- if (!clerkInstance) return;
33
- try {
34
- if (clerkInstance.user) {
35
- await clerkInstance.signOut();
36
- }
37
- if (logOut) {
38
- await logOut();
39
- }
40
- window.location.reload();
41
- } catch (err) {
42
- console.error('Error logging out:', err);
43
- }
44
- },
45
- children: /*#__PURE__*/ _jsx(LogOutIcon, {})
46
- });
47
- };
48
-
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29tcG9uZW50cy9sb2dvdXQtYnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBDbGVyayB9IGZyb20gJ0BjbGVyay9jbGVyay1qcydcbmltcG9ydCB7IExvZ091dEljb24sIHVzZUF1dGgsIHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBsb2FkQ2xlcmtJbnN0YW5jZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvYWQtY2xlcmstaW5zdGFuY2UnXG5cbmV4cG9ydCBjb25zdCBMb2dvdXRCdXR0b24gPSAoKSA9PiB7XG4gIGNvbnN0IFtjbGVya0luc3RhbmNlLCBzZXRDbGVya0luc3RhbmNlXSA9IHVzZVN0YXRlPENsZXJrIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG4gIGNvbnN0IHsgbG9nT3V0IH0gPSB1c2VBdXRoKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsb2FkQ2xlcmtJbnN0YW5jZSgpXG4gICAgICAudGhlbigoaW5zdGFuY2UpID0+IHtcbiAgICAgICAgc2V0Q2xlcmtJbnN0YW5jZShpbnN0YW5jZSlcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycjogYW55KSA9PiBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGNsZXJrOicsIGVycikpXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1sYWJlbD17dCgnYXV0aGVudGljYXRpb246bG9nT3V0Jyl9XG4gICAgICBjbGFzc05hbWU9eyduYXZfX2xvZy1vdXQnfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHZhcigtLXRoZW1lLWVsZXZhdGlvbi0xMDApJyxcbiAgICAgICAgd2lkdGg6ICczNHB4JyxcbiAgICAgICAgaGVpZ2h0OiAnMzRweCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzk5OTlweCcsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgV2Via2l0QXBwZWFyYW5jZTogJ25vbmUnLFxuICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgcGFkZGluZzogJzdweCdcbiAgICAgIH19XG4gICAgICBvbkNsaWNrPXthc3luYyAoKSA9PiB7XG4gICAgICAgIGlmICghY2xlcmtJbnN0YW5jZSkgcmV0dXJuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKGNsZXJrSW5zdGFuY2UudXNlcikge1xuICAgICAgICAgICAgYXdhaXQgY2xlcmtJbnN0YW5jZS5zaWduT3V0KClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGxvZ091dCkge1xuICAgICAgICAgICAgYXdhaXQgbG9nT3V0KClcbiAgICAgICAgICB9XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvZ2dpbmcgb3V0OicsIGVycilcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICA+XG4gICAgICA8TG9nT3V0SWNvbiAvPlxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiTG9nT3V0SWNvbiIsInVzZUF1dGgiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwibG9hZENsZXJrSW5zdGFuY2UiLCJMb2dvdXRCdXR0b24iLCJjbGVya0luc3RhbmNlIiwic2V0Q2xlcmtJbnN0YW5jZSIsInVuZGVmaW5lZCIsImxvZ091dCIsInQiLCJ0aGVuIiwiaW5zdGFuY2UiLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImJ1dHRvbiIsImFyaWEtbGFiZWwiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJhY2tncm91bmQiLCJib3JkZXIiLCJ3aWR0aCIsImhlaWdodCIsImJvcmRlclJhZGl1cyIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJXZWJraXRBcHBlYXJhbmNlIiwiY3Vyc29yIiwicGFkZGluZyIsIm9uQ2xpY2siLCJ1c2VyIiwic2lnbk91dCIsIndpbmRvdyIsImxvY2F0aW9uIiwicmVsb2FkIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFHQSxTQUFTQSxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsY0FBYyxRQUFRLGlCQUFnQjtBQUNwRSxTQUFTQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBQzNDLFNBQVNDLGlCQUFpQixRQUFRLGtDQUFpQztBQUVuRSxPQUFPLE1BQU1DLGVBQWU7SUFDMUIsTUFBTSxDQUFDQyxlQUFlQyxpQkFBaUIsR0FBR0osU0FBNEJLO0lBQ3RFLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdUO0lBQ25CLE1BQU0sRUFBRVUsQ0FBQyxFQUFFLEdBQUdUO0lBRWRDLFVBQVU7UUFDUkUsb0JBQ0dPLElBQUksQ0FBQyxDQUFDQztZQUNMTCxpQkFBaUJLO1FBQ25CLEdBQ0NDLEtBQUssQ0FBQyxDQUFDQyxNQUFhQyxRQUFRQyxLQUFLLENBQUMsd0JBQXdCRjtJQUMvRCxHQUFHLEVBQUU7SUFFTCxxQkFDRSxLQUFDRztRQUNDQyxjQUFZUixFQUFFO1FBQ2RTLFdBQVc7UUFDWEMsT0FBTztZQUNMQyxZQUFZO1lBQ1pDLFFBQVE7WUFDUkMsT0FBTztZQUNQQyxRQUFRO1lBQ1JDLGNBQWM7WUFDZEMsU0FBUztZQUNUQyxZQUFZO1lBQ1pDLGdCQUFnQjtZQUNoQkMsa0JBQWtCO1lBQ2xCQyxRQUFRO1lBQ1JDLFNBQVM7UUFDWDtRQUNBQyxTQUFTO1lBQ1AsSUFBSSxDQUFDMUIsZUFBZTtZQUNwQixJQUFJO2dCQUNGLElBQUlBLGNBQWMyQixJQUFJLEVBQUU7b0JBQ3RCLE1BQU0zQixjQUFjNEIsT0FBTztnQkFDN0I7Z0JBQ0EsSUFBSXpCLFFBQVE7b0JBQ1YsTUFBTUE7Z0JBQ1I7Z0JBQ0EwQixPQUFPQyxRQUFRLENBQUNDLE1BQU07WUFDeEIsRUFBRSxPQUFPdkIsS0FBSztnQkFDWkMsUUFBUUMsS0FBSyxDQUFDLHNCQUFzQkY7WUFDdEM7UUFDRjtrQkFFQSxjQUFBLEtBQUNmOztBQUdQLEVBQUMifQ==
@@ -1,6 +0,0 @@
1
- export declare const SyncClerkUsersButton: ({ userCollectionSlug, apiBasePath, adminBasePath }: {
2
- userCollectionSlug: string;
3
- apiBasePath: string;
4
- adminBasePath: string;
5
- }) => import("react").JSX.Element | null;
6
- //# sourceMappingURL=sync-clerk-users-button.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-clerk-users-button.d.ts","sourceRoot":"","sources":["../../../../src/clerk/plugin/components/sync-clerk-users-button.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB,GAAI,oDAIlC;IACD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB,uCAiEA,CAAA"}
@@ -1,75 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Button, toast } from "@payloadcms/ui";
4
- import { useState } from "react";
5
- import { usePathname } from "next/navigation";
6
- export const SyncClerkUsersButton = ({ userCollectionSlug, apiBasePath, adminBasePath })=>{
7
- const [isPending, setIsPending] = useState(false);
8
- const path = usePathname();
9
- if (`${adminBasePath}/collections/${userCollectionSlug}` !== path) return null;
10
- const handleSync = async ()=>{
11
- setIsPending(true);
12
- try {
13
- const response = await fetch(`${apiBasePath}/${userCollectionSlug}/sync-from-clerk`, {
14
- method: 'POST',
15
- headers: {
16
- 'Content-Type': 'application/json'
17
- }
18
- });
19
- const result = await response.json();
20
- if (result.success) {
21
- toast.success(result.message || `Successfully synced users from Clerk`, {
22
- duration: 5000
23
- });
24
- } else {
25
- toast.error(result.error || 'Failed to sync users from Clerk', {
26
- duration: 5000
27
- });
28
- }
29
- } catch (error) {
30
- toast.error(error instanceof Error ? error.message : 'Error syncing users from Clerk', {
31
- duration: 5000
32
- });
33
- console.error('Error syncing users:', error);
34
- } finally{
35
- setIsPending(false);
36
- }
37
- };
38
- return /*#__PURE__*/ _jsxs(_Fragment, {
39
- children: [
40
- /*#__PURE__*/ _jsx(Button, {
41
- className: "sync-clerk-users-button",
42
- disabled: isPending,
43
- onClick: handleSync,
44
- children: isPending ? 'Syncing...' : 'Sync Users'
45
- }),
46
- /*#__PURE__*/ _jsx("style", {
47
- children: `
48
- .list-header:has(.collection-list__sub-header .sync-clerk-users-button) {
49
- display: flex;
50
- align-items: center;
51
- }
52
-
53
- .list-header:has(.collection-list__sub-header .sync-clerk-users-button) .collection-list__sub-header {
54
- margin-left: auto;
55
- display: flex;
56
- justify-content: flex-start;
57
- flex-basis: 100%;
58
- }
59
- .list-header:has(.collection-list__sub-header .sync-clerk-users-button) .btn {
60
- flex-shrink: 0;
61
- margin-bottom: 0;
62
- }
63
- @media (min-width: 768px) {
64
- .list-header:has(.collection-list__sub-header .sync-clerk-users-button) .collection-list__sub-header {
65
- flex-basis: 70%;
66
- justify-content: flex-end;
67
- }
68
- }
69
- `
70
- })
71
- ]
72
- });
73
- };
74
-
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29tcG9uZW50cy9zeW5jLWNsZXJrLXVzZXJzLWJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IEJ1dHRvbiwgdG9hc3QgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VQYXRobmFtZSB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCB0eXBlIHsgU3luY0NsZXJrVXNlcnNSZXNwb25zZSB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zeW5jLWZyb20tY2xlcmsnXG5cbmV4cG9ydCBjb25zdCBTeW5jQ2xlcmtVc2Vyc0J1dHRvbiA9ICh7XG4gIHVzZXJDb2xsZWN0aW9uU2x1ZyxcbiAgYXBpQmFzZVBhdGgsXG4gIGFkbWluQmFzZVBhdGhcbn06IHtcbiAgdXNlckNvbGxlY3Rpb25TbHVnOiBzdHJpbmdcbiAgYXBpQmFzZVBhdGg6IHN0cmluZ1xuICBhZG1pbkJhc2VQYXRoOiBzdHJpbmdcbn0pID0+IHtcbiAgY29uc3QgW2lzUGVuZGluZywgc2V0SXNQZW5kaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBwYXRoID0gdXNlUGF0aG5hbWUoKVxuXG4gIGlmIChgJHthZG1pbkJhc2VQYXRofS9jb2xsZWN0aW9ucy8ke3VzZXJDb2xsZWN0aW9uU2x1Z31gICE9PSBwYXRoKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGhhbmRsZVN5bmMgPSBhc3luYyAoKSA9PiB7XG4gICAgc2V0SXNQZW5kaW5nKHRydWUpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHthcGlCYXNlUGF0aH0vJHt1c2VyQ29sbGVjdGlvblNsdWd9L3N5bmMtZnJvbS1jbGVya2AsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHJlc3VsdDogU3luY0NsZXJrVXNlcnNSZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgICAgdG9hc3Quc3VjY2VzcyhyZXN1bHQubWVzc2FnZSB8fCBgU3VjY2Vzc2Z1bGx5IHN5bmNlZCB1c2VycyBmcm9tIENsZXJrYCwgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9hc3QuZXJyb3IocmVzdWx0LmVycm9yIHx8ICdGYWlsZWQgdG8gc3luYyB1c2VycyBmcm9tIENsZXJrJywgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0b2FzdC5lcnJvcihlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdFcnJvciBzeW5jaW5nIHVzZXJzIGZyb20gQ2xlcmsnLCB7IGR1cmF0aW9uOiA1MDAwIH0pXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzeW5jaW5nIHVzZXJzOicsIGVycm9yKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRJc1BlbmRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJzeW5jLWNsZXJrLXVzZXJzLWJ1dHRvblwiIGRpc2FibGVkPXtpc1BlbmRpbmd9IG9uQ2xpY2s9e2hhbmRsZVN5bmN9PlxuICAgICAgICB7aXNQZW5kaW5nID8gJ1N5bmNpbmcuLi4nIDogJ1N5bmMgVXNlcnMnfVxuICAgICAgPC9CdXR0b24+XG5cbiAgICAgIDxzdHlsZT5cbiAgICAgICAge2BcbiAgICAgICAgLmxpc3QtaGVhZGVyOmhhcyguY29sbGVjdGlvbi1saXN0X19zdWItaGVhZGVyIC5zeW5jLWNsZXJrLXVzZXJzLWJ1dHRvbikge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0LWhlYWRlcjpoYXMoLmNvbGxlY3Rpb24tbGlzdF9fc3ViLWhlYWRlciAuc3luYy1jbGVyay11c2Vycy1idXR0b24pIC5jb2xsZWN0aW9uLWxpc3RfX3N1Yi1oZWFkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmxpc3QtaGVhZGVyOmhhcyguY29sbGVjdGlvbi1saXN0X19zdWItaGVhZGVyIC5zeW5jLWNsZXJrLXVzZXJzLWJ1dHRvbikgLmJ0biB7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAubGlzdC1oZWFkZXI6aGFzKC5jb2xsZWN0aW9uLWxpc3RfX3N1Yi1oZWFkZXIgLnN5bmMtY2xlcmstdXNlcnMtYnV0dG9uKSAuY29sbGVjdGlvbi1saXN0X19zdWItaGVhZGVyIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDcwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICA8L3N0eWxlPlxuICAgIDwvPlxuICApXG59XG4iXSwibmFtZXMiOlsiQnV0dG9uIiwidG9hc3QiLCJ1c2VTdGF0ZSIsInVzZVBhdGhuYW1lIiwiU3luY0NsZXJrVXNlcnNCdXR0b24iLCJ1c2VyQ29sbGVjdGlvblNsdWciLCJhcGlCYXNlUGF0aCIsImFkbWluQmFzZVBhdGgiLCJpc1BlbmRpbmciLCJzZXRJc1BlbmRpbmciLCJwYXRoIiwiaGFuZGxlU3luYyIsInJlc3BvbnNlIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwicmVzdWx0IiwianNvbiIsInN1Y2Nlc3MiLCJtZXNzYWdlIiwiZHVyYXRpb24iLCJlcnJvciIsIkVycm9yIiwiY29uc29sZSIsImNsYXNzTmFtZSIsImRpc2FibGVkIiwib25DbGljayIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxTQUFTQSxNQUFNLEVBQUVDLEtBQUssUUFBUSxpQkFBZ0I7QUFDOUMsU0FBU0MsUUFBUSxRQUFRLFFBQU87QUFDaEMsU0FBU0MsV0FBVyxRQUFRLGtCQUFpQjtBQUc3QyxPQUFPLE1BQU1DLHVCQUF1QixDQUFDLEVBQ25DQyxrQkFBa0IsRUFDbEJDLFdBQVcsRUFDWEMsYUFBYSxFQUtkO0lBQ0MsTUFBTSxDQUFDQyxXQUFXQyxhQUFhLEdBQUdQLFNBQVM7SUFDM0MsTUFBTVEsT0FBT1A7SUFFYixJQUFJLEdBQUdJLGNBQWMsYUFBYSxFQUFFRixvQkFBb0IsS0FBS0ssTUFBTSxPQUFPO0lBRTFFLE1BQU1DLGFBQWE7UUFDakJGLGFBQWE7UUFFYixJQUFJO1lBQ0YsTUFBTUcsV0FBVyxNQUFNQyxNQUFNLEdBQUdQLFlBQVksQ0FBQyxFQUFFRCxtQkFBbUIsZ0JBQWdCLENBQUMsRUFBRTtnQkFDbkZTLFFBQVE7Z0JBQ1JDLFNBQVM7b0JBQ1AsZ0JBQWdCO2dCQUNsQjtZQUNGO1lBRUEsTUFBTUMsU0FBaUMsTUFBTUosU0FBU0ssSUFBSTtZQUUxRCxJQUFJRCxPQUFPRSxPQUFPLEVBQUU7Z0JBQ2xCakIsTUFBTWlCLE9BQU8sQ0FBQ0YsT0FBT0csT0FBTyxJQUFJLENBQUMsb0NBQW9DLENBQUMsRUFBRTtvQkFBRUMsVUFBVTtnQkFBSztZQUMzRixPQUFPO2dCQUNMbkIsTUFBTW9CLEtBQUssQ0FBQ0wsT0FBT0ssS0FBSyxJQUFJLG1DQUFtQztvQkFBRUQsVUFBVTtnQkFBSztZQUNsRjtRQUNGLEVBQUUsT0FBT0MsT0FBTztZQUNkcEIsTUFBTW9CLEtBQUssQ0FBQ0EsaUJBQWlCQyxRQUFRRCxNQUFNRixPQUFPLEdBQUcsa0NBQWtDO2dCQUFFQyxVQUFVO1lBQUs7WUFDeEdHLFFBQVFGLEtBQUssQ0FBQyx3QkFBd0JBO1FBQ3hDLFNBQVU7WUFDUlosYUFBYTtRQUNmO0lBQ0Y7SUFFQSxxQkFDRTs7MEJBQ0UsS0FBQ1Q7Z0JBQU93QixXQUFVO2dCQUEwQkMsVUFBVWpCO2dCQUFXa0IsU0FBU2Y7MEJBQ3ZFSCxZQUFZLGVBQWU7OzBCQUc5QixLQUFDbUI7MEJBQ0UsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQXNCRixDQUFDOzs7O0FBSVQsRUFBQyJ9
@@ -1,6 +0,0 @@
1
- import type { Config } from 'payload';
2
- import type { ClerkPluginOptions } from './types';
3
- export * from './plugin/auth-strategy';
4
- export * from './plugin/collections/users';
5
- export declare function clerkPlugin(pluginOptions?: ClerkPluginOptions): (config: Config) => Config;
6
- //# sourceMappingURL=plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/clerk/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAE1C,wBAAgB,WAAW,CAAC,aAAa,GAAE,kBAAuB,IACxD,QAAQ,MAAM,KAAG,MAAM,CAgEhC"}
@@ -1,63 +0,0 @@
1
- import { withClerkUsersCollection } from "./plugin/collections/users";
2
- import { defaultClerkMapping, createMappingWithRequiredClerkFields } from "./utils/clerk-user";
3
- export * from "./plugin/auth-strategy";
4
- export * from "./plugin/collections/users";
5
- export function clerkPlugin(pluginOptions = {}) {
6
- return (config)=>{
7
- if (pluginOptions.disabled) {
8
- return config;
9
- }
10
- const clerkToPayloadMappingFunction = createMappingWithRequiredClerkFields(pluginOptions?.users?.clerkToPayloadMapping ?? defaultClerkMapping);
11
- pluginOptions.users = pluginOptions.users ?? {};
12
- pluginOptions.users.clerkToPayloadMapping = clerkToPayloadMappingFunction;
13
- config.custom = {
14
- ...config.custom,
15
- hasClerkPlugin: true,
16
- clerkPlugin: {
17
- clerkToPayloadMapping: clerkToPayloadMappingFunction
18
- }
19
- };
20
- if (!config.collections) {
21
- config.collections = [];
22
- }
23
- config.admin = {
24
- ...config.admin,
25
- components: {
26
- logout: {
27
- Button: {
28
- path: 'payload-auth/clerk/admin/ui#LogoutButton'
29
- }
30
- },
31
- ...config.admin?.components,
32
- afterLogin: [
33
- {
34
- path: 'payload-auth/clerk/admin/ui#AfterLoginForm',
35
- clientProps: {
36
- redirectOnLoginTo: config?.routes?.admin
37
- }
38
- }
39
- ]
40
- }
41
- };
42
- const userSlug = pluginOptions.users?.slug ?? 'users';
43
- const existingUserCollection = config.collections.find((collection)=>collection.slug === userSlug);
44
- if (existingUserCollection) {
45
- const index = config.collections.findIndex((collection)=>collection.slug === userSlug);
46
- config.collections[index] = withClerkUsersCollection({
47
- collection: existingUserCollection,
48
- options: pluginOptions,
49
- apiBasePath: config?.routes?.api ?? undefined,
50
- adminBasePath: config?.routes?.admin ?? undefined
51
- });
52
- } else {
53
- config.collections.push(withClerkUsersCollection({
54
- options: pluginOptions,
55
- apiBasePath: config?.routes?.api ?? undefined,
56
- adminBasePath: config?.routes?.admin ?? undefined
57
- }));
58
- }
59
- return config;
60
- };
61
- }
62
-
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVyay9wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBDbGVya1BsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgd2l0aENsZXJrVXNlcnNDb2xsZWN0aW9uIH0gZnJvbSAnLi9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMnXG5pbXBvcnQgeyBkZWZhdWx0Q2xlcmtNYXBwaW5nLCBjcmVhdGVNYXBwaW5nV2l0aFJlcXVpcmVkQ2xlcmtGaWVsZHMgfSBmcm9tICcuL3V0aWxzL2NsZXJrLXVzZXInXG5cbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2luL2F1dGgtc3RyYXRlZ3knXG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbi9jb2xsZWN0aW9ucy91c2VycydcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZXJrUGx1Z2luKHBsdWdpbk9wdGlvbnM6IENsZXJrUGx1Z2luT3B0aW9ucyA9IHt9KSB7XG4gIHJldHVybiAoY29uZmlnOiBDb25maWcpOiBDb25maWcgPT4ge1xuICAgIGlmIChwbHVnaW5PcHRpb25zLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gY29uZmlnXG4gICAgfVxuXG4gICAgY29uc3QgY2xlcmtUb1BheWxvYWRNYXBwaW5nRnVuY3Rpb24gPSBjcmVhdGVNYXBwaW5nV2l0aFJlcXVpcmVkQ2xlcmtGaWVsZHMoXG4gICAgICBwbHVnaW5PcHRpb25zPy51c2Vycz8uY2xlcmtUb1BheWxvYWRNYXBwaW5nID8/IGRlZmF1bHRDbGVya01hcHBpbmdcbiAgICApXG4gICAgcGx1Z2luT3B0aW9ucy51c2VycyA9IHBsdWdpbk9wdGlvbnMudXNlcnMgPz8ge31cbiAgICBwbHVnaW5PcHRpb25zLnVzZXJzLmNsZXJrVG9QYXlsb2FkTWFwcGluZyA9IGNsZXJrVG9QYXlsb2FkTWFwcGluZ0Z1bmN0aW9uXG5cbiAgICBjb25maWcuY3VzdG9tID0ge1xuICAgICAgLi4uY29uZmlnLmN1c3RvbSxcbiAgICAgIGhhc0NsZXJrUGx1Z2luOiB0cnVlLFxuICAgICAgY2xlcmtQbHVnaW46IHtcbiAgICAgICAgY2xlcmtUb1BheWxvYWRNYXBwaW5nOiBjbGVya1RvUGF5bG9hZE1hcHBpbmdGdW5jdGlvblxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghY29uZmlnLmNvbGxlY3Rpb25zKSB7XG4gICAgICBjb25maWcuY29sbGVjdGlvbnMgPSBbXVxuICAgIH1cblxuICAgIGNvbmZpZy5hZG1pbiA9IHtcbiAgICAgIC4uLmNvbmZpZy5hZG1pbixcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgbG9nb3V0OiB7XG4gICAgICAgICAgQnV0dG9uOiB7XG4gICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2NsZXJrL2FkbWluL3VpI0xvZ291dEJ1dHRvbidcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC4uLmNvbmZpZy5hZG1pbj8uY29tcG9uZW50cyxcbiAgICAgICAgYWZ0ZXJMb2dpbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvY2xlcmsvYWRtaW4vdWkjQWZ0ZXJMb2dpbkZvcm0nLFxuICAgICAgICAgICAgY2xpZW50UHJvcHM6IHsgcmVkaXJlY3RPbkxvZ2luVG86IGNvbmZpZz8ucm91dGVzPy5hZG1pbiB9XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHVzZXJTbHVnID0gcGx1Z2luT3B0aW9ucy51c2Vycz8uc2x1ZyA/PyAndXNlcnMnXG5cbiAgICBjb25zdCBleGlzdGluZ1VzZXJDb2xsZWN0aW9uID0gY29uZmlnLmNvbGxlY3Rpb25zLmZpbmQoKGNvbGxlY3Rpb246IGFueSkgPT4gY29sbGVjdGlvbi5zbHVnID09PSB1c2VyU2x1ZylcblxuICAgIGlmIChleGlzdGluZ1VzZXJDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGNvbmZpZy5jb2xsZWN0aW9ucy5maW5kSW5kZXgoKGNvbGxlY3Rpb246IGFueSkgPT4gY29sbGVjdGlvbi5zbHVnID09PSB1c2VyU2x1ZylcbiAgICAgIGNvbmZpZy5jb2xsZWN0aW9uc1tpbmRleF0gPSB3aXRoQ2xlcmtVc2Vyc0NvbGxlY3Rpb24oe1xuICAgICAgICBjb2xsZWN0aW9uOiBleGlzdGluZ1VzZXJDb2xsZWN0aW9uLFxuICAgICAgICBvcHRpb25zOiBwbHVnaW5PcHRpb25zLFxuICAgICAgICBhcGlCYXNlUGF0aDogY29uZmlnPy5yb3V0ZXM/LmFwaSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGFkbWluQmFzZVBhdGg6IGNvbmZpZz8ucm91dGVzPy5hZG1pbiA/PyB1bmRlZmluZWRcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZy5jb2xsZWN0aW9ucy5wdXNoKFxuICAgICAgICB3aXRoQ2xlcmtVc2Vyc0NvbGxlY3Rpb24oe1xuICAgICAgICAgIG9wdGlvbnM6IHBsdWdpbk9wdGlvbnMsXG4gICAgICAgICAgYXBpQmFzZVBhdGg6IGNvbmZpZz8ucm91dGVzPy5hcGkgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgIGFkbWluQmFzZVBhdGg6IGNvbmZpZz8ucm91dGVzPy5hZG1pbiA/PyB1bmRlZmluZWRcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ3aXRoQ2xlcmtVc2Vyc0NvbGxlY3Rpb24iLCJkZWZhdWx0Q2xlcmtNYXBwaW5nIiwiY3JlYXRlTWFwcGluZ1dpdGhSZXF1aXJlZENsZXJrRmllbGRzIiwiY2xlcmtQbHVnaW4iLCJwbHVnaW5PcHRpb25zIiwiY29uZmlnIiwiZGlzYWJsZWQiLCJjbGVya1RvUGF5bG9hZE1hcHBpbmdGdW5jdGlvbiIsInVzZXJzIiwiY2xlcmtUb1BheWxvYWRNYXBwaW5nIiwiY3VzdG9tIiwiaGFzQ2xlcmtQbHVnaW4iLCJjb2xsZWN0aW9ucyIsImFkbWluIiwiY29tcG9uZW50cyIsImxvZ291dCIsIkJ1dHRvbiIsInBhdGgiLCJhZnRlckxvZ2luIiwiY2xpZW50UHJvcHMiLCJyZWRpcmVjdE9uTG9naW5UbyIsInJvdXRlcyIsInVzZXJTbHVnIiwic2x1ZyIsImV4aXN0aW5nVXNlckNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbGVjdGlvbiIsImluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9ucyIsImFwaUJhc2VQYXRoIiwiYXBpIiwidW5kZWZpbmVkIiwiYWRtaW5CYXNlUGF0aCIsInB1c2giXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLHdCQUF3QixRQUFRLDZCQUE0QjtBQUNyRSxTQUFTQyxtQkFBbUIsRUFBRUMsb0NBQW9DLFFBQVEscUJBQW9CO0FBRTlGLGNBQWMseUJBQXdCO0FBQ3RDLGNBQWMsNkJBQTRCO0FBRTFDLE9BQU8sU0FBU0MsWUFBWUMsZ0JBQW9DLENBQUMsQ0FBQztJQUNoRSxPQUFPLENBQUNDO1FBQ04sSUFBSUQsY0FBY0UsUUFBUSxFQUFFO1lBQzFCLE9BQU9EO1FBQ1Q7UUFFQSxNQUFNRSxnQ0FBZ0NMLHFDQUNwQ0UsZUFBZUksT0FBT0MseUJBQXlCUjtRQUVqREcsY0FBY0ksS0FBSyxHQUFHSixjQUFjSSxLQUFLLElBQUksQ0FBQztRQUM5Q0osY0FBY0ksS0FBSyxDQUFDQyxxQkFBcUIsR0FBR0Y7UUFFNUNGLE9BQU9LLE1BQU0sR0FBRztZQUNkLEdBQUdMLE9BQU9LLE1BQU07WUFDaEJDLGdCQUFnQjtZQUNoQlIsYUFBYTtnQkFDWE0sdUJBQXVCRjtZQUN6QjtRQUNGO1FBRUEsSUFBSSxDQUFDRixPQUFPTyxXQUFXLEVBQUU7WUFDdkJQLE9BQU9PLFdBQVcsR0FBRyxFQUFFO1FBQ3pCO1FBRUFQLE9BQU9RLEtBQUssR0FBRztZQUNiLEdBQUdSLE9BQU9RLEtBQUs7WUFDZkMsWUFBWTtnQkFDVkMsUUFBUTtvQkFDTkMsUUFBUTt3QkFDTkMsTUFBTTtvQkFDUjtnQkFDRjtnQkFDQSxHQUFHWixPQUFPUSxLQUFLLEVBQUVDLFVBQVU7Z0JBQzNCSSxZQUFZO29CQUNWO3dCQUNFRCxNQUFNO3dCQUNORSxhQUFhOzRCQUFFQyxtQkFBbUJmLFFBQVFnQixRQUFRUjt3QkFBTTtvQkFDMUQ7aUJBQ0Q7WUFDSDtRQUNGO1FBQ0EsTUFBTVMsV0FBV2xCLGNBQWNJLEtBQUssRUFBRWUsUUFBUTtRQUU5QyxNQUFNQyx5QkFBeUJuQixPQUFPTyxXQUFXLENBQUNhLElBQUksQ0FBQyxDQUFDQyxhQUFvQkEsV0FBV0gsSUFBSSxLQUFLRDtRQUVoRyxJQUFJRSx3QkFBd0I7WUFDMUIsTUFBTUcsUUFBUXRCLE9BQU9PLFdBQVcsQ0FBQ2dCLFNBQVMsQ0FBQyxDQUFDRixhQUFvQkEsV0FBV0gsSUFBSSxLQUFLRDtZQUNwRmpCLE9BQU9PLFdBQVcsQ0FBQ2UsTUFBTSxHQUFHM0IseUJBQXlCO2dCQUNuRDBCLFlBQVlGO2dCQUNaSyxTQUFTekI7Z0JBQ1QwQixhQUFhekIsUUFBUWdCLFFBQVFVLE9BQU9DO2dCQUNwQ0MsZUFBZTVCLFFBQVFnQixRQUFRUixTQUFTbUI7WUFDMUM7UUFDRixPQUFPO1lBQ0wzQixPQUFPTyxXQUFXLENBQUNzQixJQUFJLENBQ3JCbEMseUJBQXlCO2dCQUN2QjZCLFNBQVN6QjtnQkFDVDBCLGFBQWF6QixRQUFRZ0IsUUFBUVUsT0FBT0M7Z0JBQ3BDQyxlQUFlNUIsUUFBUWdCLFFBQVFSLFNBQVNtQjtZQUMxQztRQUVKO1FBRUEsT0FBTzNCO0lBQ1Q7QUFDRiJ9
@@ -1,63 +0,0 @@
1
- import type { UserJSON } from '@clerk/backend';
2
- import type { CollectionConfig, User } from 'payload';
3
- /**
4
- * Function type for mapping Clerk user data to Payload fields
5
- */
6
- export type ClerkToPayloadMappingFunction = (clerkUser: UserJSON) => Omit<User, 'id'>;
7
- export interface ClerkPluginOptions {
8
- /**
9
- * Disable the plugin
10
- */
11
- disabled?: boolean;
12
- /**
13
- * Enable debug logs
14
- */
15
- enableDebugLogs?: boolean;
16
- /**
17
- * Collection options for the Clerk users
18
- */
19
- users?: {
20
- /**
21
- * The slug for the users collection
22
- * @default "users"
23
- */
24
- slug?: string;
25
- /**
26
- * Whether to hide the collection in the admin UI
27
- * @default false
28
- */
29
- hidden?: boolean;
30
- /**
31
- * Collection override function that lets you customize the collection config
32
- */
33
- collectionOverrides?: (args: {
34
- collection: CollectionConfig;
35
- }) => CollectionConfig;
36
- /**
37
- * Admin roles that have permission to perform admin actions
38
- * @default ["admin"]
39
- */
40
- adminRoles?: string[];
41
- /**
42
- * Custom function to map Clerk user data to Payload fields
43
- * If not provided, default mapping will be used
44
- */
45
- clerkToPayloadMapping?: ClerkToPayloadMappingFunction;
46
- };
47
- /**
48
- * Webhook configuration
49
- */
50
- webhook?: {
51
- /**
52
- * Svix signing secret for validating webhook requests
53
- * If not provided, webhook validation will be skipped (not recommended for production)
54
- */
55
- svixSecret?: string;
56
- /**
57
- * Custom endpoint path for the webhook
58
- * @default "/api/webhooks/clerk"
59
- */
60
- path?: string;
61
- };
62
- }
63
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/clerk/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,SAAS,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAErF,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAA;QAEhB;;WAEG;QACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,UAAU,EAAE,gBAAgB,CAAA;SAAE,KAAK,gBAAgB,CAAA;QAElF;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QAErB;;;WAGG;QACH,qBAAqB,CAAC,EAAE,6BAA6B,CAAA;KACtD,CAAA;IAED;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF"}
@@ -1,3 +0,0 @@
1
- export { };
2
-
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVyay90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFVzZXJKU09OIH0gZnJvbSAnQGNsZXJrL2JhY2tlbmQnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcsIFVzZXIgfSBmcm9tICdwYXlsb2FkJ1xuXG4vKipcbiAqIEZ1bmN0aW9uIHR5cGUgZm9yIG1hcHBpbmcgQ2xlcmsgdXNlciBkYXRhIHRvIFBheWxvYWQgZmllbGRzXG4gKi9cbmV4cG9ydCB0eXBlIENsZXJrVG9QYXlsb2FkTWFwcGluZ0Z1bmN0aW9uID0gKGNsZXJrVXNlcjogVXNlckpTT04pID0+IE9taXQ8VXNlciwgJ2lkJz5cblxuZXhwb3J0IGludGVyZmFjZSBDbGVya1BsdWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogRGlzYWJsZSB0aGUgcGx1Z2luXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cblxuICAvKipcbiAgICogRW5hYmxlIGRlYnVnIGxvZ3NcbiAgICovXG4gIGVuYWJsZURlYnVnTG9ncz86IGJvb2xlYW5cblxuICAvKipcbiAgICogQ29sbGVjdGlvbiBvcHRpb25zIGZvciB0aGUgQ2xlcmsgdXNlcnNcbiAgICovXG4gIHVzZXJzPzoge1xuICAgIC8qKlxuICAgICAqIFRoZSBzbHVnIGZvciB0aGUgdXNlcnMgY29sbGVjdGlvblxuICAgICAqIEBkZWZhdWx0IFwidXNlcnNcIlxuICAgICAqL1xuICAgIHNsdWc/OiBzdHJpbmdcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gaGlkZSB0aGUgY29sbGVjdGlvbiBpbiB0aGUgYWRtaW4gVUlcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIGhpZGRlbj86IGJvb2xlYW5cblxuICAgIC8qKlxuICAgICAqIENvbGxlY3Rpb24gb3ZlcnJpZGUgZnVuY3Rpb24gdGhhdCBsZXRzIHlvdSBjdXN0b21pemUgdGhlIGNvbGxlY3Rpb24gY29uZmlnXG4gICAgICovXG4gICAgY29sbGVjdGlvbk92ZXJyaWRlcz86IChhcmdzOiB7IGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcgfSkgPT4gQ29sbGVjdGlvbkNvbmZpZ1xuXG4gICAgLyoqXG4gICAgICogQWRtaW4gcm9sZXMgdGhhdCBoYXZlIHBlcm1pc3Npb24gdG8gcGVyZm9ybSBhZG1pbiBhY3Rpb25zXG4gICAgICogQGRlZmF1bHQgW1wiYWRtaW5cIl1cbiAgICAgKi9cbiAgICBhZG1pblJvbGVzPzogc3RyaW5nW11cblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBmdW5jdGlvbiB0byBtYXAgQ2xlcmsgdXNlciBkYXRhIHRvIFBheWxvYWQgZmllbGRzXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0IG1hcHBpbmcgd2lsbCBiZSB1c2VkXG4gICAgICovXG4gICAgY2xlcmtUb1BheWxvYWRNYXBwaW5nPzogQ2xlcmtUb1BheWxvYWRNYXBwaW5nRnVuY3Rpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBXZWJob29rIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHdlYmhvb2s/OiB7XG4gICAgLyoqXG4gICAgICogU3ZpeCBzaWduaW5nIHNlY3JldCBmb3IgdmFsaWRhdGluZyB3ZWJob29rIHJlcXVlc3RzXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCB3ZWJob29rIHZhbGlkYXRpb24gd2lsbCBiZSBza2lwcGVkIChub3QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24pXG4gICAgICovXG4gICAgc3ZpeFNlY3JldD86IHN0cmluZ1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGVuZHBvaW50IHBhdGggZm9yIHRoZSB3ZWJob29rXG4gICAgICogQGRlZmF1bHQgXCIvYXBpL3dlYmhvb2tzL2NsZXJrXCJcbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxXQTZEQyJ9
@@ -1,21 +0,0 @@
1
- import { ClerkToPayloadMappingFunction } from '../types';
2
- import type { User, UserJSON } from '@clerk/backend';
3
- /**
4
- * Default mapping function for Clerk user data to Payload fields
5
- */
6
- export declare const defaultClerkMapping: ClerkToPayloadMappingFunction;
7
- /**
8
- * Ensures that essential Clerk fields are always set regardless of the mapping function
9
- * This wrapper guarantees that clerkId and email will always be present in the mapped data
10
- */
11
- export declare const createMappingWithRequiredClerkFields: (mappingFunction: ClerkToPayloadMappingFunction) => ClerkToPayloadMappingFunction;
12
- /**
13
- * Extracts the primary email from Clerk user data
14
- */
15
- export declare function getPrimaryEmail(clerkUser: User): string | undefined;
16
- export declare function getPrimaryEmailFromJson(clerkUser: UserJSON): string | undefined;
17
- /**
18
- * Formats a user's full name from their first and last name
19
- */
20
- export declare function formatFullName(firstName?: string, lastName?: string): string | undefined;
21
- //# sourceMappingURL=clerk-user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clerk-user.d.ts","sourceRoot":"","sources":["../../../src/clerk/utils/clerk-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,6BAWjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,GAAI,iBAAiB,6BAA6B,KAAG,6BAUrG,CAAA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAInE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAI/E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGxF"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Default mapping function for Clerk user data to Payload fields
3
- */ export const defaultClerkMapping = (clerkUser)=>{
4
- return {
5
- clerkId: clerkUser.id,
6
- email: getPrimaryEmailFromJson(clerkUser),
7
- emailVerified: clerkUser.email_addresses?.[0]?.verification?.status === 'verified',
8
- firstName: clerkUser.first_name,
9
- lastName: clerkUser.last_name,
10
- imageUrl: clerkUser.image_url,
11
- lastSyncedAt: new Date(),
12
- clerkPublicMetadata: clerkUser?.public_metadata || {}
13
- };
14
- };
15
- /**
16
- * Ensures that essential Clerk fields are always set regardless of the mapping function
17
- * This wrapper guarantees that clerkId and email will always be present in the mapped data
18
- */ export const createMappingWithRequiredClerkFields = (mappingFunction)=>{
19
- return (clerkUser)=>{
20
- const mappedData = mappingFunction(clerkUser);
21
- return {
22
- ...mappedData,
23
- clerkId: clerkUser.id,
24
- email: mappedData.email || getPrimaryEmailFromJson(clerkUser)
25
- };
26
- };
27
- };
28
- /**
29
- * Extracts the primary email from Clerk user data
30
- */ export function getPrimaryEmail(clerkUser) {
31
- const primaryEmail = clerkUser.emailAddresses?.find((email)=>email.id === clerkUser.primaryEmailAddressId);
32
- return primaryEmail?.emailAddress || clerkUser.emailAddresses?.[0]?.emailAddress;
33
- }
34
- export function getPrimaryEmailFromJson(clerkUser) {
35
- const primaryEmail = clerkUser.email_addresses?.find((email)=>email.id === clerkUser.primary_email_address_id);
36
- return primaryEmail?.email_address || clerkUser.email_addresses?.[0]?.email_address;
37
- }
38
- /**
39
- * Formats a user's full name from their first and last name
40
- */ export function formatFullName(firstName, lastName) {
41
- if (!firstName && !lastName) return undefined;
42
- return `${firstName || ''} ${lastName || ''}`.trim();
43
- }
44
-
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGVyay91dGlscy9jbGVyay11c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsZXJrVG9QYXlsb2FkTWFwcGluZ0Z1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFVzZXIsIFVzZXJKU09OIH0gZnJvbSAnQGNsZXJrL2JhY2tlbmQnXG5cbi8qKlxuICogRGVmYXVsdCBtYXBwaW5nIGZ1bmN0aW9uIGZvciBDbGVyayB1c2VyIGRhdGEgdG8gUGF5bG9hZCBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRDbGVya01hcHBpbmc6IENsZXJrVG9QYXlsb2FkTWFwcGluZ0Z1bmN0aW9uID0gKGNsZXJrVXNlcjogVXNlckpTT04pID0+IHtcbiAgcmV0dXJuIHtcbiAgICBjbGVya0lkOiBjbGVya1VzZXIuaWQsXG4gICAgZW1haWw6IGdldFByaW1hcnlFbWFpbEZyb21Kc29uKGNsZXJrVXNlciksXG4gICAgZW1haWxWZXJpZmllZDogY2xlcmtVc2VyLmVtYWlsX2FkZHJlc3Nlcz8uWzBdPy52ZXJpZmljYXRpb24/LnN0YXR1cyA9PT0gJ3ZlcmlmaWVkJyxcbiAgICBmaXJzdE5hbWU6IGNsZXJrVXNlci5maXJzdF9uYW1lLFxuICAgIGxhc3ROYW1lOiBjbGVya1VzZXIubGFzdF9uYW1lLFxuICAgIGltYWdlVXJsOiBjbGVya1VzZXIuaW1hZ2VfdXJsLFxuICAgIGxhc3RTeW5jZWRBdDogbmV3IERhdGUoKSxcbiAgICBjbGVya1B1YmxpY01ldGFkYXRhOiBjbGVya1VzZXI/LnB1YmxpY19tZXRhZGF0YSB8fCB7fVxuICB9XG59XG5cbi8qKlxuICogRW5zdXJlcyB0aGF0IGVzc2VudGlhbCBDbGVyayBmaWVsZHMgYXJlIGFsd2F5cyBzZXQgcmVnYXJkbGVzcyBvZiB0aGUgbWFwcGluZyBmdW5jdGlvblxuICogVGhpcyB3cmFwcGVyIGd1YXJhbnRlZXMgdGhhdCBjbGVya0lkIGFuZCBlbWFpbCB3aWxsIGFsd2F5cyBiZSBwcmVzZW50IGluIHRoZSBtYXBwZWQgZGF0YVxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlTWFwcGluZ1dpdGhSZXF1aXJlZENsZXJrRmllbGRzID0gKG1hcHBpbmdGdW5jdGlvbjogQ2xlcmtUb1BheWxvYWRNYXBwaW5nRnVuY3Rpb24pOiBDbGVya1RvUGF5bG9hZE1hcHBpbmdGdW5jdGlvbiA9PiB7XG4gIHJldHVybiAoY2xlcmtVc2VyOiBVc2VySlNPTikgPT4ge1xuICAgIGNvbnN0IG1hcHBlZERhdGEgPSBtYXBwaW5nRnVuY3Rpb24oY2xlcmtVc2VyKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm1hcHBlZERhdGEsXG4gICAgICBjbGVya0lkOiBjbGVya1VzZXIuaWQsXG4gICAgICBlbWFpbDogbWFwcGVkRGF0YS5lbWFpbCB8fCBnZXRQcmltYXJ5RW1haWxGcm9tSnNvbihjbGVya1VzZXIpXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHByaW1hcnkgZW1haWwgZnJvbSBDbGVyayB1c2VyIGRhdGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByaW1hcnlFbWFpbChjbGVya1VzZXI6IFVzZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBwcmltYXJ5RW1haWwgPSBjbGVya1VzZXIuZW1haWxBZGRyZXNzZXM/LmZpbmQoKGVtYWlsKSA9PiBlbWFpbC5pZCA9PT0gY2xlcmtVc2VyLnByaW1hcnlFbWFpbEFkZHJlc3NJZClcblxuICByZXR1cm4gcHJpbWFyeUVtYWlsPy5lbWFpbEFkZHJlc3MgfHwgY2xlcmtVc2VyLmVtYWlsQWRkcmVzc2VzPy5bMF0/LmVtYWlsQWRkcmVzc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpbWFyeUVtYWlsRnJvbUpzb24oY2xlcmtVc2VyOiBVc2VySlNPTik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHByaW1hcnlFbWFpbCA9IGNsZXJrVXNlci5lbWFpbF9hZGRyZXNzZXM/LmZpbmQoKGVtYWlsKSA9PiBlbWFpbC5pZCA9PT0gY2xlcmtVc2VyLnByaW1hcnlfZW1haWxfYWRkcmVzc19pZClcblxuICByZXR1cm4gcHJpbWFyeUVtYWlsPy5lbWFpbF9hZGRyZXNzIHx8IGNsZXJrVXNlci5lbWFpbF9hZGRyZXNzZXM/LlswXT8uZW1haWxfYWRkcmVzc1xufVxuXG4vKipcbiAqIEZvcm1hdHMgYSB1c2VyJ3MgZnVsbCBuYW1lIGZyb20gdGhlaXIgZmlyc3QgYW5kIGxhc3QgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RnVsbE5hbWUoZmlyc3ROYW1lPzogc3RyaW5nLCBsYXN0TmFtZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghZmlyc3ROYW1lICYmICFsYXN0TmFtZSkgcmV0dXJuIHVuZGVmaW5lZFxuICByZXR1cm4gYCR7Zmlyc3ROYW1lIHx8ICcnfSAke2xhc3ROYW1lIHx8ICcnfWAudHJpbSgpXG59XG4iXSwibmFtZXMiOlsiZGVmYXVsdENsZXJrTWFwcGluZyIsImNsZXJrVXNlciIsImNsZXJrSWQiLCJpZCIsImVtYWlsIiwiZ2V0UHJpbWFyeUVtYWlsRnJvbUpzb24iLCJlbWFpbFZlcmlmaWVkIiwiZW1haWxfYWRkcmVzc2VzIiwidmVyaWZpY2F0aW9uIiwic3RhdHVzIiwiZmlyc3ROYW1lIiwiZmlyc3RfbmFtZSIsImxhc3ROYW1lIiwibGFzdF9uYW1lIiwiaW1hZ2VVcmwiLCJpbWFnZV91cmwiLCJsYXN0U3luY2VkQXQiLCJEYXRlIiwiY2xlcmtQdWJsaWNNZXRhZGF0YSIsInB1YmxpY19tZXRhZGF0YSIsImNyZWF0ZU1hcHBpbmdXaXRoUmVxdWlyZWRDbGVya0ZpZWxkcyIsIm1hcHBpbmdGdW5jdGlvbiIsIm1hcHBlZERhdGEiLCJnZXRQcmltYXJ5RW1haWwiLCJwcmltYXJ5RW1haWwiLCJlbWFpbEFkZHJlc3NlcyIsImZpbmQiLCJwcmltYXJ5RW1haWxBZGRyZXNzSWQiLCJlbWFpbEFkZHJlc3MiLCJwcmltYXJ5X2VtYWlsX2FkZHJlc3NfaWQiLCJlbWFpbF9hZGRyZXNzIiwiZm9ybWF0RnVsbE5hbWUiLCJ1bmRlZmluZWQiLCJ0cmltIl0sIm1hcHBpbmdzIjoiQUFHQTs7Q0FFQyxHQUNELE9BQU8sTUFBTUEsc0JBQXFELENBQUNDO0lBQ2pFLE9BQU87UUFDTEMsU0FBU0QsVUFBVUUsRUFBRTtRQUNyQkMsT0FBT0Msd0JBQXdCSjtRQUMvQkssZUFBZUwsVUFBVU0sZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFFQyxjQUFjQyxXQUFXO1FBQ3hFQyxXQUFXVCxVQUFVVSxVQUFVO1FBQy9CQyxVQUFVWCxVQUFVWSxTQUFTO1FBQzdCQyxVQUFVYixVQUFVYyxTQUFTO1FBQzdCQyxjQUFjLElBQUlDO1FBQ2xCQyxxQkFBcUJqQixXQUFXa0IsbUJBQW1CLENBQUM7SUFDdEQ7QUFDRixFQUFDO0FBRUQ7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyx1Q0FBdUMsQ0FBQ0M7SUFDbkQsT0FBTyxDQUFDcEI7UUFDTixNQUFNcUIsYUFBYUQsZ0JBQWdCcEI7UUFFbkMsT0FBTztZQUNMLEdBQUdxQixVQUFVO1lBQ2JwQixTQUFTRCxVQUFVRSxFQUFFO1lBQ3JCQyxPQUFPa0IsV0FBV2xCLEtBQUssSUFBSUMsd0JBQXdCSjtRQUNyRDtJQUNGO0FBQ0YsRUFBQztBQUVEOztDQUVDLEdBQ0QsT0FBTyxTQUFTc0IsZ0JBQWdCdEIsU0FBZTtJQUM3QyxNQUFNdUIsZUFBZXZCLFVBQVV3QixjQUFjLEVBQUVDLEtBQUssQ0FBQ3RCLFFBQVVBLE1BQU1ELEVBQUUsS0FBS0YsVUFBVTBCLHFCQUFxQjtJQUUzRyxPQUFPSCxjQUFjSSxnQkFBZ0IzQixVQUFVd0IsY0FBYyxFQUFFLENBQUMsRUFBRSxFQUFFRztBQUN0RTtBQUVBLE9BQU8sU0FBU3ZCLHdCQUF3QkosU0FBbUI7SUFDekQsTUFBTXVCLGVBQWV2QixVQUFVTSxlQUFlLEVBQUVtQixLQUFLLENBQUN0QixRQUFVQSxNQUFNRCxFQUFFLEtBQUtGLFVBQVU0Qix3QkFBd0I7SUFFL0csT0FBT0wsY0FBY00saUJBQWlCN0IsVUFBVU0sZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFFdUI7QUFDeEU7QUFFQTs7Q0FFQyxHQUNELE9BQU8sU0FBU0MsZUFBZXJCLFNBQWtCLEVBQUVFLFFBQWlCO0lBQ2xFLElBQUksQ0FBQ0YsYUFBYSxDQUFDRSxVQUFVLE9BQU9vQjtJQUNwQyxPQUFPLEdBQUd0QixhQUFhLEdBQUcsQ0FBQyxFQUFFRSxZQUFZLElBQUksQ0FBQ3FCLElBQUk7QUFDcEQifQ==
@@ -1,4 +0,0 @@
1
- export * from './clerk-user';
2
- export * from './svix';
3
- export * from './user';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clerk/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from "./clerk-user";
2
- export * from "./svix";
3
- export * from "./user";
4
-
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGVyay91dGlscy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsZXJrLXVzZXInXG5leHBvcnQgKiBmcm9tICcuL3N2aXgnXG5leHBvcnQgKiBmcm9tICcuL3VzZXInXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFjO0FBQzVCLGNBQWMsU0FBUTtBQUN0QixjQUFjLFNBQVEifQ==
@@ -1,8 +0,0 @@
1
- import type { Clerk } from '@clerk/clerk-js';
2
- declare global {
3
- interface Window {
4
- clerkInstance?: Clerk;
5
- }
6
- }
7
- export declare function loadClerkInstance(): Promise<Clerk | undefined>;
8
- //# sourceMappingURL=load-clerk-instance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-clerk-instance.d.ts","sourceRoot":"","sources":["../../../src/clerk/utils/load-clerk-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,aAAa,CAAC,EAAE,KAAK,CAAA;KACtB;CACF;AAED,wBAAsB,iBAAiB,+BAQtC"}
@@ -1,11 +0,0 @@
1
- export async function loadClerkInstance() {
2
- if (typeof window === 'undefined') return;
3
- if (window.clerkInstance) return window.clerkInstance;
4
- const { Clerk } = await import("@clerk/clerk-js");
5
- const clerkInstance = new Clerk(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY);
6
- clerkInstance.load();
7
- window.clerkInstance = clerkInstance;
8
- return clerkInstance;
9
- }
10
-
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGVyay91dGlscy9sb2FkLWNsZXJrLWluc3RhbmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2xlcmsgfSBmcm9tICdAY2xlcmsvY2xlcmstanMnXG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgY2xlcmtJbnN0YW5jZT86IENsZXJrXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRDbGVya0luc3RhbmNlKCkge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVyblxuICBpZiAod2luZG93LmNsZXJrSW5zdGFuY2UpIHJldHVybiB3aW5kb3cuY2xlcmtJbnN0YW5jZVxuICBjb25zdCB7IENsZXJrIH0gPSBhd2FpdCBpbXBvcnQoJ0BjbGVyay9jbGVyay1qcycpXG4gIGNvbnN0IGNsZXJrSW5zdGFuY2UgPSBuZXcgQ2xlcmsocHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQ0xFUktfUFVCTElTSEFCTEVfS0VZISlcbiAgY2xlcmtJbnN0YW5jZS5sb2FkKClcbiAgd2luZG93LmNsZXJrSW5zdGFuY2UgPSBjbGVya0luc3RhbmNlXG4gIHJldHVybiBjbGVya0luc3RhbmNlXG59XG4iXSwibmFtZXMiOlsibG9hZENsZXJrSW5zdGFuY2UiLCJ3aW5kb3ciLCJjbGVya0luc3RhbmNlIiwiQ2xlcmsiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfQ0xFUktfUFVCTElTSEFCTEVfS0VZIiwibG9hZCJdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxlQUFlQTtJQUNwQixJQUFJLE9BQU9DLFdBQVcsYUFBYTtJQUNuQyxJQUFJQSxPQUFPQyxhQUFhLEVBQUUsT0FBT0QsT0FBT0MsYUFBYTtJQUNyRCxNQUFNLEVBQUVDLEtBQUssRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDO0lBQy9CLE1BQU1ELGdCQUFnQixJQUFJQyxNQUFNQyxRQUFRQyxHQUFHLENBQUNDLGlDQUFpQztJQUM3RUosY0FBY0ssSUFBSTtJQUNsQk4sT0FBT0MsYUFBYSxHQUFHQTtJQUN2QixPQUFPQTtBQUNUIn0=
@@ -1,9 +0,0 @@
1
- import type { PayloadRequest } from 'payload';
2
- /**
3
- * Validates a webhook request using Svix
4
- */
5
- export declare function validateWebhook({ request, secret }: {
6
- request: PayloadRequest;
7
- secret?: string;
8
- }): Promise<boolean>;
9
- //# sourceMappingURL=svix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"svix.d.ts","sourceRoot":"","sources":["../../../src/clerk/utils/svix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C;;GAEG;AACH,wBAAsB,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CzH"}
@@ -1,40 +0,0 @@
1
- import { Webhook } from "svix";
2
- /**
3
- * Validates a webhook request using Svix
4
- */ export async function validateWebhook({ request, secret }) {
5
- // Verify we have the needed methods on the request
6
- if (!request.clone || typeof request.clone !== 'function') {
7
- console.error('Svix validation error: request.clone method not available');
8
- return false;
9
- }
10
- const webhookSecret = secret || process.env.CLERK_WEBHOOK_SECRET || process.env.SVIX_WEBHOOK_SECRET;
11
- if (!webhookSecret) {
12
- console.warn('Clerk webhook called without Svix validation - not recommended for production');
13
- return process.env.NODE_ENV !== 'production';
14
- }
15
- try {
16
- const headers = request.headers;
17
- const svixId = headers.get('svix-id');
18
- const svixTimestamp = headers.get('svix-timestamp');
19
- const svixSignature = headers.get('svix-signature');
20
- if (!svixId || !svixTimestamp || !svixSignature) {
21
- return false;
22
- }
23
- const webhook = new Webhook(webhookSecret);
24
- const svixHeaders = {
25
- 'svix-id': svixId,
26
- 'svix-timestamp': svixTimestamp,
27
- 'svix-signature': svixSignature
28
- };
29
- // Clone the request to avoid consuming the body
30
- const clonedRequest = request.clone();
31
- const body = await clonedRequest.text();
32
- await webhook.verify(body, svixHeaders);
33
- return true;
34
- } catch (error) {
35
- console.error('Svix webhook verification failed:', error);
36
- return false;
37
- }
38
- }
39
-
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGVyay91dGlscy9zdml4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgV2ViaG9vayB9IGZyb20gJ3N2aXgnXG5cbi8qKlxuICogVmFsaWRhdGVzIGEgd2ViaG9vayByZXF1ZXN0IHVzaW5nIFN2aXhcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlV2ViaG9vayh7IHJlcXVlc3QsIHNlY3JldCB9OiB7IHJlcXVlc3Q6IFBheWxvYWRSZXF1ZXN0OyBzZWNyZXQ/OiBzdHJpbmcgfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAvLyBWZXJpZnkgd2UgaGF2ZSB0aGUgbmVlZGVkIG1ldGhvZHMgb24gdGhlIHJlcXVlc3RcbiAgaWYgKCFyZXF1ZXN0LmNsb25lIHx8IHR5cGVvZiByZXF1ZXN0LmNsb25lICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgY29uc29sZS5lcnJvcignU3ZpeCB2YWxpZGF0aW9uIGVycm9yOiByZXF1ZXN0LmNsb25lIG1ldGhvZCBub3QgYXZhaWxhYmxlJylcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNvbnN0IHdlYmhvb2tTZWNyZXQgPSBzZWNyZXQgfHwgcHJvY2Vzcy5lbnYuQ0xFUktfV0VCSE9PS19TRUNSRVQgfHwgcHJvY2Vzcy5lbnYuU1ZJWF9XRUJIT09LX1NFQ1JFVFxuXG4gIGlmICghd2ViaG9va1NlY3JldCkge1xuICAgIGNvbnNvbGUud2FybignQ2xlcmsgd2ViaG9vayBjYWxsZWQgd2l0aG91dCBTdml4IHZhbGlkYXRpb24gLSBub3QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24nKVxuICAgIHJldHVybiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nXG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSByZXF1ZXN0LmhlYWRlcnNcblxuICAgIGNvbnN0IHN2aXhJZCA9IGhlYWRlcnMuZ2V0KCdzdml4LWlkJylcbiAgICBjb25zdCBzdml4VGltZXN0YW1wID0gaGVhZGVycy5nZXQoJ3N2aXgtdGltZXN0YW1wJylcbiAgICBjb25zdCBzdml4U2lnbmF0dXJlID0gaGVhZGVycy5nZXQoJ3N2aXgtc2lnbmF0dXJlJylcblxuICAgIGlmICghc3ZpeElkIHx8ICFzdml4VGltZXN0YW1wIHx8ICFzdml4U2lnbmF0dXJlKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCB3ZWJob29rID0gbmV3IFdlYmhvb2sod2ViaG9va1NlY3JldClcblxuICAgIGNvbnN0IHN2aXhIZWFkZXJzID0ge1xuICAgICAgJ3N2aXgtaWQnOiBzdml4SWQsXG4gICAgICAnc3ZpeC10aW1lc3RhbXAnOiBzdml4VGltZXN0YW1wLFxuICAgICAgJ3N2aXgtc2lnbmF0dXJlJzogc3ZpeFNpZ25hdHVyZVxuICAgIH1cblxuICAgIC8vIENsb25lIHRoZSByZXF1ZXN0IHRvIGF2b2lkIGNvbnN1bWluZyB0aGUgYm9keVxuICAgIGNvbnN0IGNsb25lZFJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKClcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgY2xvbmVkUmVxdWVzdC50ZXh0KClcblxuICAgIGF3YWl0IHdlYmhvb2sudmVyaWZ5KGJvZHksIHN2aXhIZWFkZXJzKVxuICAgIHJldHVybiB0cnVlXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignU3ZpeCB3ZWJob29rIHZlcmlmaWNhdGlvbiBmYWlsZWQ6JywgZXJyb3IpXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJXZWJob29rIiwidmFsaWRhdGVXZWJob29rIiwicmVxdWVzdCIsInNlY3JldCIsImNsb25lIiwiY29uc29sZSIsImVycm9yIiwid2ViaG9va1NlY3JldCIsInByb2Nlc3MiLCJlbnYiLCJDTEVSS19XRUJIT09LX1NFQ1JFVCIsIlNWSVhfV0VCSE9PS19TRUNSRVQiLCJ3YXJuIiwiTk9ERV9FTlYiLCJoZWFkZXJzIiwic3ZpeElkIiwiZ2V0Iiwic3ZpeFRpbWVzdGFtcCIsInN2aXhTaWduYXR1cmUiLCJ3ZWJob29rIiwic3ZpeEhlYWRlcnMiLCJjbG9uZWRSZXF1ZXN0IiwiYm9keSIsInRleHQiLCJ2ZXJpZnkiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLE9BQU8sUUFBUSxPQUFNO0FBRTlCOztDQUVDLEdBQ0QsT0FBTyxlQUFlQyxnQkFBZ0IsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQWdEO0lBQ3JHLG1EQUFtRDtJQUNuRCxJQUFJLENBQUNELFFBQVFFLEtBQUssSUFBSSxPQUFPRixRQUFRRSxLQUFLLEtBQUssWUFBWTtRQUN6REMsUUFBUUMsS0FBSyxDQUFDO1FBQ2QsT0FBTztJQUNUO0lBRUEsTUFBTUMsZ0JBQWdCSixVQUFVSyxRQUFRQyxHQUFHLENBQUNDLG9CQUFvQixJQUFJRixRQUFRQyxHQUFHLENBQUNFLG1CQUFtQjtJQUVuRyxJQUFJLENBQUNKLGVBQWU7UUFDbEJGLFFBQVFPLElBQUksQ0FBQztRQUNiLE9BQU9KLFFBQVFDLEdBQUcsQ0FBQ0ksUUFBUSxLQUFLO0lBQ2xDO0lBRUEsSUFBSTtRQUNGLE1BQU1DLFVBQVVaLFFBQVFZLE9BQU87UUFFL0IsTUFBTUMsU0FBU0QsUUFBUUUsR0FBRyxDQUFDO1FBQzNCLE1BQU1DLGdCQUFnQkgsUUFBUUUsR0FBRyxDQUFDO1FBQ2xDLE1BQU1FLGdCQUFnQkosUUFBUUUsR0FBRyxDQUFDO1FBRWxDLElBQUksQ0FBQ0QsVUFBVSxDQUFDRSxpQkFBaUIsQ0FBQ0MsZUFBZTtZQUMvQyxPQUFPO1FBQ1Q7UUFFQSxNQUFNQyxVQUFVLElBQUluQixRQUFRTztRQUU1QixNQUFNYSxjQUFjO1lBQ2xCLFdBQVdMO1lBQ1gsa0JBQWtCRTtZQUNsQixrQkFBa0JDO1FBQ3BCO1FBRUEsZ0RBQWdEO1FBQ2hELE1BQU1HLGdCQUFnQm5CLFFBQVFFLEtBQUs7UUFDbkMsTUFBTWtCLE9BQU8sTUFBTUQsY0FBY0UsSUFBSTtRQUVyQyxNQUFNSixRQUFRSyxNQUFNLENBQUNGLE1BQU1GO1FBQzNCLE9BQU87SUFDVCxFQUFFLE9BQU9kLE9BQU87UUFDZEQsUUFBUUMsS0FBSyxDQUFDLHFDQUFxQ0E7UUFDbkQsT0FBTztJQUNUO0FBQ0YifQ==
@@ -1,17 +0,0 @@
1
- /**
2
- * User-related utility functions for the Clerk plugin
3
- */
4
- /**
5
- * Find a user in Payload by their Clerk ID or primary email
6
- */
7
- export declare function findUserFromClerkUser({ payload, userSlug, clerkUser }: {
8
- payload: any;
9
- userSlug: string;
10
- clerkUser: any;
11
- }): Promise<any>;
12
- /**
13
- * Get a user by their Clerk ID
14
- * Returns the first user found or null if not found
15
- */
16
- export declare function getUserByClerkId(payload: any, userSlug: string, clerkId: string): Promise<any>;
17
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/clerk/utils/user.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAA;CAAE,gBAwB/H;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAcrF"}
@@ -1,46 +0,0 @@
1
- /**
2
- * User-related utility functions for the Clerk plugin
3
- */ /**
4
- * Find a user in Payload by their Clerk ID or primary email
5
- */ export async function findUserFromClerkUser({ payload, userSlug, clerkUser }) {
6
- const primaryEmailObj = clerkUser.email_addresses?.find((email)=>email.id === clerkUser.primary_email_address_id);
7
- const primaryEmail = primaryEmailObj?.email_address;
8
- return payload.find({
9
- collection: userSlug,
10
- where: {
11
- or: [
12
- {
13
- clerkId: {
14
- equals: clerkUser.id
15
- }
16
- },
17
- primaryEmail ? {
18
- email: {
19
- equals: primaryEmail
20
- }
21
- } : undefined
22
- ].filter(Boolean)
23
- }
24
- });
25
- }
26
- /**
27
- * Get a user by their Clerk ID
28
- * Returns the first user found or null if not found
29
- */ export async function getUserByClerkId(payload, userSlug, clerkId) {
30
- if (!clerkId) return null;
31
- try {
32
- const result = await findUserFromClerkUser({
33
- payload,
34
- userSlug,
35
- clerkUser: {
36
- id: clerkId
37
- }
38
- });
39
- return result.docs.length > 0 ? result.docs[0] : null;
40
- } catch (error) {
41
- console.error('Error finding user by Clerk ID:', error);
42
- return null;
43
- }
44
- }
45
-
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGVyay91dGlscy91c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlci1yZWxhdGVkIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB0aGUgQ2xlcmsgcGx1Z2luXG4gKi9cblxuLyoqXG4gKiBGaW5kIGEgdXNlciBpbiBQYXlsb2FkIGJ5IHRoZWlyIENsZXJrIElEIG9yIHByaW1hcnkgZW1haWxcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbmRVc2VyRnJvbUNsZXJrVXNlcih7IHBheWxvYWQsIHVzZXJTbHVnLCBjbGVya1VzZXIgfTogeyBwYXlsb2FkOiBhbnk7IHVzZXJTbHVnOiBzdHJpbmc7IGNsZXJrVXNlcjogYW55IH0pIHtcbiAgY29uc3QgcHJpbWFyeUVtYWlsT2JqID0gY2xlcmtVc2VyLmVtYWlsX2FkZHJlc3Nlcz8uZmluZCgoZW1haWw6IGFueSkgPT4gZW1haWwuaWQgPT09IGNsZXJrVXNlci5wcmltYXJ5X2VtYWlsX2FkZHJlc3NfaWQpXG5cbiAgY29uc3QgcHJpbWFyeUVtYWlsID0gcHJpbWFyeUVtYWlsT2JqPy5lbWFpbF9hZGRyZXNzXG5cbiAgcmV0dXJuIHBheWxvYWQuZmluZCh7XG4gICAgY29sbGVjdGlvbjogdXNlclNsdWcsXG4gICAgd2hlcmU6IHtcbiAgICAgIG9yOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjbGVya0lkOiB7XG4gICAgICAgICAgICBlcXVhbHM6IGNsZXJrVXNlci5pZFxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcHJpbWFyeUVtYWlsXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGVtYWlsOiB7XG4gICAgICAgICAgICAgICAgZXF1YWxzOiBwcmltYXJ5RW1haWxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICBdLmZpbHRlcihCb29sZWFuKVxuICAgIH1cbiAgfSlcbn1cblxuLyoqXG4gKiBHZXQgYSB1c2VyIGJ5IHRoZWlyIENsZXJrIElEXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCB1c2VyIGZvdW5kIG9yIG51bGwgaWYgbm90IGZvdW5kXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRVc2VyQnlDbGVya0lkKHBheWxvYWQ6IGFueSwgdXNlclNsdWc6IHN0cmluZywgY2xlcmtJZDogc3RyaW5nKSB7XG4gIGlmICghY2xlcmtJZCkgcmV0dXJuIG51bGxcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpbmRVc2VyRnJvbUNsZXJrVXNlcih7XG4gICAgICBwYXlsb2FkLFxuICAgICAgdXNlclNsdWcsXG4gICAgICBjbGVya1VzZXI6IHsgaWQ6IGNsZXJrSWQgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdC5kb2NzLmxlbmd0aCA+IDAgPyByZXN1bHQuZG9jc1swXSA6IG51bGxcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmaW5kaW5nIHVzZXIgYnkgQ2xlcmsgSUQ6JywgZXJyb3IpXG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZpbmRVc2VyRnJvbUNsZXJrVXNlciIsInBheWxvYWQiLCJ1c2VyU2x1ZyIsImNsZXJrVXNlciIsInByaW1hcnlFbWFpbE9iaiIsImVtYWlsX2FkZHJlc3NlcyIsImZpbmQiLCJlbWFpbCIsImlkIiwicHJpbWFyeV9lbWFpbF9hZGRyZXNzX2lkIiwicHJpbWFyeUVtYWlsIiwiZW1haWxfYWRkcmVzcyIsImNvbGxlY3Rpb24iLCJ3aGVyZSIsIm9yIiwiY2xlcmtJZCIsImVxdWFscyIsInVuZGVmaW5lZCIsImZpbHRlciIsIkJvb2xlYW4iLCJnZXRVc2VyQnlDbGVya0lkIiwicmVzdWx0IiwiZG9jcyIsImxlbmd0aCIsImVycm9yIiwiY29uc29sZSJdLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUMsR0FFRDs7Q0FFQyxHQUNELE9BQU8sZUFBZUEsc0JBQXNCLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQXNEO0lBQzlILE1BQU1DLGtCQUFrQkQsVUFBVUUsZUFBZSxFQUFFQyxLQUFLLENBQUNDLFFBQWVBLE1BQU1DLEVBQUUsS0FBS0wsVUFBVU0sd0JBQXdCO0lBRXZILE1BQU1DLGVBQWVOLGlCQUFpQk87SUFFdEMsT0FBT1YsUUFBUUssSUFBSSxDQUFDO1FBQ2xCTSxZQUFZVjtRQUNaVyxPQUFPO1lBQ0xDLElBQUk7Z0JBQ0Y7b0JBQ0VDLFNBQVM7d0JBQ1BDLFFBQVFiLFVBQVVLLEVBQUU7b0JBQ3RCO2dCQUNGO2dCQUNBRSxlQUNJO29CQUNFSCxPQUFPO3dCQUNMUyxRQUFRTjtvQkFDVjtnQkFDRixJQUNBTzthQUNMLENBQUNDLE1BQU0sQ0FBQ0M7UUFDWDtJQUNGO0FBQ0Y7QUFFQTs7O0NBR0MsR0FDRCxPQUFPLGVBQWVDLGlCQUFpQm5CLE9BQVksRUFBRUMsUUFBZ0IsRUFBRWEsT0FBZTtJQUNwRixJQUFJLENBQUNBLFNBQVMsT0FBTztJQUVyQixJQUFJO1FBQ0YsTUFBTU0sU0FBUyxNQUFNckIsc0JBQXNCO1lBQ3pDQztZQUNBQztZQUNBQyxXQUFXO2dCQUFFSyxJQUFJTztZQUFRO1FBQzNCO1FBQ0EsT0FBT00sT0FBT0MsSUFBSSxDQUFDQyxNQUFNLEdBQUcsSUFBSUYsT0FBT0MsSUFBSSxDQUFDLEVBQUUsR0FBRztJQUNuRCxFQUFFLE9BQU9FLE9BQU87UUFDZEMsUUFBUUQsS0FBSyxDQUFDLG1DQUFtQ0E7UUFDakQsT0FBTztJQUNUO0FBQ0YifQ==
@@ -1,2 +0,0 @@
1
- export declare const kinde = "kinde";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kinde/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAA"}
@@ -1,3 +0,0 @@
1
- export const kinde = 'kinde';
2
-
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9raW5kZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qga2luZGUgPSAna2luZGUnXG4iXSwibmFtZXMiOlsia2luZGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTUEsUUFBUSxRQUFPIn0=