payload-auth 1.0.1 → 1.0.2
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.
- package/dist/authjs/index.d.ts +1 -0
- package/dist/authjs/index.d.ts.map +1 -0
- package/dist/authjs/index.js +1 -1
- package/dist/better-auth/adapter/dev/bin/run.d.ts +1 -0
- package/dist/better-auth/adapter/dev/bin/run.d.ts.map +1 -0
- package/dist/better-auth/adapter/dev/bin/run.js +1 -1
- package/dist/better-auth/adapter/dev/bin/schema.d.ts +1 -0
- package/dist/better-auth/adapter/dev/bin/schema.d.ts.map +1 -0
- package/dist/better-auth/adapter/dev/bin/schema.js +1 -1
- package/dist/better-auth/adapter/dev/collections.d.ts +1 -0
- package/dist/better-auth/adapter/dev/collections.d.ts.map +1 -0
- package/dist/better-auth/adapter/dev/collections.js +1 -1
- package/dist/better-auth/adapter/dev/index.d.ts +1 -0
- package/dist/better-auth/adapter/dev/index.d.ts.map +1 -0
- package/dist/better-auth/adapter/dev/index.js +1 -1
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -0
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +1 -1
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +1 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +1 -1
- package/dist/better-auth/adapter/generate-schema/index.d.ts +1 -0
- package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/index.js +3 -3
- package/dist/better-auth/adapter/generate-schema/utils.d.ts +1 -0
- package/dist/better-auth/adapter/generate-schema/utils.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/utils.js +1 -1
- package/dist/better-auth/adapter/index.d.ts +1 -0
- package/dist/better-auth/adapter/index.d.ts.map +1 -0
- package/dist/better-auth/adapter/index.js +1 -1
- package/dist/better-auth/adapter/test/adapter.test.d.ts +1 -0
- package/dist/better-auth/adapter/test/adapter.test.d.ts.map +1 -0
- package/dist/better-auth/adapter/test/adapter.test.js +1 -1
- package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +1 -0
- package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts.map +1 -0
- package/dist/better-auth/adapter/test/better-auth-adapter-test.js +1 -1
- package/dist/better-auth/adapter/test/schema.test.d.ts +1 -0
- package/dist/better-auth/adapter/test/schema.test.d.ts.map +1 -0
- package/dist/better-auth/adapter/test/schema.test.js +1 -1
- package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +1 -0
- package/dist/better-auth/adapter/test/test_payload1/schema.d.ts.map +1 -0
- package/dist/better-auth/adapter/test/test_payload1/schema.js +1 -1
- package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +1 -0
- package/dist/better-auth/adapter/test/test_payload2/schema.d.ts.map +1 -0
- package/dist/better-auth/adapter/test/test_payload2/schema.js +1 -1
- package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +1 -0
- package/dist/better-auth/adapter/test/test_payload3/schema.d.ts.map +1 -0
- package/dist/better-auth/adapter/test/test_payload3/schema.js +1 -1
- package/dist/better-auth/adapter/transform/index.d.ts +5 -4
- package/dist/better-auth/adapter/transform/index.d.ts.map +1 -0
- package/dist/better-auth/adapter/transform/index.js +1 -1
- package/dist/better-auth/adapter/types.d.ts +1 -0
- package/dist/better-auth/adapter/types.d.ts.map +1 -0
- package/dist/better-auth/adapter/types.js +1 -1
- package/dist/better-auth/index.d.ts +1 -0
- package/dist/better-auth/index.d.ts.map +1 -0
- package/dist/better-auth/index.js +1 -1
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts +1 -0
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +1 -1
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +1 -0
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +1 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/after-login.js +1 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +1 -1
- package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/before-login.js +1 -1
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +1 -1
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +1 -1
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts.map +1 -0
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +2 -2
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +1 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -0
- package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-ip.js +1 -1
- package/dist/better-auth/plugin/helpers/index.d.ts +1 -0
- package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/index.js +1 -1
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +3 -2
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/serialize-cookie.js +1 -1
- package/dist/better-auth/plugin/index.d.ts +1 -0
- package/dist/better-auth/plugin/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/index.js +1 -1
- package/dist/better-auth/plugin/lib/auth-strategy.d.ts +1 -0
- package/dist/better-auth/plugin/lib/auth-strategy.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/auth-strategy.js +1 -1
- package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +1 -0
- package/dist/better-auth/plugin/lib/build-collection-configs.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collection-configs.js +1 -1
- package/dist/better-auth/plugin/lib/config.d.ts +2 -0
- package/dist/better-auth/plugin/lib/config.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/config.js +3 -2
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts +1 -0
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +1 -1
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +1 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.js +1 -1
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +1 -0
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +1 -0
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/init-better-auth.js +2 -2
- package/dist/better-auth/plugin/lib/password.d.ts +1 -0
- package/dist/better-auth/plugin/lib/password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/password.js +1 -1
- package/dist/better-auth/plugin/lib/payload-access.d.ts +1 -0
- package/dist/better-auth/plugin/lib/payload-access.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/payload-access.js +1 -1
- package/dist/better-auth/plugin/lib/prepare-session-data.d.ts +2 -1
- package/dist/better-auth/plugin/lib/prepare-session-data.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/prepare-session-data.js +1 -1
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts +1 -0
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +1 -0
- package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-auth-options.js +1 -1
- package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +3 -1
- package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons.js +3 -6
- package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +1 -0
- package/dist/better-auth/plugin/payload/components/login-redirect.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/login-redirect.js +1 -1
- package/dist/better-auth/plugin/payload/components/logo.d.ts +3 -1
- package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/logo.js +1 -1
- package/dist/better-auth/plugin/payload/components/logout.d.ts +3 -1
- package/dist/better-auth/plugin/payload/components/logout.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/logout.js +1 -1
- package/dist/better-auth/plugin/payload/components/sign-in.d.ts +2 -1
- package/dist/better-auth/plugin/payload/components/sign-in.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/sign-in.js +1 -1
- package/dist/better-auth/plugin/payload/components/sign-up.d.ts +2 -1
- package/dist/better-auth/plugin/payload/components/sign-up.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/sign-up.js +2 -1
- package/dist/better-auth/plugin/payload/components/ui/button.d.ts +6 -5
- package/dist/better-auth/plugin/payload/components/ui/button.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/ui/button.js +1 -1
- package/dist/better-auth/plugin/payload/components/ui/card.d.ts +8 -7
- package/dist/better-auth/plugin/payload/components/ui/card.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/ui/card.js +1 -1
- package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +2 -1
- package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/ui/checkbox.js +1 -1
- package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +1 -0
- package/dist/better-auth/plugin/payload/components/ui/cn.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/ui/cn.js +1 -1
- package/dist/better-auth/plugin/payload/components/ui/input.d.ts +2 -1
- package/dist/better-auth/plugin/payload/components/ui/input.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/ui/input.js +1 -1
- package/dist/better-auth/plugin/payload/components/ui/label.d.ts +2 -1
- package/dist/better-auth/plugin/payload/components/ui/label.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/ui/label.js +1 -1
- package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +2 -1
- package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/ui/password-input.js +1 -1
- package/dist/better-auth/plugin/payload/exports/client.d.ts +1 -0
- package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/exports/client.js +1 -1
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts +1 -0
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/exports/rsc.js +1 -1
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +3 -1
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +1 -1
- package/dist/better-auth/plugin/payload/views/login/index.d.ts +3 -1
- package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/index.js +1 -1
- package/dist/better-auth/plugin/types.d.ts +1 -0
- package/dist/better-auth/plugin/types.d.ts.map +1 -0
- package/dist/better-auth/plugin/types.js +1 -1
- package/dist/better-auth/types.d.ts +1 -0
- package/dist/better-auth/types.d.ts.map +1 -0
- package/dist/better-auth/types.js +1 -1
- package/dist/clerk/admin-ui.d.ts +4 -0
- package/dist/clerk/admin-ui.d.ts.map +1 -0
- package/dist/clerk/admin-ui.js +5 -0
- package/dist/clerk/index.d.ts +7 -1
- package/dist/clerk/index.d.ts.map +1 -0
- package/dist/clerk/index.js +7 -2
- package/dist/clerk/plugin/auth-strategy.d.ts +11 -0
- package/dist/clerk/plugin/auth-strategy.d.ts.map +1 -0
- package/dist/clerk/plugin/auth-strategy.js +45 -0
- package/dist/clerk/plugin/collections/users/access.d.ts +14 -0
- package/dist/clerk/plugin/collections/users/access.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/access.js +36 -0
- package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts +14 -0
- package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.js +108 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts +4 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.js +5 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts +13 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.js +33 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts +11 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.js +27 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts +13 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.js +35 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts +12 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/endpoints/webhook/index.js +86 -0
- package/dist/clerk/plugin/collections/users/fields.d.ts +6 -0
- package/dist/clerk/plugin/collections/users/fields.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/fields.js +81 -0
- package/dist/clerk/plugin/collections/users/index.d.ts +10 -0
- package/dist/clerk/plugin/collections/users/index.d.ts.map +1 -0
- package/dist/clerk/plugin/collections/users/index.js +95 -0
- package/dist/clerk/plugin/components/after-login-form.d.ts +4 -0
- package/dist/clerk/plugin/components/after-login-form.d.ts.map +1 -0
- package/dist/clerk/plugin/components/after-login-form.js +65 -0
- package/dist/clerk/plugin/components/logout-button.d.ts +2 -0
- package/dist/clerk/plugin/components/logout-button.d.ts.map +1 -0
- package/dist/clerk/plugin/components/logout-button.js +49 -0
- package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +6 -0
- package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -0
- package/dist/clerk/plugin/components/sync-clerk-users-button.js +75 -0
- package/dist/clerk/plugin.d.ts +6 -0
- package/dist/clerk/plugin.d.ts.map +1 -0
- package/dist/clerk/plugin.js +63 -0
- package/dist/clerk/types.d.ts +63 -0
- package/dist/clerk/types.d.ts.map +1 -0
- package/dist/clerk/types.js +3 -0
- package/dist/clerk/utils/clerk-user.d.ts +24 -0
- package/dist/clerk/utils/clerk-user.d.ts.map +1 -0
- package/dist/clerk/utils/clerk-user.js +47 -0
- package/dist/clerk/utils/index.d.ts +4 -0
- package/dist/clerk/utils/index.d.ts.map +1 -0
- package/dist/clerk/utils/index.js +5 -0
- package/dist/clerk/utils/load-clerk-instance.d.ts +8 -0
- package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -0
- package/dist/clerk/utils/load-clerk-instance.js +11 -0
- package/dist/clerk/utils/svix.d.ts +9 -0
- package/dist/clerk/utils/svix.d.ts.map +1 -0
- package/dist/clerk/utils/svix.js +40 -0
- package/dist/clerk/utils/user.d.ts +17 -0
- package/dist/clerk/utils/user.d.ts.map +1 -0
- package/dist/clerk/utils/user.js +46 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -5
- package/dist/kinde/index.d.ts +1 -0
- package/dist/kinde/index.d.ts.map +1 -0
- package/dist/kinde/index.js +1 -1
- package/package.json +38 -12
- package/dist/authjs/index.js.map +0 -1
- package/dist/better-auth/adapter/dev/bin/run.js.map +0 -1
- package/dist/better-auth/adapter/dev/bin/schema.js.map +0 -1
- package/dist/better-auth/adapter/dev/collections.js.map +0 -1
- package/dist/better-auth/adapter/dev/index.js.map +0 -1
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js.map +0 -1
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.js.map +0 -1
- package/dist/better-auth/adapter/generate-schema/index.js.map +0 -1
- package/dist/better-auth/adapter/generate-schema/utils.js.map +0 -1
- package/dist/better-auth/adapter/index.js.map +0 -1
- package/dist/better-auth/adapter/test/adapter.test.js.map +0 -1
- package/dist/better-auth/adapter/test/better-auth-adapter-test.js.map +0 -1
- package/dist/better-auth/adapter/test/schema.test.js.map +0 -1
- package/dist/better-auth/adapter/test/test_payload1/schema.js.map +0 -1
- package/dist/better-auth/adapter/test/test_payload2/schema.js.map +0 -1
- package/dist/better-auth/adapter/test/test_payload3/schema.js.map +0 -1
- package/dist/better-auth/adapter/transform/index.js.map +0 -1
- package/dist/better-auth/adapter/types.js.map +0 -1
- package/dist/better-auth/index.js.map +0 -1
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js.map +0 -1
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-login.js.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.js.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/before-login.js.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.js.map +0 -1
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js.map +0 -1
- package/dist/better-auth/plugin/helpers/get-ip.js.map +0 -1
- package/dist/better-auth/plugin/helpers/index.js.map +0 -1
- package/dist/better-auth/plugin/helpers/serialize-cookie.js.map +0 -1
- package/dist/better-auth/plugin/index.js.map +0 -1
- package/dist/better-auth/plugin/lib/auth-strategy.js.map +0 -1
- package/dist/better-auth/plugin/lib/build-collection-configs.js.map +0 -1
- package/dist/better-auth/plugin/lib/config.js.map +0 -1
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js.map +0 -1
- package/dist/better-auth/plugin/lib/get-payload-auth.js.map +0 -1
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.js.map +0 -1
- package/dist/better-auth/plugin/lib/init-better-auth.js.map +0 -1
- package/dist/better-auth/plugin/lib/password.js.map +0 -1
- package/dist/better-auth/plugin/lib/payload-access.js.map +0 -1
- package/dist/better-auth/plugin/lib/prepare-session-data.js.map +0 -1
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js.map +0 -1
- package/dist/better-auth/plugin/lib/sanitize-auth-options.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/admin-buttons.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/login-redirect.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/logo.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/logout.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/sign-in.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/sign-up.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/button.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/card.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/checkbox.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/cn.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/input.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/label.js.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/password-input.js.map +0 -1
- package/dist/better-auth/plugin/payload/exports/client.js.map +0 -1
- package/dist/better-auth/plugin/payload/exports/rsc.js.map +0 -1
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.js.map +0 -1
- package/dist/better-auth/plugin/payload/views/login/index.js.map +0 -1
- package/dist/better-auth/plugin/types.js.map +0 -1
- package/dist/better-auth/types.js.map +0 -1
- package/dist/clerk/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/kinde/index.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { UserJSON } from '@clerk/backend';
|
|
2
|
+
import type { BasePayload, User } from 'payload';
|
|
3
|
+
import { ClerkPluginOptions } from '../../../../../../types';
|
|
4
|
+
interface UserCreatedHandlerParams {
|
|
5
|
+
data: any;
|
|
6
|
+
payload: BasePayload;
|
|
7
|
+
userSlug: string;
|
|
8
|
+
mappingFunction: (clerkUser: UserJSON) => Omit<User, 'id'>;
|
|
9
|
+
options: ClerkPluginOptions;
|
|
10
|
+
}
|
|
11
|
+
export declare function handleUserCreated({ data, payload, userSlug, mappingFunction, options }: UserCreatedHandlerParams): Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=userCreated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userCreated.d.ts","sourceRoot":"","sources":["../../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAI5D,UAAU,wBAAwB;IAChC,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1D,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC1C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { findUserFromClerkUser } from '../../../../../../utils/user';
|
|
2
|
+
export async function handleUserCreated({ data, payload, userSlug, mappingFunction, options }) {
|
|
3
|
+
const clerkUser = data;
|
|
4
|
+
try {
|
|
5
|
+
const existingUsers = await findUserFromClerkUser({
|
|
6
|
+
payload,
|
|
7
|
+
userSlug,
|
|
8
|
+
clerkUser
|
|
9
|
+
});
|
|
10
|
+
if (existingUsers.docs.length === 0) {
|
|
11
|
+
let userData = {
|
|
12
|
+
...mappingFunction(clerkUser)
|
|
13
|
+
};
|
|
14
|
+
if (!userData.role) {
|
|
15
|
+
userData.role = 'user';
|
|
16
|
+
}
|
|
17
|
+
if (!userData.password) {
|
|
18
|
+
userData.password = Array(3).fill(0).map(()=>Math.random().toString(36).slice(2)).join('');
|
|
19
|
+
}
|
|
20
|
+
await payload.create({
|
|
21
|
+
collection: userSlug,
|
|
22
|
+
data: userData
|
|
23
|
+
});
|
|
24
|
+
if (options.enableDebugLogs) {
|
|
25
|
+
console.log(`Created new user from Clerk: ${clerkUser.id}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
} catch (error) {
|
|
29
|
+
console.error('Error creating user from Clerk webhook:', error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaGFuZGxlcnMvdXNlckNyZWF0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VySlNPTiB9IGZyb20gJ0BjbGVyay9iYWNrZW5kJ1xuaW1wb3J0IHR5cGUgeyBCYXNlUGF5bG9hZCwgVXNlciB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBDbGVya1BsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IGZpbmRVc2VyRnJvbUNsZXJrVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL3VzZXInXG5cblxuaW50ZXJmYWNlIFVzZXJDcmVhdGVkSGFuZGxlclBhcmFtcyB7XG4gIGRhdGE6IGFueVxuICBwYXlsb2FkOiBCYXNlUGF5bG9hZFxuICB1c2VyU2x1Zzogc3RyaW5nXG4gIG1hcHBpbmdGdW5jdGlvbjogKGNsZXJrVXNlcjogVXNlckpTT04pID0+IE9taXQ8VXNlciwgJ2lkJz5cbiAgb3B0aW9uczogQ2xlcmtQbHVnaW5PcHRpb25zXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVVc2VyQ3JlYXRlZCh7XG4gIGRhdGEsXG4gIHBheWxvYWQsXG4gIHVzZXJTbHVnLFxuICBtYXBwaW5nRnVuY3Rpb24sXG4gIG9wdGlvbnNcbn06IFVzZXJDcmVhdGVkSGFuZGxlclBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBjbGVya1VzZXIgPSBkYXRhIGFzIFVzZXJKU09OXG4gIFxuICB0cnkge1xuICAgIGNvbnN0IGV4aXN0aW5nVXNlcnMgPSBhd2FpdCBmaW5kVXNlckZyb21DbGVya1VzZXIoe1xuICAgICAgcGF5bG9hZCxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgY2xlcmtVc2VyXG4gICAgfSlcbiAgICBcbiAgICBpZiAoZXhpc3RpbmdVc2Vycy5kb2NzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgbGV0IHVzZXJEYXRhID0ge1xuICAgICAgICAuLi5tYXBwaW5nRnVuY3Rpb24oY2xlcmtVc2VyKSxcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKCF1c2VyRGF0YS5yb2xlKSB7XG4gICAgICAgIHVzZXJEYXRhLnJvbGUgPSAndXNlcidcbiAgICAgIH1cblxuICAgICAgaWYoIXVzZXJEYXRhLnBhc3N3b3JkKSB7XG4gICAgICAgIHVzZXJEYXRhLnBhc3N3b3JkID0gQXJyYXkoMylcbiAgICAgICAgICAuZmlsbCgwKVxuICAgICAgICAgIC5tYXAoKCkgPT4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMikpXG4gICAgICAgICAgLmpvaW4oJycpXG4gICAgICB9XG4gICAgICBcbiAgICAgIGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogdXNlclNsdWcsXG4gICAgICAgIGRhdGE6IHVzZXJEYXRhLFxuICAgICAgfSlcbiAgICAgIFxuICAgICAgaWYgKG9wdGlvbnMuZW5hYmxlRGVidWdMb2dzKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBDcmVhdGVkIG5ldyB1c2VyIGZyb20gQ2xlcms6ICR7Y2xlcmtVc2VyLmlkfWApXG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNyZWF0aW5nIHVzZXIgZnJvbSBDbGVyayB3ZWJob29rOicsIGVycm9yKVxuICB9XG59ICJdLCJuYW1lcyI6WyJmaW5kVXNlckZyb21DbGVya1VzZXIiLCJoYW5kbGVVc2VyQ3JlYXRlZCIsImRhdGEiLCJwYXlsb2FkIiwidXNlclNsdWciLCJtYXBwaW5nRnVuY3Rpb24iLCJvcHRpb25zIiwiY2xlcmtVc2VyIiwiZXhpc3RpbmdVc2VycyIsImRvY3MiLCJsZW5ndGgiLCJ1c2VyRGF0YSIsInJvbGUiLCJwYXNzd29yZCIsIkFycmF5IiwiZmlsbCIsIm1hcCIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsInNsaWNlIiwiam9pbiIsImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJlbmFibGVEZWJ1Z0xvZ3MiLCJjb25zb2xlIiwibG9nIiwiaWQiLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EscUJBQXFCLFFBQVEsK0JBQThCO0FBV3BFLE9BQU8sZUFBZUMsa0JBQWtCLEVBQ3RDQyxJQUFJLEVBQ0pDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxlQUFlLEVBQ2ZDLE9BQU8sRUFDa0I7SUFDekIsTUFBTUMsWUFBWUw7SUFFbEIsSUFBSTtRQUNGLE1BQU1NLGdCQUFnQixNQUFNUixzQkFBc0I7WUFDaERHO1lBQ0FDO1lBQ0FHO1FBQ0Y7UUFFQSxJQUFJQyxjQUFjQyxJQUFJLENBQUNDLE1BQU0sS0FBSyxHQUFHO1lBQ25DLElBQUlDLFdBQVc7Z0JBQ2IsR0FBR04sZ0JBQWdCRSxVQUFVO1lBQy9CO1lBRUEsSUFBSSxDQUFDSSxTQUFTQyxJQUFJLEVBQUU7Z0JBQ2xCRCxTQUFTQyxJQUFJLEdBQUc7WUFDbEI7WUFFQSxJQUFHLENBQUNELFNBQVNFLFFBQVEsRUFBRTtnQkFDckJGLFNBQVNFLFFBQVEsR0FBR0MsTUFBTSxHQUN2QkMsSUFBSSxDQUFDLEdBQ0xDLEdBQUcsQ0FBQyxJQUFNQyxLQUFLQyxNQUFNLEdBQUdDLFFBQVEsQ0FBQyxJQUFJQyxLQUFLLENBQUMsSUFDM0NDLElBQUksQ0FBQztZQUNWO1lBRUEsTUFBTWxCLFFBQVFtQixNQUFNLENBQUM7Z0JBQ25CQyxZQUFZbkI7Z0JBQ1pGLE1BQU1TO1lBQ1I7WUFFQSxJQUFJTCxRQUFRa0IsZUFBZSxFQUFFO2dCQUMzQkMsUUFBUUMsR0FBRyxDQUFDLENBQUMsNkJBQTZCLEVBQUVuQixVQUFVb0IsRUFBRSxFQUFFO1lBQzVEO1FBQ0Y7SUFDRixFQUFFLE9BQU9DLE9BQU87UUFDZEgsUUFBUUcsS0FBSyxDQUFDLDJDQUEyQ0E7SUFDM0Q7QUFDRiJ9
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Payload } from 'payload';
|
|
2
|
+
import { ClerkPluginOptions } from '../../../../../../types';
|
|
3
|
+
interface UserDeletedHandlerParams {
|
|
4
|
+
data: any;
|
|
5
|
+
payload: Payload;
|
|
6
|
+
userSlug: string;
|
|
7
|
+
options: ClerkPluginOptions;
|
|
8
|
+
}
|
|
9
|
+
export declare function handleUserDeleted({ data, payload, userSlug, options }: UserDeletedHandlerParams): Promise<void>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=userDeleted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userDeleted.d.ts","sourceRoot":"","sources":["../../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,UAAU,wBAAwB;IAChC,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB1C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { findUserFromClerkUser } from '../../../../../../utils/user';
|
|
2
|
+
export async function handleUserDeleted({ data, payload, userSlug, options }) {
|
|
3
|
+
const clerkId = data.id;
|
|
4
|
+
try {
|
|
5
|
+
const existingUsers = await findUserFromClerkUser({
|
|
6
|
+
payload,
|
|
7
|
+
userSlug,
|
|
8
|
+
clerkUser: {
|
|
9
|
+
id: clerkId
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
if (existingUsers.docs.length > 0) {
|
|
13
|
+
const existingUser = existingUsers.docs[0];
|
|
14
|
+
await payload.delete({
|
|
15
|
+
collection: userSlug,
|
|
16
|
+
id: existingUser.id
|
|
17
|
+
});
|
|
18
|
+
if (options.enableDebugLogs) {
|
|
19
|
+
console.log(`Deleted user from Clerk: ${clerkId}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
} catch (error) {
|
|
23
|
+
console.error('Error deleting user from Clerk webhook:', error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaGFuZGxlcnMvdXNlckRlbGV0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBDbGVya1BsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IGZpbmRVc2VyRnJvbUNsZXJrVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL3VzZXInXG5cbmludGVyZmFjZSBVc2VyRGVsZXRlZEhhbmRsZXJQYXJhbXMge1xuICBkYXRhOiBhbnlcbiAgcGF5bG9hZDogUGF5bG9hZFxuICB1c2VyU2x1Zzogc3RyaW5nXG4gIG9wdGlvbnM6IENsZXJrUGx1Z2luT3B0aW9uc1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlVXNlckRlbGV0ZWQoe1xuICBkYXRhLFxuICBwYXlsb2FkLFxuICB1c2VyU2x1ZyxcbiAgb3B0aW9uc1xufTogVXNlckRlbGV0ZWRIYW5kbGVyUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNsZXJrSWQgPSBkYXRhLmlkXG4gIFxuICB0cnkge1xuICAgIGNvbnN0IGV4aXN0aW5nVXNlcnMgPSBhd2FpdCBmaW5kVXNlckZyb21DbGVya1VzZXIoe1xuICAgICAgcGF5bG9hZCxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgY2xlcmtVc2VyOiB7IGlkOiBjbGVya0lkIH1cbiAgICB9KVxuICAgIFxuICAgIGlmIChleGlzdGluZ1VzZXJzLmRvY3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gZXhpc3RpbmdVc2Vycy5kb2NzWzBdXG4gICAgICBcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogdXNlclNsdWcsXG4gICAgICAgIGlkOiBleGlzdGluZ1VzZXIuaWQsXG4gICAgICB9KVxuICAgICAgXG4gICAgICBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgICAgY29uc29sZS5sb2coYERlbGV0ZWQgdXNlciBmcm9tIENsZXJrOiAke2NsZXJrSWR9YClcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgdXNlciBmcm9tIENsZXJrIHdlYmhvb2s6JywgZXJyb3IpXG4gIH1cbn0gIl0sIm5hbWVzIjpbImZpbmRVc2VyRnJvbUNsZXJrVXNlciIsImhhbmRsZVVzZXJEZWxldGVkIiwiZGF0YSIsInBheWxvYWQiLCJ1c2VyU2x1ZyIsIm9wdGlvbnMiLCJjbGVya0lkIiwiaWQiLCJleGlzdGluZ1VzZXJzIiwiY2xlcmtVc2VyIiwiZG9jcyIsImxlbmd0aCIsImV4aXN0aW5nVXNlciIsImRlbGV0ZSIsImNvbGxlY3Rpb24iLCJlbmFibGVEZWJ1Z0xvZ3MiLCJjb25zb2xlIiwibG9nIiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLHFCQUFxQixRQUFRLCtCQUE4QjtBQVNwRSxPQUFPLGVBQWVDLGtCQUFrQixFQUN0Q0MsSUFBSSxFQUNKQyxPQUFPLEVBQ1BDLFFBQVEsRUFDUkMsT0FBTyxFQUNrQjtJQUN6QixNQUFNQyxVQUFVSixLQUFLSyxFQUFFO0lBRXZCLElBQUk7UUFDRixNQUFNQyxnQkFBZ0IsTUFBTVIsc0JBQXNCO1lBQ2hERztZQUNBQztZQUNBSyxXQUFXO2dCQUFFRixJQUFJRDtZQUFRO1FBQzNCO1FBRUEsSUFBSUUsY0FBY0UsSUFBSSxDQUFDQyxNQUFNLEdBQUcsR0FBRztZQUNqQyxNQUFNQyxlQUFlSixjQUFjRSxJQUFJLENBQUMsRUFBRTtZQUUxQyxNQUFNUCxRQUFRVSxNQUFNLENBQUM7Z0JBQ25CQyxZQUFZVjtnQkFDWkcsSUFBSUssYUFBYUwsRUFBRTtZQUNyQjtZQUVBLElBQUlGLFFBQVFVLGVBQWUsRUFBRTtnQkFDM0JDLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLHlCQUF5QixFQUFFWCxTQUFTO1lBQ25EO1FBQ0Y7SUFDRixFQUFFLE9BQU9ZLE9BQU87UUFDZEYsUUFBUUUsS0FBSyxDQUFDLDJDQUEyQ0E7SUFDM0Q7QUFDRiJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Payload, User } from 'payload';
|
|
2
|
+
import { ClerkPluginOptions } from '../../../../../../types';
|
|
3
|
+
import type { UserJSON } from '@clerk/types';
|
|
4
|
+
interface UserUpdatedHandlerParams {
|
|
5
|
+
data: any;
|
|
6
|
+
payload: Payload;
|
|
7
|
+
userSlug: string;
|
|
8
|
+
mappingFunction: (clerkUser: Partial<UserJSON>) => Omit<User, 'id'>;
|
|
9
|
+
options: ClerkPluginOptions;
|
|
10
|
+
}
|
|
11
|
+
export declare function handleUserUpdated({ data, payload, userSlug, mappingFunction, options }: UserUpdatedHandlerParams): Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=userUpdated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userUpdated.d.ts","sourceRoot":"","sources":["../../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,UAAU,wBAAwB;IAChC,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnE,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC1C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { findUserFromClerkUser } from '../../../../../../utils/user';
|
|
2
|
+
export async function handleUserUpdated({ data, payload, userSlug, mappingFunction, options }) {
|
|
3
|
+
const clerkUser = data;
|
|
4
|
+
try {
|
|
5
|
+
const existingUsers = await findUserFromClerkUser({
|
|
6
|
+
payload,
|
|
7
|
+
userSlug,
|
|
8
|
+
clerkUser
|
|
9
|
+
});
|
|
10
|
+
if (existingUsers.docs.length > 0) {
|
|
11
|
+
const existingUser = existingUsers.docs[0];
|
|
12
|
+
let userData = {
|
|
13
|
+
...mappingFunction(clerkUser)
|
|
14
|
+
};
|
|
15
|
+
if ('role' in userData) {
|
|
16
|
+
const { role, ...dataWithoutRole } = userData;
|
|
17
|
+
userData = dataWithoutRole;
|
|
18
|
+
}
|
|
19
|
+
await payload.update({
|
|
20
|
+
collection: userSlug,
|
|
21
|
+
id: existingUser.id,
|
|
22
|
+
data: userData
|
|
23
|
+
});
|
|
24
|
+
if (options.enableDebugLogs) {
|
|
25
|
+
console.log(`Updated user from Clerk: ${clerkUser.id}`);
|
|
26
|
+
}
|
|
27
|
+
} else if (options.enableDebugLogs) {
|
|
28
|
+
console.log(`Attempted to update non-existent user: ${clerkUser.id}`);
|
|
29
|
+
}
|
|
30
|
+
} catch (error) {
|
|
31
|
+
console.error('Error updating user from Clerk webhook:', error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaGFuZGxlcnMvdXNlclVwZGF0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF5bG9hZCwgVXNlciB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBDbGVya1BsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IGZpbmRVc2VyRnJvbUNsZXJrVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL3VzZXInXG5pbXBvcnQgdHlwZSB7IFVzZXJKU09OIH0gZnJvbSAnQGNsZXJrL3R5cGVzJ1xuXG5pbnRlcmZhY2UgVXNlclVwZGF0ZWRIYW5kbGVyUGFyYW1zIHtcbiAgZGF0YTogYW55XG4gIHBheWxvYWQ6IFBheWxvYWRcbiAgdXNlclNsdWc6IHN0cmluZ1xuICBtYXBwaW5nRnVuY3Rpb246IChjbGVya1VzZXI6IFBhcnRpYWw8VXNlckpTT04+KSA9PiBPbWl0PFVzZXIsICdpZCc+XG4gIG9wdGlvbnM6IENsZXJrUGx1Z2luT3B0aW9uc1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlVXNlclVwZGF0ZWQoe1xuICBkYXRhLFxuICBwYXlsb2FkLFxuICB1c2VyU2x1ZyxcbiAgbWFwcGluZ0Z1bmN0aW9uLFxuICBvcHRpb25zXG59OiBVc2VyVXBkYXRlZEhhbmRsZXJQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2xlcmtVc2VyID0gZGF0YSBhcyBVc2VySlNPTlxuICBcbiAgdHJ5IHtcbiAgICBjb25zdCBleGlzdGluZ1VzZXJzID0gYXdhaXQgZmluZFVzZXJGcm9tQ2xlcmtVc2VyKHtcbiAgICAgIHBheWxvYWQsXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGNsZXJrVXNlclxuICAgIH0pXG4gICAgXG4gICAgaWYgKGV4aXN0aW5nVXNlcnMuZG9jcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBleGlzdGluZ1VzZXIgPSBleGlzdGluZ1VzZXJzLmRvY3NbMF1cbiAgICAgIFxuICAgICAgbGV0IHVzZXJEYXRhID0ge1xuICAgICAgICAuLi5tYXBwaW5nRnVuY3Rpb24oY2xlcmtVc2VyKSxcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKCdyb2xlJyBpbiB1c2VyRGF0YSkge1xuICAgICAgICBjb25zdCB7IHJvbGUsIC4uLmRhdGFXaXRob3V0Um9sZSB9ID0gdXNlckRhdGFcbiAgICAgICAgdXNlckRhdGEgPSBkYXRhV2l0aG91dFJvbGVcbiAgICAgIH1cbiAgICAgIFxuICAgICAgYXdhaXQgcGF5bG9hZC51cGRhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiB1c2VyU2x1ZyxcbiAgICAgICAgaWQ6IGV4aXN0aW5nVXNlci5pZCxcbiAgICAgICAgZGF0YTogdXNlckRhdGEsXG4gICAgICB9KVxuICAgICAgXG4gICAgICBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFVwZGF0ZWQgdXNlciBmcm9tIENsZXJrOiAke2NsZXJrVXNlci5pZH1gKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBBdHRlbXB0ZWQgdG8gdXBkYXRlIG5vbi1leGlzdGVudCB1c2VyOiAke2NsZXJrVXNlci5pZH1gKVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciB1cGRhdGluZyB1c2VyIGZyb20gQ2xlcmsgd2ViaG9vazonLCBlcnJvcilcbiAgfVxufSAiXSwibmFtZXMiOlsiZmluZFVzZXJGcm9tQ2xlcmtVc2VyIiwiaGFuZGxlVXNlclVwZGF0ZWQiLCJkYXRhIiwicGF5bG9hZCIsInVzZXJTbHVnIiwibWFwcGluZ0Z1bmN0aW9uIiwib3B0aW9ucyIsImNsZXJrVXNlciIsImV4aXN0aW5nVXNlcnMiLCJkb2NzIiwibGVuZ3RoIiwiZXhpc3RpbmdVc2VyIiwidXNlckRhdGEiLCJyb2xlIiwiZGF0YVdpdGhvdXRSb2xlIiwidXBkYXRlIiwiY29sbGVjdGlvbiIsImlkIiwiZW5hYmxlRGVidWdMb2dzIiwiY29uc29sZSIsImxvZyIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxxQkFBcUIsUUFBUSwrQkFBOEI7QUFXcEUsT0FBTyxlQUFlQyxrQkFBa0IsRUFDdENDLElBQUksRUFDSkMsT0FBTyxFQUNQQyxRQUFRLEVBQ1JDLGVBQWUsRUFDZkMsT0FBTyxFQUNrQjtJQUN6QixNQUFNQyxZQUFZTDtJQUVsQixJQUFJO1FBQ0YsTUFBTU0sZ0JBQWdCLE1BQU1SLHNCQUFzQjtZQUNoREc7WUFDQUM7WUFDQUc7UUFDRjtRQUVBLElBQUlDLGNBQWNDLElBQUksQ0FBQ0MsTUFBTSxHQUFHLEdBQUc7WUFDakMsTUFBTUMsZUFBZUgsY0FBY0MsSUFBSSxDQUFDLEVBQUU7WUFFMUMsSUFBSUcsV0FBVztnQkFDYixHQUFHUCxnQkFBZ0JFLFVBQVU7WUFDL0I7WUFFQSxJQUFJLFVBQVVLLFVBQVU7Z0JBQ3RCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLGlCQUFpQixHQUFHRjtnQkFDckNBLFdBQVdFO1lBQ2I7WUFFQSxNQUFNWCxRQUFRWSxNQUFNLENBQUM7Z0JBQ25CQyxZQUFZWjtnQkFDWmEsSUFBSU4sYUFBYU0sRUFBRTtnQkFDbkJmLE1BQU1VO1lBQ1I7WUFFQSxJQUFJTixRQUFRWSxlQUFlLEVBQUU7Z0JBQzNCQyxRQUFRQyxHQUFHLENBQUMsQ0FBQyx5QkFBeUIsRUFBRWIsVUFBVVUsRUFBRSxFQUFFO1lBQ3hEO1FBQ0YsT0FBTyxJQUFJWCxRQUFRWSxlQUFlLEVBQUU7WUFDbENDLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLHVDQUF1QyxFQUFFYixVQUFVVSxFQUFFLEVBQUU7UUFDdEU7SUFDRixFQUFFLE9BQU9JLE9BQU87UUFDZEYsUUFBUUUsS0FBSyxDQUFDLDJDQUEyQ0E7SUFDM0Q7QUFDRiJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Endpoint } from 'payload';
|
|
2
|
+
import { ClerkPluginOptions } from '../../../../../types';
|
|
3
|
+
interface ClerkWebhookEndpointOptions {
|
|
4
|
+
userSlug: string;
|
|
5
|
+
options: ClerkPluginOptions;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Creates a webhook endpoint for handling Clerk events
|
|
9
|
+
*/
|
|
10
|
+
export declare const clerkWebhookEndpoint: ({ userSlug, options }: ClerkWebhookEndpointOptions) => Endpoint;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAIzD,UAAU,2BAA2B;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,uBAGlC,2BAA2B,KAAG,QAkFhC,CAAA"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { APIError } from 'payload';
|
|
2
|
+
import { validateWebhook } from '../../../../../utils/svix';
|
|
3
|
+
import { handleUserCreated, handleUserDeleted, handleUserUpdated } from './handlers';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a webhook endpoint for handling Clerk events
|
|
6
|
+
*/ export const clerkWebhookEndpoint = ({ userSlug, options })=>{
|
|
7
|
+
const mappingFunction = options.users?.clerkToPayloadMapping // This is forced to be set by the plugin.ts
|
|
8
|
+
;
|
|
9
|
+
if (!mappingFunction) {
|
|
10
|
+
throw new Error('Clerk to Payload mapping function is not set');
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
path: '/clerk-webhook',
|
|
14
|
+
method: 'post',
|
|
15
|
+
handler: async (req)=>{
|
|
16
|
+
try {
|
|
17
|
+
const { payload } = req;
|
|
18
|
+
if (!req.text) {
|
|
19
|
+
throw new APIError('Invalid request body', 400);
|
|
20
|
+
}
|
|
21
|
+
// Validate the webhook before reading the body
|
|
22
|
+
if (!await validateWebhook({
|
|
23
|
+
request: req,
|
|
24
|
+
secret: options.webhook?.svixSecret
|
|
25
|
+
})) {
|
|
26
|
+
throw new APIError('Invalid webhook signature', 401);
|
|
27
|
+
}
|
|
28
|
+
// Now we can read the body safely
|
|
29
|
+
const rawBody = await req.text();
|
|
30
|
+
const webhookData = parseWebhookData(rawBody);
|
|
31
|
+
const { type, data } = webhookData;
|
|
32
|
+
if (options.enableDebugLogs) {
|
|
33
|
+
console.log(`Processing Clerk webhook: ${type}`);
|
|
34
|
+
}
|
|
35
|
+
switch(type){
|
|
36
|
+
case 'user.created':
|
|
37
|
+
await handleUserCreated({
|
|
38
|
+
data,
|
|
39
|
+
payload,
|
|
40
|
+
userSlug,
|
|
41
|
+
mappingFunction,
|
|
42
|
+
options
|
|
43
|
+
});
|
|
44
|
+
break;
|
|
45
|
+
case 'user.updated':
|
|
46
|
+
await handleUserUpdated({
|
|
47
|
+
data,
|
|
48
|
+
payload,
|
|
49
|
+
userSlug,
|
|
50
|
+
mappingFunction: mappingFunction,
|
|
51
|
+
options
|
|
52
|
+
});
|
|
53
|
+
break;
|
|
54
|
+
case 'user.deleted':
|
|
55
|
+
await handleUserDeleted({
|
|
56
|
+
data,
|
|
57
|
+
payload,
|
|
58
|
+
userSlug,
|
|
59
|
+
options
|
|
60
|
+
});
|
|
61
|
+
break;
|
|
62
|
+
default:
|
|
63
|
+
if (options.enableDebugLogs) {
|
|
64
|
+
console.log(`Unhandled Clerk webhook type: ${type}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return new Response(JSON.stringify({
|
|
68
|
+
success: true
|
|
69
|
+
}), {
|
|
70
|
+
status: 200,
|
|
71
|
+
headers: {
|
|
72
|
+
'Content-Type': 'application/json'
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
} catch (error) {
|
|
76
|
+
console.error('Error processing Clerk webhook:', error);
|
|
77
|
+
throw new APIError('Internal server error', 500);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
function parseWebhookData(rawBody) {
|
|
83
|
+
return typeof rawBody === 'string' ? JSON.parse(rawBody) : rawBody;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJRXJyb3IsIEVuZHBvaW50IH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB7IENsZXJrUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgdmFsaWRhdGVXZWJob29rIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvc3ZpeCdcbmltcG9ydCB7IGhhbmRsZVVzZXJDcmVhdGVkLCBoYW5kbGVVc2VyRGVsZXRlZCwgaGFuZGxlVXNlclVwZGF0ZWQgfSBmcm9tICcuL2hhbmRsZXJzJ1xuXG5pbnRlcmZhY2UgQ2xlcmtXZWJob29rRW5kcG9pbnRPcHRpb25zIHtcbiAgdXNlclNsdWc6IHN0cmluZ1xuICBvcHRpb25zOiBDbGVya1BsdWdpbk9wdGlvbnNcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgd2ViaG9vayBlbmRwb2ludCBmb3IgaGFuZGxpbmcgQ2xlcmsgZXZlbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVya1dlYmhvb2tFbmRwb2ludCA9ICh7IFxuICB1c2VyU2x1ZywgXG4gIG9wdGlvbnMgXG59OiBDbGVya1dlYmhvb2tFbmRwb2ludE9wdGlvbnMpOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IG1hcHBpbmdGdW5jdGlvbiA9IG9wdGlvbnMudXNlcnM/LmNsZXJrVG9QYXlsb2FkTWFwcGluZyAvLyBUaGlzIGlzIGZvcmNlZCB0byBiZSBzZXQgYnkgdGhlIHBsdWdpbi50c1xuICBcbiAgaWYgKCFtYXBwaW5nRnVuY3Rpb24pIHsgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiBKdXN0IHRvIG1ha2UgVFMgaGFwcHkuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdDbGVyayB0byBQYXlsb2FkIG1hcHBpbmcgZnVuY3Rpb24gaXMgbm90IHNldCcpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhdGg6ICcvY2xlcmstd2ViaG9vaycsXG4gICAgbWV0aG9kOiAncG9zdCcsXG4gICAgaGFuZGxlcjogYXN5bmMgKHJlcSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSByZXFcbiAgICAgICAgXG4gICAgICAgIGlmICghcmVxLnRleHQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBib2R5JywgNDAwKVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgd2ViaG9vayBiZWZvcmUgcmVhZGluZyB0aGUgYm9keVxuICAgICAgICBpZiAoIWF3YWl0IHZhbGlkYXRlV2ViaG9vayh7XG4gICAgICAgICAgcmVxdWVzdDogcmVxLFxuICAgICAgICAgIHNlY3JldDogb3B0aW9ucy53ZWJob29rPy5zdml4U2VjcmV0XG4gICAgICAgIH0pKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdJbnZhbGlkIHdlYmhvb2sgc2lnbmF0dXJlJywgNDAxKVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBOb3cgd2UgY2FuIHJlYWQgdGhlIGJvZHkgc2FmZWx5XG4gICAgICAgIGNvbnN0IHJhd0JvZHkgPSBhd2FpdCByZXEudGV4dCgpXG4gICAgICAgIFxuICAgICAgICBjb25zdCB3ZWJob29rRGF0YSA9IHBhcnNlV2ViaG9va0RhdGEocmF3Qm9keSlcbiAgICAgICAgY29uc3QgeyB0eXBlLCBkYXRhIH0gPSB3ZWJob29rRGF0YVxuICAgICAgICBcbiAgICAgICAgaWYgKG9wdGlvbnMuZW5hYmxlRGVidWdMb2dzKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYFByb2Nlc3NpbmcgQ2xlcmsgd2ViaG9vazogJHt0eXBlfWApXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3VzZXIuY3JlYXRlZCc6XG4gICAgICAgICAgICBhd2FpdCBoYW5kbGVVc2VyQ3JlYXRlZCh7XG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgIHVzZXJTbHVnLFxuICAgICAgICAgICAgICBtYXBwaW5nRnVuY3Rpb24sXG4gICAgICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgXG4gICAgICAgICAgY2FzZSAndXNlci51cGRhdGVkJzpcbiAgICAgICAgICAgIGF3YWl0IGhhbmRsZVVzZXJVcGRhdGVkKHtcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgdXNlclNsdWcsXG4gICAgICAgICAgICAgIG1hcHBpbmdGdW5jdGlvbjogbWFwcGluZ0Z1bmN0aW9uIGFzIGFueSwgLy8gQFRPRE86IFR5cGUgdGhpcyBwcm9wZXJseVxuICAgICAgICAgICAgICBvcHRpb25zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIFxuICAgICAgICAgIGNhc2UgJ3VzZXIuZGVsZXRlZCc6XG4gICAgICAgICAgICBhd2FpdCBoYW5kbGVVc2VyRGVsZXRlZCh7XG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgIHVzZXJTbHVnLFxuICAgICAgICAgICAgICBvcHRpb25zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coYFVuaGFuZGxlZCBDbGVyayB3ZWJob29rIHR5cGU6ICR7dHlwZX1gKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHsgc3VjY2VzczogdHJ1ZSB9KSwgXG4gICAgICAgICAgeyBzdGF0dXM6IDIwMCwgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfVxuICAgICAgICApXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcm9jZXNzaW5nIENsZXJrIHdlYmhvb2s6JywgZXJyb3IpXG4gICAgICAgIHRocm93IG5ldyBBUElFcnJvcignSW50ZXJuYWwgc2VydmVyIGVycm9yJywgNTAwKVxuICAgICAgfVxuICAgIH0sXG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VXZWJob29rRGF0YShyYXdCb2R5OiBhbnkpOiB7IHR5cGU6IHN0cmluZzsgZGF0YTogYW55IH0ge1xuICByZXR1cm4gdHlwZW9mIHJhd0JvZHkgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShyYXdCb2R5KSA6IHJhd0JvZHlcbn0iXSwibmFtZXMiOlsiQVBJRXJyb3IiLCJ2YWxpZGF0ZVdlYmhvb2siLCJoYW5kbGVVc2VyQ3JlYXRlZCIsImhhbmRsZVVzZXJEZWxldGVkIiwiaGFuZGxlVXNlclVwZGF0ZWQiLCJjbGVya1dlYmhvb2tFbmRwb2ludCIsInVzZXJTbHVnIiwib3B0aW9ucyIsIm1hcHBpbmdGdW5jdGlvbiIsInVzZXJzIiwiY2xlcmtUb1BheWxvYWRNYXBwaW5nIiwiRXJyb3IiLCJwYXRoIiwibWV0aG9kIiwiaGFuZGxlciIsInJlcSIsInBheWxvYWQiLCJ0ZXh0IiwicmVxdWVzdCIsInNlY3JldCIsIndlYmhvb2siLCJzdml4U2VjcmV0IiwicmF3Qm9keSIsIndlYmhvb2tEYXRhIiwicGFyc2VXZWJob29rRGF0YSIsInR5cGUiLCJkYXRhIiwiZW5hYmxlRGVidWdMb2dzIiwiY29uc29sZSIsImxvZyIsIlJlc3BvbnNlIiwiSlNPTiIsInN0cmluZ2lmeSIsInN1Y2Nlc3MiLCJzdGF0dXMiLCJoZWFkZXJzIiwiZXJyb3IiLCJwYXJzZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsUUFBUSxRQUFrQixVQUFTO0FBRTVDLFNBQVNDLGVBQWUsUUFBUSw0QkFBMkI7QUFDM0QsU0FBU0MsaUJBQWlCLEVBQUVDLGlCQUFpQixFQUFFQyxpQkFBaUIsUUFBUSxhQUFZO0FBT3BGOztDQUVDLEdBQ0QsT0FBTyxNQUFNQyx1QkFBdUIsQ0FBQyxFQUNuQ0MsUUFBUSxFQUNSQyxPQUFPLEVBQ3FCO0lBQzVCLE1BQU1DLGtCQUFrQkQsUUFBUUUsS0FBSyxFQUFFQyxzQkFBc0IsNENBQTRDOztJQUV6RyxJQUFJLENBQUNGLGlCQUFpQjtRQUNwQixNQUFNLElBQUlHLE1BQU07SUFDbEI7SUFFQSxPQUFPO1FBQ0xDLE1BQU07UUFDTkMsUUFBUTtRQUNSQyxTQUFTLE9BQU9DO1lBQ2QsSUFBSTtnQkFDRixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHRDtnQkFFcEIsSUFBSSxDQUFDQSxJQUFJRSxJQUFJLEVBQUU7b0JBQ2IsTUFBTSxJQUFJakIsU0FBUyx3QkFBd0I7Z0JBQzdDO2dCQUVBLCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLE1BQU1DLGdCQUFnQjtvQkFDekJpQixTQUFTSDtvQkFDVEksUUFBUVosUUFBUWEsT0FBTyxFQUFFQztnQkFDM0IsSUFBSTtvQkFDRixNQUFNLElBQUlyQixTQUFTLDZCQUE2QjtnQkFDbEQ7Z0JBRUEsa0NBQWtDO2dCQUNsQyxNQUFNc0IsVUFBVSxNQUFNUCxJQUFJRSxJQUFJO2dCQUU5QixNQUFNTSxjQUFjQyxpQkFBaUJGO2dCQUNyQyxNQUFNLEVBQUVHLElBQUksRUFBRUMsSUFBSSxFQUFFLEdBQUdIO2dCQUV2QixJQUFJaEIsUUFBUW9CLGVBQWUsRUFBRTtvQkFDM0JDLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixFQUFFSixNQUFNO2dCQUNqRDtnQkFFQSxPQUFRQTtvQkFDTixLQUFLO3dCQUNILE1BQU12QixrQkFBa0I7NEJBQ3RCd0I7NEJBQ0FWOzRCQUNBVjs0QkFDQUU7NEJBQ0FEO3dCQUNGO3dCQUNBO29CQUVGLEtBQUs7d0JBQ0gsTUFBTUgsa0JBQWtCOzRCQUN0QnNCOzRCQUNBVjs0QkFDQVY7NEJBQ0FFLGlCQUFpQkE7NEJBQ2pCRDt3QkFDRjt3QkFDQTtvQkFFRixLQUFLO3dCQUNILE1BQU1KLGtCQUFrQjs0QkFDdEJ1Qjs0QkFDQVY7NEJBQ0FWOzRCQUNBQzt3QkFDRjt3QkFDQTtvQkFFRjt3QkFDRSxJQUFJQSxRQUFRb0IsZUFBZSxFQUFFOzRCQUMzQkMsUUFBUUMsR0FBRyxDQUFDLENBQUMsOEJBQThCLEVBQUVKLE1BQU07d0JBQ3JEO2dCQUNKO2dCQUVBLE9BQU8sSUFBSUssU0FDVEMsS0FBS0MsU0FBUyxDQUFDO29CQUFFQyxTQUFTO2dCQUFLLElBQy9CO29CQUFFQyxRQUFRO29CQUFLQyxTQUFTO3dCQUFFLGdCQUFnQjtvQkFBbUI7Z0JBQUU7WUFFbkUsRUFBRSxPQUFPQyxPQUFPO2dCQUNkUixRQUFRUSxLQUFLLENBQUMsbUNBQW1DQTtnQkFDakQsTUFBTSxJQUFJcEMsU0FBUyx5QkFBeUI7WUFDOUM7UUFDRjtJQUNGO0FBQ0YsRUFBQztBQUVELFNBQVN3QixpQkFBaUJGLE9BQVk7SUFDcEMsT0FBTyxPQUFPQSxZQUFZLFdBQVdTLEtBQUtNLEtBQUssQ0FBQ2YsV0FBV0E7QUFDN0QifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../../src/clerk/plugin/collections/users/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,EA4ElC,CAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clerk user fields to be added to the user collection
|
|
3
|
+
*/ export const clerkUserFields = [
|
|
4
|
+
{
|
|
5
|
+
name: 'clerkId',
|
|
6
|
+
type: 'text',
|
|
7
|
+
unique: true,
|
|
8
|
+
index: true,
|
|
9
|
+
admin: {
|
|
10
|
+
description: 'Clerk user ID',
|
|
11
|
+
readOnly: true
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'emailVerified',
|
|
16
|
+
type: 'checkbox',
|
|
17
|
+
defaultValue: false,
|
|
18
|
+
admin: {
|
|
19
|
+
description: 'Whether the email is verified',
|
|
20
|
+
readOnly: true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'firstName',
|
|
25
|
+
type: 'text',
|
|
26
|
+
admin: {
|
|
27
|
+
description: 'User first name'
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'lastName',
|
|
32
|
+
type: 'text',
|
|
33
|
+
admin: {
|
|
34
|
+
description: 'User last name'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'imageUrl',
|
|
39
|
+
type: 'text',
|
|
40
|
+
admin: {
|
|
41
|
+
description: 'User profile image URL'
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'role',
|
|
46
|
+
type: 'select',
|
|
47
|
+
required: true,
|
|
48
|
+
defaultValue: 'user',
|
|
49
|
+
options: [
|
|
50
|
+
{
|
|
51
|
+
label: 'Admin',
|
|
52
|
+
value: 'admin'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
label: 'User',
|
|
56
|
+
value: 'user'
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
admin: {
|
|
60
|
+
description: 'User role for access control'
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'lastSyncedAt',
|
|
65
|
+
type: 'date',
|
|
66
|
+
admin: {
|
|
67
|
+
description: 'When the user was last synced with Clerk',
|
|
68
|
+
readOnly: true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: 'clerkPublicMetadata',
|
|
73
|
+
type: 'json',
|
|
74
|
+
admin: {
|
|
75
|
+
description: 'Additional metadata from Clerk',
|
|
76
|
+
readOnly: true
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkJ1xuXG4vKipcbiAqIENsZXJrIHVzZXIgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSB1c2VyIGNvbGxlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGNsZXJrVXNlckZpZWxkczogRmllbGRbXSA9IFtcbiAge1xuICAgIG5hbWU6ICdjbGVya0lkJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgdW5pcXVlOiB0cnVlLFxuICAgIGluZGV4OiB0cnVlLFxuICAgIGFkbWluOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0NsZXJrIHVzZXIgSUQnLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2VtYWlsVmVyaWZpZWQnLFxuICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdXaGV0aGVyIHRoZSBlbWFpbCBpcyB2ZXJpZmllZCcsXG4gICAgICByZWFkT25seTogdHJ1ZSxcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZmlyc3ROYW1lJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBmaXJzdCBuYW1lJyxcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnbGFzdE5hbWUnLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGxhc3QgbmFtZScsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2ltYWdlVXJsJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBwcm9maWxlIGltYWdlIFVSTCcsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3JvbGUnLFxuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogJ3VzZXInLFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdBZG1pbicsXG4gICAgICAgIHZhbHVlOiAnYWRtaW4nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdVc2VyJyxcbiAgICAgICAgdmFsdWU6ICd1c2VyJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdVc2VyIHJvbGUgZm9yIGFjY2VzcyBjb250cm9sJyxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2xhc3RTeW5jZWRBdCcsXG4gICAgdHlwZTogJ2RhdGUnLFxuICAgIGFkbWluOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1doZW4gdGhlIHVzZXIgd2FzIGxhc3Qgc3luY2VkIHdpdGggQ2xlcmsnLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2NsZXJrUHVibGljTWV0YWRhdGEnLFxuICAgIHR5cGU6ICdqc29uJyxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdBZGRpdGlvbmFsIG1ldGFkYXRhIGZyb20gQ2xlcmsnLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfVxuICB9LFxuXSAiXSwibmFtZXMiOlsiY2xlcmtVc2VyRmllbGRzIiwibmFtZSIsInR5cGUiLCJ1bmlxdWUiLCJpbmRleCIsImFkbWluIiwiZGVzY3JpcHRpb24iLCJyZWFkT25seSIsImRlZmF1bHRWYWx1ZSIsInJlcXVpcmVkIiwib3B0aW9ucyIsImxhYmVsIiwidmFsdWUiXSwibWFwcGluZ3MiOiJBQUVBOztDQUVDLEdBQ0QsT0FBTyxNQUFNQSxrQkFBMkI7SUFDdEM7UUFDRUMsTUFBTTtRQUNOQyxNQUFNO1FBQ05DLFFBQVE7UUFDUkMsT0FBTztRQUNQQyxPQUFPO1lBQ0xDLGFBQWE7WUFDYkMsVUFBVTtRQUNaO0lBQ0Y7SUFDQTtRQUNFTixNQUFNO1FBQ05DLE1BQU07UUFDTk0sY0FBYztRQUNkSCxPQUFPO1lBQ0xDLGFBQWE7WUFDYkMsVUFBVTtRQUNaO0lBQ0Y7SUFDQTtRQUNFTixNQUFNO1FBQ05DLE1BQU07UUFDTkcsT0FBTztZQUNMQyxhQUFhO1FBQ2Y7SUFDRjtJQUNBO1FBQ0VMLE1BQU07UUFDTkMsTUFBTTtRQUNORyxPQUFPO1lBQ0xDLGFBQWE7UUFDZjtJQUNGO0lBQ0E7UUFDRUwsTUFBTTtRQUNOQyxNQUFNO1FBQ05HLE9BQU87WUFDTEMsYUFBYTtRQUNmO0lBQ0Y7SUFDQTtRQUNFTCxNQUFNO1FBQ05DLE1BQU07UUFDTk8sVUFBVTtRQUNWRCxjQUFjO1FBQ2RFLFNBQVM7WUFDUDtnQkFDRUMsT0FBTztnQkFDUEMsT0FBTztZQUNUO1lBQ0E7Z0JBQ0VELE9BQU87Z0JBQ1BDLE9BQU87WUFDVDtTQUNEO1FBQ0RQLE9BQU87WUFDTEMsYUFBYTtRQUNmO0lBQ0Y7SUFDQTtRQUNFTCxNQUFNO1FBQ05DLE1BQU07UUFDTkcsT0FBTztZQUNMQyxhQUFhO1lBQ2JDLFVBQVU7UUFDWjtJQUNGO0lBQ0E7UUFDRU4sTUFBTTtRQUNOQyxNQUFNO1FBQ05HLE9BQU87WUFDTEMsYUFBYTtZQUNiQyxVQUFVO1FBQ1o7SUFDRjtDQUNELENBQUEifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CollectionConfig } from 'payload';
|
|
2
|
+
import type { ClerkPluginOptions } from '../../../types';
|
|
3
|
+
export interface WithClerkUsersCollectionOptions {
|
|
4
|
+
collection?: Partial<CollectionConfig>;
|
|
5
|
+
options: ClerkPluginOptions;
|
|
6
|
+
apiBasePath?: string;
|
|
7
|
+
adminBasePath?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function withClerkUsersCollection({ collection, options, apiBasePath, adminBasePath, }: WithClerkUsersCollectionOptions): CollectionConfig;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/clerk/plugin/collections/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAQxD,MAAM,WAAW,+BAA+B;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACtC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAA8B,EAC9B,OAAO,EACP,WAAoB,EACpB,aAAwB,GACzB,EAAE,+BAA+B,GAAG,gBAAgB,CAoEpD"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { clerkAuthStrategy } from '../../auth-strategy';
|
|
2
|
+
import { getCreateAccess, getDeleteAccess, getReadAccess, getUpdateAccess } from './access';
|
|
3
|
+
import { syncClerkUsersEndpoint } from './endpoints/sync-from-clerk';
|
|
4
|
+
import { clerkWebhookEndpoint } from './endpoints/webhook/index';
|
|
5
|
+
import { clerkUserFields } from './fields';
|
|
6
|
+
import { cookies } from 'next/headers';
|
|
7
|
+
export function withClerkUsersCollection({ collection = {
|
|
8
|
+
slug: 'users'
|
|
9
|
+
}, options, apiBasePath = '/api', adminBasePath = '/admin' }) {
|
|
10
|
+
const userSlug = options.users?.slug ?? 'users';
|
|
11
|
+
const adminRoles = options.users?.adminRoles ?? [
|
|
12
|
+
'admin'
|
|
13
|
+
];
|
|
14
|
+
let clerkUserCollection = {
|
|
15
|
+
...collection,
|
|
16
|
+
slug: userSlug,
|
|
17
|
+
admin: {
|
|
18
|
+
useAsTitle: 'email',
|
|
19
|
+
defaultColumns: [
|
|
20
|
+
'email',
|
|
21
|
+
'clerkId',
|
|
22
|
+
'firstName',
|
|
23
|
+
'lastName'
|
|
24
|
+
],
|
|
25
|
+
hidden: options.users?.hidden ?? false,
|
|
26
|
+
...collection.admin || {},
|
|
27
|
+
components: {
|
|
28
|
+
Description: {
|
|
29
|
+
path: 'payload-auth/clerk/admin/ui#SyncClerkUsersButton',
|
|
30
|
+
clientProps: {
|
|
31
|
+
userCollectionSlug: userSlug,
|
|
32
|
+
apiBasePath,
|
|
33
|
+
adminBasePath
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
fields: [
|
|
39
|
+
...collection.fields || [],
|
|
40
|
+
...clerkUserFields
|
|
41
|
+
],
|
|
42
|
+
auth: {
|
|
43
|
+
...typeof collection?.auth === 'object' ? collection.auth : {},
|
|
44
|
+
strategies: [
|
|
45
|
+
clerkAuthStrategy(userSlug)
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
access: {
|
|
49
|
+
read: getReadAccess({
|
|
50
|
+
adminRoles
|
|
51
|
+
}),
|
|
52
|
+
create: getCreateAccess({
|
|
53
|
+
adminRoles
|
|
54
|
+
}),
|
|
55
|
+
update: getUpdateAccess({
|
|
56
|
+
adminRoles
|
|
57
|
+
}),
|
|
58
|
+
delete: getDeleteAccess({
|
|
59
|
+
adminRoles
|
|
60
|
+
})
|
|
61
|
+
},
|
|
62
|
+
endpoints: [
|
|
63
|
+
...collection.endpoints || [],
|
|
64
|
+
clerkWebhookEndpoint({
|
|
65
|
+
userSlug,
|
|
66
|
+
options
|
|
67
|
+
}),
|
|
68
|
+
syncClerkUsersEndpoint({
|
|
69
|
+
userCollectionSlug: userSlug
|
|
70
|
+
})
|
|
71
|
+
],
|
|
72
|
+
hooks: {
|
|
73
|
+
afterLogout: [
|
|
74
|
+
async ()=>{
|
|
75
|
+
const cookieStore = await cookies();
|
|
76
|
+
// Get all cookies and delete any with __session or __clerk in their name
|
|
77
|
+
const allCookies = cookieStore.getAll();
|
|
78
|
+
allCookies.forEach((cookie)=>{
|
|
79
|
+
if (cookie.name.includes('__session') || cookie.name.includes('__clerk')) {
|
|
80
|
+
cookieStore.delete(cookie.name);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
if (options.users?.collectionOverrides) {
|
|
88
|
+
clerkUserCollection = options.users.collectionOverrides({
|
|
89
|
+
collection: clerkUserCollection
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return clerkUserCollection;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ2xlcmtQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBjbGVya0F1dGhTdHJhdGVneSB9IGZyb20gJy4uLy4uL2F1dGgtc3RyYXRlZ3knXG5pbXBvcnQgeyBnZXRDcmVhdGVBY2Nlc3MsIGdldERlbGV0ZUFjY2VzcywgZ2V0UmVhZEFjY2VzcywgZ2V0VXBkYXRlQWNjZXNzIH0gZnJvbSAnLi9hY2Nlc3MnXG5pbXBvcnQgeyBzeW5jQ2xlcmtVc2Vyc0VuZHBvaW50IH0gZnJvbSAnLi9lbmRwb2ludHMvc3luYy1mcm9tLWNsZXJrJ1xuaW1wb3J0IHsgY2xlcmtXZWJob29rRW5kcG9pbnQgfSBmcm9tICcuL2VuZHBvaW50cy93ZWJob29rL2luZGV4J1xuaW1wb3J0IHsgY2xlcmtVc2VyRmllbGRzIH0gZnJvbSAnLi9maWVsZHMnXG5pbXBvcnQgeyBjb29raWVzIH0gZnJvbSAnbmV4dC9oZWFkZXJzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhDbGVya1VzZXJzQ29sbGVjdGlvbk9wdGlvbnMge1xuICBjb2xsZWN0aW9uPzogUGFydGlhbDxDb2xsZWN0aW9uQ29uZmlnPlxuICBvcHRpb25zOiBDbGVya1BsdWdpbk9wdGlvbnNcbiAgYXBpQmFzZVBhdGg/OiBzdHJpbmdcbiAgYWRtaW5CYXNlUGF0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aENsZXJrVXNlcnNDb2xsZWN0aW9uKHtcbiAgY29sbGVjdGlvbiA9IHsgc2x1ZzogJ3VzZXJzJyB9LFxuICBvcHRpb25zLFxuICBhcGlCYXNlUGF0aCA9ICcvYXBpJyxcbiAgYWRtaW5CYXNlUGF0aCA9ICcvYWRtaW4nLFxufTogV2l0aENsZXJrVXNlcnNDb2xsZWN0aW9uT3B0aW9ucyk6IENvbGxlY3Rpb25Db25maWcge1xuICBjb25zdCB1c2VyU2x1ZyA9IG9wdGlvbnMudXNlcnM/LnNsdWcgPz8gJ3VzZXJzJ1xuICBjb25zdCBhZG1pblJvbGVzID0gb3B0aW9ucy51c2Vycz8uYWRtaW5Sb2xlcyA/PyBbJ2FkbWluJ11cbiAgXG4gIGxldCBjbGVya1VzZXJDb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnID0ge1xuICAgIC4uLmNvbGxlY3Rpb24sXG4gICAgc2x1ZzogdXNlclNsdWcsXG4gICAgYWRtaW46IHtcbiAgICAgIHVzZUFzVGl0bGU6ICdlbWFpbCcsXG4gICAgICBkZWZhdWx0Q29sdW1uczogWydlbWFpbCcsICdjbGVya0lkJywgJ2ZpcnN0TmFtZScsICdsYXN0TmFtZSddLFxuICAgICAgaGlkZGVuOiBvcHRpb25zLnVzZXJzPy5oaWRkZW4gPz8gZmFsc2UsXG4gICAgICAuLi4oY29sbGVjdGlvbi5hZG1pbiB8fCB7fSksXG4gICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIERlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgcGF0aDogJ3BheWxvYWQtYXV0aC9jbGVyay9hZG1pbi91aSNTeW5jQ2xlcmtVc2Vyc0J1dHRvbicsXG4gICAgICAgICAgY2xpZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHVzZXJDb2xsZWN0aW9uU2x1ZzogdXNlclNsdWcsXG4gICAgICAgICAgICBhcGlCYXNlUGF0aCxcbiAgICAgICAgICAgIGFkbWluQmFzZVBhdGgsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBmaWVsZHM6IFtcbiAgICAgIC4uLihjb2xsZWN0aW9uLmZpZWxkcyB8fCBbXSksXG4gICAgICAuLi5jbGVya1VzZXJGaWVsZHMsXG4gICAgXSxcbiAgICBhdXRoOiB7XG4gICAgICAuLi4odHlwZW9mIGNvbGxlY3Rpb24/LmF1dGggPT09ICdvYmplY3QnID8gY29sbGVjdGlvbi5hdXRoIDoge30pLFxuICAgICAgc3RyYXRlZ2llczogW1xuICAgICAgICBjbGVya0F1dGhTdHJhdGVneSh1c2VyU2x1ZyksXG4gICAgICBdLFxuICAgIH0sXG4gICAgYWNjZXNzOiB7XG4gICAgICByZWFkOiBnZXRSZWFkQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICAgIGNyZWF0ZTogZ2V0Q3JlYXRlQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICAgIHVwZGF0ZTogZ2V0VXBkYXRlQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICAgIGRlbGV0ZTogZ2V0RGVsZXRlQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICB9LFxuICAgIGVuZHBvaW50czogW1xuICAgICAgLi4uKGNvbGxlY3Rpb24uZW5kcG9pbnRzIHx8IFtdKSxcbiAgICAgIGNsZXJrV2ViaG9va0VuZHBvaW50KHsgdXNlclNsdWcsIG9wdGlvbnMgfSksXG4gICAgICBzeW5jQ2xlcmtVc2Vyc0VuZHBvaW50KHsgdXNlckNvbGxlY3Rpb25TbHVnOiB1c2VyU2x1ZyB9KVxuICAgIF0sXG4gICAgaG9va3M6IHtcbiAgICAgIGFmdGVyTG9nb3V0OiBbXG4gICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICBjb25zdCBjb29raWVTdG9yZSA9IGF3YWl0IGNvb2tpZXMoKVxuICAgICAgICAgIFxuICAgICAgICAgIC8vIEdldCBhbGwgY29va2llcyBhbmQgZGVsZXRlIGFueSB3aXRoIF9fc2Vzc2lvbiBvciBfX2NsZXJrIGluIHRoZWlyIG5hbWVcbiAgICAgICAgICBjb25zdCBhbGxDb29raWVzID0gY29va2llU3RvcmUuZ2V0QWxsKClcbiAgICAgICAgICBhbGxDb29raWVzLmZvckVhY2goY29va2llID0+IHtcbiAgICAgICAgICAgIGlmIChjb29raWUubmFtZS5pbmNsdWRlcygnX19zZXNzaW9uJykgfHwgY29va2llLm5hbWUuaW5jbHVkZXMoJ19fY2xlcmsnKSkge1xuICAgICAgICAgICAgICBjb29raWVTdG9yZS5kZWxldGUoY29va2llLm5hbWUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgfVxuXG4gIGlmIChvcHRpb25zLnVzZXJzPy5jb2xsZWN0aW9uT3ZlcnJpZGVzKSB7XG4gICAgY2xlcmtVc2VyQ29sbGVjdGlvbiA9IG9wdGlvbnMudXNlcnMuY29sbGVjdGlvbk92ZXJyaWRlcyh7IFxuICAgICAgY29sbGVjdGlvbjogY2xlcmtVc2VyQ29sbGVjdGlvbiBcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGNsZXJrVXNlckNvbGxlY3Rpb25cbn0gIl0sIm5hbWVzIjpbImNsZXJrQXV0aFN0cmF0ZWd5IiwiZ2V0Q3JlYXRlQWNjZXNzIiwiZ2V0RGVsZXRlQWNjZXNzIiwiZ2V0UmVhZEFjY2VzcyIsImdldFVwZGF0ZUFjY2VzcyIsInN5bmNDbGVya1VzZXJzRW5kcG9pbnQiLCJjbGVya1dlYmhvb2tFbmRwb2ludCIsImNsZXJrVXNlckZpZWxkcyIsImNvb2tpZXMiLCJ3aXRoQ2xlcmtVc2Vyc0NvbGxlY3Rpb24iLCJjb2xsZWN0aW9uIiwic2x1ZyIsIm9wdGlvbnMiLCJhcGlCYXNlUGF0aCIsImFkbWluQmFzZVBhdGgiLCJ1c2VyU2x1ZyIsInVzZXJzIiwiYWRtaW5Sb2xlcyIsImNsZXJrVXNlckNvbGxlY3Rpb24iLCJhZG1pbiIsInVzZUFzVGl0bGUiLCJkZWZhdWx0Q29sdW1ucyIsImhpZGRlbiIsImNvbXBvbmVudHMiLCJEZXNjcmlwdGlvbiIsInBhdGgiLCJjbGllbnRQcm9wcyIsInVzZXJDb2xsZWN0aW9uU2x1ZyIsImZpZWxkcyIsImF1dGgiLCJzdHJhdGVnaWVzIiwiYWNjZXNzIiwicmVhZCIsImNyZWF0ZSIsInVwZGF0ZSIsImRlbGV0ZSIsImVuZHBvaW50cyIsImhvb2tzIiwiYWZ0ZXJMb2dvdXQiLCJjb29raWVTdG9yZSIsImFsbENvb2tpZXMiLCJnZXRBbGwiLCJmb3JFYWNoIiwiY29va2llIiwibmFtZSIsImluY2x1ZGVzIiwiY29sbGVjdGlvbk92ZXJyaWRlcyJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsaUJBQWlCLFFBQVEsc0JBQXFCO0FBQ3ZELFNBQVNDLGVBQWUsRUFBRUMsZUFBZSxFQUFFQyxhQUFhLEVBQUVDLGVBQWUsUUFBUSxXQUFVO0FBQzNGLFNBQVNDLHNCQUFzQixRQUFRLDhCQUE2QjtBQUNwRSxTQUFTQyxvQkFBb0IsUUFBUSw0QkFBMkI7QUFDaEUsU0FBU0MsZUFBZSxRQUFRLFdBQVU7QUFDMUMsU0FBU0MsT0FBTyxRQUFRLGVBQWM7QUFTdEMsT0FBTyxTQUFTQyx5QkFBeUIsRUFDdkNDLGFBQWE7SUFBRUMsTUFBTTtBQUFRLENBQUMsRUFDOUJDLE9BQU8sRUFDUEMsY0FBYyxNQUFNLEVBQ3BCQyxnQkFBZ0IsUUFBUSxFQUNRO0lBQ2hDLE1BQU1DLFdBQVdILFFBQVFJLEtBQUssRUFBRUwsUUFBUTtJQUN4QyxNQUFNTSxhQUFhTCxRQUFRSSxLQUFLLEVBQUVDLGNBQWM7UUFBQztLQUFRO0lBRXpELElBQUlDLHNCQUF3QztRQUMxQyxHQUFHUixVQUFVO1FBQ2JDLE1BQU1JO1FBQ05JLE9BQU87WUFDTEMsWUFBWTtZQUNaQyxnQkFBZ0I7Z0JBQUM7Z0JBQVM7Z0JBQVc7Z0JBQWE7YUFBVztZQUM3REMsUUFBUVYsUUFBUUksS0FBSyxFQUFFTSxVQUFVO1lBQ2pDLEdBQUlaLFdBQVdTLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDMUJJLFlBQVk7Z0JBQ1ZDLGFBQWE7b0JBQ1hDLE1BQU07b0JBQ05DLGFBQWE7d0JBQ1hDLG9CQUFvQlo7d0JBQ3BCRjt3QkFDQUM7b0JBQ0Y7Z0JBQ0Y7WUFDRjtRQUNGO1FBQ0FjLFFBQVE7ZUFDRmxCLFdBQVdrQixNQUFNLElBQUksRUFBRTtlQUN4QnJCO1NBQ0o7UUFDRHNCLE1BQU07WUFDSixHQUFJLE9BQU9uQixZQUFZbUIsU0FBUyxXQUFXbkIsV0FBV21CLElBQUksR0FBRyxDQUFDLENBQUM7WUFDL0RDLFlBQVk7Z0JBQ1Y5QixrQkFBa0JlO2FBQ25CO1FBQ0g7UUFDQWdCLFFBQVE7WUFDTkMsTUFBTTdCLGNBQWM7Z0JBQUVjO1lBQVc7WUFDakNnQixRQUFRaEMsZ0JBQWdCO2dCQUFFZ0I7WUFBVztZQUNyQ2lCLFFBQVE5QixnQkFBZ0I7Z0JBQUVhO1lBQVc7WUFDckNrQixRQUFRakMsZ0JBQWdCO2dCQUFFZTtZQUFXO1FBQ3ZDO1FBQ0FtQixXQUFXO2VBQ0wxQixXQUFXMEIsU0FBUyxJQUFJLEVBQUU7WUFDOUI5QixxQkFBcUI7Z0JBQUVTO2dCQUFVSDtZQUFRO1lBQ3pDUCx1QkFBdUI7Z0JBQUVzQixvQkFBb0JaO1lBQVM7U0FDdkQ7UUFDRHNCLE9BQU87WUFDTEMsYUFBYTtnQkFDWDtvQkFDRSxNQUFNQyxjQUFjLE1BQU0vQjtvQkFFMUIseUVBQXlFO29CQUN6RSxNQUFNZ0MsYUFBYUQsWUFBWUUsTUFBTTtvQkFDckNELFdBQVdFLE9BQU8sQ0FBQ0MsQ0FBQUE7d0JBQ2pCLElBQUlBLE9BQU9DLElBQUksQ0FBQ0MsUUFBUSxDQUFDLGdCQUFnQkYsT0FBT0MsSUFBSSxDQUFDQyxRQUFRLENBQUMsWUFBWTs0QkFDeEVOLFlBQVlKLE1BQU0sQ0FBQ1EsT0FBT0MsSUFBSTt3QkFDaEM7b0JBQ0Y7Z0JBQ0Y7YUFDRDtRQUNIO0lBQ0Y7SUFFQSxJQUFJaEMsUUFBUUksS0FBSyxFQUFFOEIscUJBQXFCO1FBQ3RDNUIsc0JBQXNCTixRQUFRSSxLQUFLLENBQUM4QixtQkFBbUIsQ0FBQztZQUN0RHBDLFlBQVlRO1FBQ2Q7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"after-login-form.d.ts","sourceRoot":"","sources":["../../../../src/clerk/plugin/components/after-login-form.tsx"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,CAAC,EAAE,iBAAiB,EAAE,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,+BAmElF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useRouter } from 'next/navigation';
|
|
5
|
+
import { loadClerkInstance } from '../../utils/load-clerk-instance';
|
|
6
|
+
export function AfterLoginForm({ redirectOnLoginTo }) {
|
|
7
|
+
const router = useRouter();
|
|
8
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
9
|
+
const [loginSuccessful, setLoginSuccessful] = useState(false);
|
|
10
|
+
useEffect(()=>{
|
|
11
|
+
loadClerkInstance().catch((err)=>console.error('Error loading clerk:', err));
|
|
12
|
+
}, []);
|
|
13
|
+
useEffect(()=>{
|
|
14
|
+
const form = document.querySelector('form.login__form');
|
|
15
|
+
if (!form) return;
|
|
16
|
+
const onSubmit = async (event)=>{
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
setIsLoading(true);
|
|
19
|
+
try {
|
|
20
|
+
const emailInput = form.querySelector('input[name="email"]');
|
|
21
|
+
if (!emailInput) throw new Error('Email input not found');
|
|
22
|
+
const passwordInput = form.querySelector('input[name="password"]');
|
|
23
|
+
if (!passwordInput) throw new Error('Password input not found');
|
|
24
|
+
const email = emailInput.value;
|
|
25
|
+
if (!email) throw new Error('Email is required');
|
|
26
|
+
const password = passwordInput.value;
|
|
27
|
+
if (!password) throw new Error('Password is required');
|
|
28
|
+
const clerk = await loadClerkInstance();
|
|
29
|
+
if (!clerk) return;
|
|
30
|
+
const signInAttempt = await clerk.client?.signIn.create({
|
|
31
|
+
identifier: email,
|
|
32
|
+
password,
|
|
33
|
+
strategy: 'password'
|
|
34
|
+
});
|
|
35
|
+
if (signInAttempt?.status !== 'complete') {
|
|
36
|
+
console.error(JSON.stringify(signInAttempt, null, 2));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
setLoginSuccessful(true);
|
|
40
|
+
document.querySelector('.payload-toast-item')?.remove();
|
|
41
|
+
await clerk.setActive({
|
|
42
|
+
session: signInAttempt.createdSessionId
|
|
43
|
+
});
|
|
44
|
+
router.push(redirectOnLoginTo ?? '/admin');
|
|
45
|
+
} catch (error) {
|
|
46
|
+
console.log('Error logging in:', error);
|
|
47
|
+
} finally{
|
|
48
|
+
setIsLoading(false);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
form.addEventListener('submit', onSubmit);
|
|
52
|
+
return ()=>form.removeEventListener('submit', onSubmit);
|
|
53
|
+
}, []);
|
|
54
|
+
return /*#__PURE__*/ _jsx(_Fragment, {
|
|
55
|
+
children: /*#__PURE__*/ _jsx("style", {
|
|
56
|
+
children: `
|
|
57
|
+
.payload-toast-item {
|
|
58
|
+
opacity: ${isLoading || loginSuccessful ? '0' : '1'} !important;
|
|
59
|
+
}
|
|
60
|
+
`
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29tcG9uZW50cy9hZnRlci1sb2dpbi1mb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBsb2FkQ2xlcmtJbnN0YW5jZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvYWQtY2xlcmstaW5zdGFuY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gQWZ0ZXJMb2dpbkZvcm0oeyByZWRpcmVjdE9uTG9naW5UbyB9OiB7IHJlZGlyZWN0T25Mb2dpblRvOiBzdHJpbmcgfSkge1xuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2xvZ2luU3VjY2Vzc2Z1bCwgc2V0TG9naW5TdWNjZXNzZnVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxvYWRDbGVya0luc3RhbmNlKCkuY2F0Y2goKGVycjogYW55KSA9PiBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGNsZXJrOicsIGVycikpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBmb3JtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZm9ybS5sb2dpbl9fZm9ybScpO1xuICAgIGlmICghZm9ybSkgcmV0dXJuO1xuXG4gICAgY29uc3Qgb25TdWJtaXQgPSBhc3luYyAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZW1haWxJbnB1dCA9IGZvcm0ucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1cImVtYWlsXCJdJykgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgaWYgKCFlbWFpbElucHV0KSB0aHJvdyBuZXcgRXJyb3IoJ0VtYWlsIGlucHV0IG5vdCBmb3VuZCcpO1xuXG4gICAgICAgIGNvbnN0IHBhc3N3b3JkSW5wdXQgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9XCJwYXNzd29yZFwiXScpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmICghcGFzc3dvcmRJbnB1dCkgdGhyb3cgbmV3IEVycm9yKCdQYXNzd29yZCBpbnB1dCBub3QgZm91bmQnKTtcblxuICAgICAgICBjb25zdCBlbWFpbCA9IGVtYWlsSW5wdXQudmFsdWU7XG4gICAgICAgIGlmICghZW1haWwpIHRocm93IG5ldyBFcnJvcignRW1haWwgaXMgcmVxdWlyZWQnKTtcblxuICAgICAgICBjb25zdCBwYXNzd29yZCA9IHBhc3N3b3JkSW5wdXQudmFsdWU7XG4gICAgICAgIGlmICghcGFzc3dvcmQpIHRocm93IG5ldyBFcnJvcignUGFzc3dvcmQgaXMgcmVxdWlyZWQnKTtcblxuICAgICAgICBjb25zdCBjbGVyayA9IGF3YWl0IGxvYWRDbGVya0luc3RhbmNlKCk7XG4gICAgICAgIGlmICghY2xlcmspIHJldHVybjtcbiAgICAgICAgY29uc3Qgc2lnbkluQXR0ZW1wdCA9IGF3YWl0IGNsZXJrLmNsaWVudD8uc2lnbkluLmNyZWF0ZSh7XG4gICAgICAgICAgaWRlbnRpZmllcjogZW1haWwsXG4gICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgc3RyYXRlZ3k6ICdwYXNzd29yZCcsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChzaWduSW5BdHRlbXB0Py5zdGF0dXMgIT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KHNpZ25JbkF0dGVtcHQsIG51bGwsIDIpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRMb2dpblN1Y2Nlc3NmdWwodHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wYXlsb2FkLXRvYXN0LWl0ZW0nKT8ucmVtb3ZlKCk7XG4gICAgICAgIGF3YWl0IGNsZXJrLnNldEFjdGl2ZSh7IHNlc3Npb246IHNpZ25JbkF0dGVtcHQuY3JlYXRlZFNlc3Npb25JZCB9KTtcbiAgICAgICAgcm91dGVyLnB1c2gocmVkaXJlY3RPbkxvZ2luVG8gPz8gJy9hZG1pbicpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIGxvZ2dpbmcgaW46JywgZXJyb3IpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9ybS5hZGRFdmVudExpc3RlbmVyKCdzdWJtaXQnLCBvblN1Ym1pdCk7XG4gICAgcmV0dXJuICgpID0+IGZvcm0ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3VibWl0Jywgb25TdWJtaXQpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHN0eWxlPntgXG4gICAgICAgIC5wYXlsb2FkLXRvYXN0LWl0ZW0ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7aXNMb2FkaW5nIHx8IGxvZ2luU3VjY2Vzc2Z1bCA/ICcwJyA6ICcxJ30gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlUm91dGVyIiwibG9hZENsZXJrSW5zdGFuY2UiLCJBZnRlckxvZ2luRm9ybSIsInJlZGlyZWN0T25Mb2dpblRvIiwicm91dGVyIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwibG9naW5TdWNjZXNzZnVsIiwic2V0TG9naW5TdWNjZXNzZnVsIiwiY2F0Y2giLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJmb3JtIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwib25TdWJtaXQiLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiZW1haWxJbnB1dCIsIkVycm9yIiwicGFzc3dvcmRJbnB1dCIsImVtYWlsIiwidmFsdWUiLCJwYXNzd29yZCIsImNsZXJrIiwic2lnbkluQXR0ZW1wdCIsImNsaWVudCIsInNpZ25JbiIsImNyZWF0ZSIsImlkZW50aWZpZXIiLCJzdHJhdGVneSIsInN0YXR1cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZW1vdmUiLCJzZXRBY3RpdmUiLCJzZXNzaW9uIiwiY3JlYXRlZFNlc3Npb25JZCIsInB1c2giLCJsb2ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxTQUFTQSxTQUFTLEVBQUVDLFFBQVEsUUFBUSxRQUFRO0FBQzVDLFNBQVNDLFNBQVMsUUFBUSxrQkFBa0I7QUFDNUMsU0FBU0MsaUJBQWlCLFFBQVEsa0NBQWtDO0FBRXBFLE9BQU8sU0FBU0MsZUFBZSxFQUFFQyxpQkFBaUIsRUFBaUM7SUFDakYsTUFBTUMsU0FBU0o7SUFDZixNQUFNLENBQUNLLFdBQVdDLGFBQWEsR0FBR1AsU0FBUztJQUMzQyxNQUFNLENBQUNRLGlCQUFpQkMsbUJBQW1CLEdBQUdULFNBQVM7SUFFdkRELFVBQVU7UUFDUkcsb0JBQW9CUSxLQUFLLENBQUMsQ0FBQ0MsTUFBYUMsUUFBUUMsS0FBSyxDQUFDLHdCQUF3QkY7SUFDaEYsR0FBRyxFQUFFO0lBRUxaLFVBQVU7UUFDUixNQUFNZSxPQUFPQyxTQUFTQyxhQUFhLENBQUM7UUFDcEMsSUFBSSxDQUFDRixNQUFNO1FBRVgsTUFBTUcsV0FBVyxPQUFPQztZQUN0QkEsTUFBTUMsY0FBYztZQUNwQlosYUFBYTtZQUViLElBQUk7Z0JBQ0YsTUFBTWEsYUFBYU4sS0FBS0UsYUFBYSxDQUFDO2dCQUN0QyxJQUFJLENBQUNJLFlBQVksTUFBTSxJQUFJQyxNQUFNO2dCQUVqQyxNQUFNQyxnQkFBZ0JSLEtBQUtFLGFBQWEsQ0FBQztnQkFDekMsSUFBSSxDQUFDTSxlQUFlLE1BQU0sSUFBSUQsTUFBTTtnQkFFcEMsTUFBTUUsUUFBUUgsV0FBV0ksS0FBSztnQkFDOUIsSUFBSSxDQUFDRCxPQUFPLE1BQU0sSUFBSUYsTUFBTTtnQkFFNUIsTUFBTUksV0FBV0gsY0FBY0UsS0FBSztnQkFDcEMsSUFBSSxDQUFDQyxVQUFVLE1BQU0sSUFBSUosTUFBTTtnQkFFL0IsTUFBTUssUUFBUSxNQUFNeEI7Z0JBQ3BCLElBQUksQ0FBQ3dCLE9BQU87Z0JBQ1osTUFBTUMsZ0JBQWdCLE1BQU1ELE1BQU1FLE1BQU0sRUFBRUMsT0FBT0MsT0FBTztvQkFDdERDLFlBQVlSO29CQUNaRTtvQkFDQU8sVUFBVTtnQkFDWjtnQkFFQSxJQUFJTCxlQUFlTSxXQUFXLFlBQVk7b0JBQ3hDckIsUUFBUUMsS0FBSyxDQUFDcUIsS0FBS0MsU0FBUyxDQUFDUixlQUFlLE1BQU07b0JBQ2xEO2dCQUNGO2dCQUVBbEIsbUJBQW1CO2dCQUNuQk0sU0FBU0MsYUFBYSxDQUFDLHdCQUF3Qm9CO2dCQUMvQyxNQUFNVixNQUFNVyxTQUFTLENBQUM7b0JBQUVDLFNBQVNYLGNBQWNZLGdCQUFnQjtnQkFBQztnQkFDaEVsQyxPQUFPbUMsSUFBSSxDQUFDcEMscUJBQXFCO1lBQ25DLEVBQUUsT0FBT1MsT0FBTztnQkFDZEQsUUFBUTZCLEdBQUcsQ0FBQyxxQkFBcUI1QjtZQUNuQyxTQUFVO2dCQUNSTixhQUFhO1lBQ2Y7UUFDRjtRQUVBTyxLQUFLNEIsZ0JBQWdCLENBQUMsVUFBVXpCO1FBQ2hDLE9BQU8sSUFBTUgsS0FBSzZCLG1CQUFtQixDQUFDLFVBQVUxQjtJQUNsRCxHQUFHLEVBQUU7SUFFTCxxQkFDRTtrQkFDRSxjQUFBLEtBQUMyQjtzQkFBTyxDQUFDOzttQkFFSSxFQUFFdEMsYUFBYUUsa0JBQWtCLE1BQU0sSUFBSTs7TUFFeEQsQ0FBQzs7O0FBR1AifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout-button.d.ts","sourceRoot":"","sources":["../../../../src/clerk/plugin/components/logout-button.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,mCAkDxB,CAAC"}
|