payload-auth 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/better-auth/adapter/index.d.ts +2 -2
- package/dist/better-auth/adapter/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/index.js +115 -69
- package/dist/better-auth/adapter/transform/index.d.ts +22 -10
- package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/transform/index.js +387 -96
- package/dist/better-auth/adapter/types.d.ts +2 -1
- package/dist/better-auth/adapter/types.d.ts.map +1 -1
- package/dist/better-auth/adapter/types.js +1 -1
- package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +5 -0
- package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/check-username-plugin.js +5 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +8 -8
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
- package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts +14 -0
- package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-admin-routes.js +6 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
- package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
- package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-requst-collection.js +14 -0
- package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/index.js +2 -2
- package/dist/better-auth/plugin/{lib → helpers}/prepare-session-data.d.ts +3 -3
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.js +42 -0
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +4 -4
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/serialize-cookie.js +34 -34
- package/dist/better-auth/plugin/index.d.ts +7 -7
- package/dist/better-auth/plugin/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/index.js +145 -37
- package/dist/better-auth/plugin/{collections → lib/build-collections}/accounts/hooks/sync-password-to-user.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +47 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +159 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +107 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.js +196 -0
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts +12 -0
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/index.js +96 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.js +91 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.js +43 -0
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/members.js +71 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +98 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +113 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +67 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.js +59 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js +108 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.js +123 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +83 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.js +45 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.js +56 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +96 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +13 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +67 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +115 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +110 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +62 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +42 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +79 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +153 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-login.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +75 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-logout.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +74 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +45 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/before-login.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +18 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +14 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/sync-account.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +82 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.js +345 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
- package/dist/better-auth/plugin/lib/{payload-access.d.ts → build-collections/utils/payload-access.d.ts} +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +64 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.js +63 -0
- package/dist/better-auth/plugin/lib/{config.d.ts → constants.d.ts} +13 -1
- package/dist/better-auth/plugin/lib/constants.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/constants.js +56 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +2 -2
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/get-payload-auth.js +2 -2
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +4 -4
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +26 -43
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -3
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.js +7 -7
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +17 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +118 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +58 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +86 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +17 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +17 -0
- package/dist/better-auth/plugin/lib/{ensure-password-set-before-create.d.ts → sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts} +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
- package/dist/better-auth/plugin/lib/{respect-save-to-jwt-fields-middleware.d.ts → sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts} +6 -6
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +30 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +8 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +115 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +31 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +196 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +131 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +14 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +111 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.scss +51 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.js +23 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.scss +8 -0
- package/dist/better-auth/plugin/payload/components/icons.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/icons.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/icons.js +437 -0
- package/dist/better-auth/plugin/payload/components/logo.d.ts +3 -2
- package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/logo.js +22 -34
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts +6 -0
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/logout-button.js +27 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.js +8 -0
- package/dist/better-auth/plugin/payload/components/styles.css +2 -2
- package/dist/better-auth/plugin/payload/components/token-field.d.ts +5 -0
- package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/token-field.js +30 -0
- package/dist/better-auth/plugin/payload/exports/client.d.ts +6 -3
- package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/exports/client.js +7 -4
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts +9 -5
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/exports/rsc.js +10 -6
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +8 -0
- package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +15 -0
- package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/generate-metadata.js +74 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +23 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +12 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/client.js +92 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +11 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.js +84 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +25 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +14 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +95 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +10 -4
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +124 -92
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.scss +29 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.js +119 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.js +69 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
- package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +5 -0
- package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/inactivity/index.js +12 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +54 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +121 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +31 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +56 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +3 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +17 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.js +137 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.scss +23 -0
- package/dist/better-auth/plugin/payload/views/login/index.d.ts +10 -5
- package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/login/index.js +81 -61
- package/dist/better-auth/plugin/payload/views/login/index.scss +10 -0
- package/dist/better-auth/plugin/payload/views/logout/client.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/logout/client.js +76 -0
- package/dist/better-auth/plugin/payload/views/logout/index.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/logout/index.js +14 -0
- package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +7 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.js +72 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +5 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.js +81 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.scss +9 -0
- package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +3 -0
- package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +11 -0
- package/dist/better-auth/plugin/types.d.ts +170 -33
- package/dist/better-auth/plugin/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/types.js +1 -1
- package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +1 -1
- package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -1
- package/dist/clerk/utils/clerk-user.d.ts +0 -3
- package/dist/clerk/utils/clerk-user.d.ts.map +1 -1
- package/dist/clerk/utils/clerk-user.js +1 -3
- package/dist/clerk/utils/load-clerk-instance.d.ts +1 -1
- package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -1
- package/package.json +13 -13
- package/LICENSE.md +0 -17
- package/dist/better-auth/adapter/dev/bin/run.d.ts +0 -2
- package/dist/better-auth/adapter/dev/bin/run.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/bin/run.js +0 -64
- package/dist/better-auth/adapter/dev/bin/schema.d.ts +0 -23
- package/dist/better-auth/adapter/dev/bin/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/bin/schema.js +0 -160
- package/dist/better-auth/adapter/dev/collections.d.ts +0 -4
- package/dist/better-auth/adapter/dev/collections.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/collections.js +0 -212
- package/dist/better-auth/adapter/dev/index.d.ts +0 -4
- package/dist/better-auth/adapter/dev/index.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/index.js +0 -168
- package/dist/better-auth/adapter/test/adapter.test.d.ts +0 -2
- package/dist/better-auth/adapter/test/adapter.test.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/adapter.test.js +0 -181
- package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +0 -8
- package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/better-auth-adapter-test.js +0 -425
- package/dist/better-auth/adapter/test/schema.test.d.ts +0 -2
- package/dist/better-auth/adapter/test/schema.test.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/schema.test.js +0 -796
- package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +0 -24
- package/dist/better-auth/adapter/test/test_payload1/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/test_payload1/schema.js +0 -177
- package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +0 -24
- package/dist/better-auth/adapter/test/test_payload2/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/test_payload2/schema.js +0 -167
- package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +0 -24
- package/dist/better-auth/adapter/test/test_payload3/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/test_payload3/schema.js +0 -198
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +0 -47
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +0 -7
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +0 -106
- package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-login.js +0 -71
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +0 -49
- package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/before-login.js +0 -18
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +0 -6
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +0 -33
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +0 -3
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +0 -14
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +0 -82
- package/dist/better-auth/plugin/lib/auth-strategy.d.ts +0 -9
- package/dist/better-auth/plugin/lib/auth-strategy.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/auth-strategy.js +0 -48
- package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +0 -12
- package/dist/better-auth/plugin/lib/build-collection-configs.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/build-collection-configs.js +0 -1558
- package/dist/better-auth/plugin/lib/config.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/config.js +0 -44
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +0 -24
- package/dist/better-auth/plugin/lib/password.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/password.js +0 -63
- package/dist/better-auth/plugin/lib/payload-access.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/payload-access.js +0 -64
- package/dist/better-auth/plugin/lib/prepare-session-data.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/prepare-session-data.js +0 -42
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +0 -30
- package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +0 -6
- package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/sanitize-auth-options.js +0 -298
- package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +0 -7
- package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/admin-buttons.js +0 -219
- package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +0 -2
- package/dist/better-auth/plugin/payload/components/login-redirect.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/login-redirect.js +0 -6
- package/dist/better-auth/plugin/payload/components/logout.d.ts +0 -3
- package/dist/better-auth/plugin/payload/components/logout.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/logout.js +0 -61
- package/dist/better-auth/plugin/payload/components/sign-in.d.ts +0 -4
- package/dist/better-auth/plugin/payload/components/sign-in.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/sign-in.js +0 -384
- package/dist/better-auth/plugin/payload/components/sign-up.d.ts +0 -7
- package/dist/better-auth/plugin/payload/components/sign-up.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/sign-up.js +0 -503
- package/dist/better-auth/plugin/payload/components/ui/button.d.ts +0 -11
- package/dist/better-auth/plugin/payload/components/ui/button.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/button.js +0 -42
- package/dist/better-auth/plugin/payload/components/ui/card.d.ts +0 -10
- package/dist/better-auth/plugin/payload/components/ui/card.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/card.js +0 -55
- package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +0 -5
- package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/checkbox.js +0 -23
- package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +0 -3
- package/dist/better-auth/plugin/payload/components/ui/cn.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/cn.js +0 -7
- package/dist/better-auth/plugin/payload/components/ui/input.d.ts +0 -4
- package/dist/better-auth/plugin/payload/components/ui/input.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/input.js +0 -14
- package/dist/better-auth/plugin/payload/components/ui/label.d.ts +0 -5
- package/dist/better-auth/plugin/payload/components/ui/label.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/label.js +0 -15
- package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +0 -3
- package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/password-input.js +0 -55
- /package/dist/better-auth/plugin/lib/{password.d.ts → sanitize-better-auth-options/utils/password.d.ts} +0 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { configureAdminPlugin } from "./admin-plugin";
|
|
2
|
+
import { configureApiKeyPlugin } from "./api-key-plugin";
|
|
3
|
+
import { configureOrganizationPlugin } from "./organizations-plugin";
|
|
4
|
+
import { configurePasskeyPlugin } from "./passkey-plugin";
|
|
5
|
+
import { configureSsoPlugin } from "./sso-plugin";
|
|
6
|
+
import { configureOidcPlugin } from "./oidc-plugin";
|
|
7
|
+
import { supportedBetterAuthPluginIds } from "../constants";
|
|
8
|
+
import { ensurePasswordSetBeforeUserCreate } from "./utils/ensure-password-set-before-create";
|
|
9
|
+
import { verifyPassword, hashPassword } from "./utils/password";
|
|
10
|
+
import { saveToJwtMiddleware } from "./utils/save-to-jwt-middleware";
|
|
11
|
+
/**
|
|
12
|
+
* Sanitizes the BetterAuth options
|
|
13
|
+
*/ export function sanitizeBetterAuthOptions({ config, options }) {
|
|
14
|
+
const baOptions = options.betterAuthOptions || {};
|
|
15
|
+
const userCollectionSlug = options.users?.slug ?? "users";
|
|
16
|
+
const accountCollectionSlug = options.accounts?.slug ?? "accounts";
|
|
17
|
+
const sessionCollectionSlug = options.sessions?.slug ?? "sessions";
|
|
18
|
+
const verificationCollectionSlug = options.verifications?.slug ?? "verifications";
|
|
19
|
+
// Initialize with base configuration
|
|
20
|
+
let res = {
|
|
21
|
+
...baOptions,
|
|
22
|
+
user: {
|
|
23
|
+
...baOptions.user || {},
|
|
24
|
+
modelName: userCollectionSlug
|
|
25
|
+
},
|
|
26
|
+
account: {
|
|
27
|
+
...baOptions.account || {},
|
|
28
|
+
modelName: accountCollectionSlug,
|
|
29
|
+
fields: {
|
|
30
|
+
userId: "user"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
session: {
|
|
34
|
+
...baOptions.session || {},
|
|
35
|
+
modelName: sessionCollectionSlug,
|
|
36
|
+
fields: {
|
|
37
|
+
userId: "user"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
verification: {
|
|
41
|
+
...baOptions.verification || {},
|
|
42
|
+
modelName: verificationCollectionSlug
|
|
43
|
+
},
|
|
44
|
+
emailAndPassword: {
|
|
45
|
+
...baOptions.emailAndPassword || {},
|
|
46
|
+
enabled: baOptions.emailAndPassword?.enabled ?? true
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
// Configure password handling
|
|
50
|
+
if (res.emailAndPassword?.enabled && !options.disableDefaultPayloadAuth) {
|
|
51
|
+
res.emailAndPassword.password = {
|
|
52
|
+
...res.emailAndPassword.password || {},
|
|
53
|
+
verify: ({ hash, password })=>verifyPassword({
|
|
54
|
+
hash,
|
|
55
|
+
password
|
|
56
|
+
}),
|
|
57
|
+
hash: (password)=>hashPassword(password)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// Handle verification email blocking
|
|
61
|
+
if (options.users?.blockFirstBetterAuthVerificationEmail && !options.disableDefaultPayloadAuth) {
|
|
62
|
+
const originalSendEmail = baOptions?.emailVerification?.sendVerificationEmail;
|
|
63
|
+
if (typeof originalSendEmail === "function") {
|
|
64
|
+
res.emailVerification = res.emailVerification || {};
|
|
65
|
+
res.emailVerification.sendVerificationEmail = async (data, request)=>{
|
|
66
|
+
try {
|
|
67
|
+
const timeSinceCreation = new Date().getTime() - new Date(data.user.createdAt).getTime();
|
|
68
|
+
// Skip if user was created less than a minute ago (rely on Payload's email)
|
|
69
|
+
if (timeSinceCreation >= 60000) {
|
|
70
|
+
await originalSendEmail(data, request);
|
|
71
|
+
}
|
|
72
|
+
} catch (error) {
|
|
73
|
+
console.error("Error sending verification email:", error);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Ensure password is set before user creation
|
|
79
|
+
if (!options.disableDefaultPayloadAuth) {
|
|
80
|
+
ensurePasswordSetBeforeUserCreate(res);
|
|
81
|
+
}
|
|
82
|
+
// Process plugins
|
|
83
|
+
if (res.plugins?.length) {
|
|
84
|
+
try {
|
|
85
|
+
// Filter to only supported plugins
|
|
86
|
+
const supportedPlugins = res.plugins.filter((plugin)=>Object.values(supportedBetterAuthPluginIds).includes(plugin.id));
|
|
87
|
+
// Log warning for unsupported plugins
|
|
88
|
+
if (supportedPlugins.length !== res.plugins.length) {
|
|
89
|
+
const unsupportedIds = res.plugins.filter((p)=>!Object.values(supportedBetterAuthPluginIds).includes(p.id)).map((p)=>p.id).join(", ");
|
|
90
|
+
console.warn(`Unsupported BetterAuth plugins: ${unsupportedIds}. Supported: ${Object.values(supportedBetterAuthPluginIds).join(", ")}`);
|
|
91
|
+
}
|
|
92
|
+
// Configure plugins by type
|
|
93
|
+
const pluginConfigurators = {
|
|
94
|
+
[supportedBetterAuthPluginIds.admin]: (p)=>configureAdminPlugin(p, options),
|
|
95
|
+
[supportedBetterAuthPluginIds.apiKey]: (p)=>configureApiKeyPlugin(p),
|
|
96
|
+
[supportedBetterAuthPluginIds.passkey]: (p)=>configurePasskeyPlugin(p),
|
|
97
|
+
[supportedBetterAuthPluginIds.organization]: (p)=>configureOrganizationPlugin(p),
|
|
98
|
+
[supportedBetterAuthPluginIds.sso]: (p)=>configureSsoPlugin(p),
|
|
99
|
+
[supportedBetterAuthPluginIds.oidc]: (p)=>configureOidcPlugin(p)
|
|
100
|
+
};
|
|
101
|
+
supportedPlugins.forEach((plugin)=>{
|
|
102
|
+
const configurator = pluginConfigurators[plugin.id];
|
|
103
|
+
if (configurator) configurator(plugin);
|
|
104
|
+
});
|
|
105
|
+
res.plugins = supportedPlugins;
|
|
106
|
+
} catch (error) {
|
|
107
|
+
throw new Error(`Error sanitizing BetterAuth plugins: ${error}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
saveToJwtMiddleware({
|
|
111
|
+
sanitizedOptions: res,
|
|
112
|
+
payloadConfig: config,
|
|
113
|
+
pluginOptions: options
|
|
114
|
+
});
|
|
115
|
+
return res;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlndXJlQWRtaW5QbHVnaW4gfSBmcm9tIFwiLi9hZG1pbi1wbHVnaW5cIjtcbmltcG9ydCB7IGNvbmZpZ3VyZUFwaUtleVBsdWdpbiB9IGZyb20gXCIuL2FwaS1rZXktcGx1Z2luXCI7XG5pbXBvcnQgeyBjb25maWd1cmVPcmdhbml6YXRpb25QbHVnaW4gfSBmcm9tIFwiLi9vcmdhbml6YXRpb25zLXBsdWdpblwiO1xuaW1wb3J0IHsgY29uZmlndXJlUGFzc2tleVBsdWdpbiB9IGZyb20gXCIuL3Bhc3NrZXktcGx1Z2luXCI7XG5pbXBvcnQgeyBjb25maWd1cmVTc29QbHVnaW4gfSBmcm9tIFwiLi9zc28tcGx1Z2luXCI7XG5pbXBvcnQgeyBjb25maWd1cmVPaWRjUGx1Z2luIH0gZnJvbSBcIi4vb2lkYy1wbHVnaW5cIjtcbmltcG9ydCB0eXBlIHtcbiAgQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnMsXG4gIFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLFxufSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IHN1cHBvcnRlZEJldHRlckF1dGhQbHVnaW5JZHMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBlbnN1cmVQYXNzd29yZFNldEJlZm9yZVVzZXJDcmVhdGUgfSBmcm9tIFwiLi91dGlscy9lbnN1cmUtcGFzc3dvcmQtc2V0LWJlZm9yZS1jcmVhdGVcIjtcbmltcG9ydCB7IHZlcmlmeVBhc3N3b3JkLCBoYXNoUGFzc3dvcmQgfSBmcm9tIFwiLi91dGlscy9wYXNzd29yZFwiO1xuaW1wb3J0IHR5cGUgeyBDb25maWcsIFBheWxvYWQgfSBmcm9tIFwicGF5bG9hZFwiO1xuaW1wb3J0IHsgc2F2ZVRvSnd0TWlkZGxld2FyZSB9IGZyb20gXCIuL3V0aWxzL3NhdmUtdG8tand0LW1pZGRsZXdhcmVcIjtcbi8qKlxuICogU2FuaXRpemVzIHRoZSBCZXR0ZXJBdXRoIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplQmV0dGVyQXV0aE9wdGlvbnMoe1xuICBjb25maWcsXG4gIG9wdGlvbnMsXG59OiB7XG4gIGNvbmZpZzogUGF5bG9hZFtcImNvbmZpZ1wiXSB8IENvbmZpZztcbiAgb3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnM7XG59KTogU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMge1xuICBjb25zdCBiYU9wdGlvbnMgPSBvcHRpb25zLmJldHRlckF1dGhPcHRpb25zIHx8IHt9O1xuICBjb25zdCB1c2VyQ29sbGVjdGlvblNsdWcgPSBvcHRpb25zLnVzZXJzPy5zbHVnID8/IFwidXNlcnNcIjtcbiAgY29uc3QgYWNjb3VudENvbGxlY3Rpb25TbHVnID0gb3B0aW9ucy5hY2NvdW50cz8uc2x1ZyA/PyBcImFjY291bnRzXCI7XG4gIGNvbnN0IHNlc3Npb25Db2xsZWN0aW9uU2x1ZyA9IG9wdGlvbnMuc2Vzc2lvbnM/LnNsdWcgPz8gXCJzZXNzaW9uc1wiO1xuICBjb25zdCB2ZXJpZmljYXRpb25Db2xsZWN0aW9uU2x1ZyA9XG4gICAgb3B0aW9ucy52ZXJpZmljYXRpb25zPy5zbHVnID8/IFwidmVyaWZpY2F0aW9uc1wiO1xuXG4gIC8vIEluaXRpYWxpemUgd2l0aCBiYXNlIGNvbmZpZ3VyYXRpb25cbiAgbGV0IHJlczogU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgPSB7XG4gICAgLi4uYmFPcHRpb25zLFxuICAgIHVzZXI6IHtcbiAgICAgIC4uLihiYU9wdGlvbnMudXNlciB8fCB7fSksXG4gICAgICBtb2RlbE5hbWU6IHVzZXJDb2xsZWN0aW9uU2x1ZyxcbiAgICB9LFxuICAgIGFjY291bnQ6IHtcbiAgICAgIC4uLihiYU9wdGlvbnMuYWNjb3VudCB8fCB7fSksXG4gICAgICBtb2RlbE5hbWU6IGFjY291bnRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgIGZpZWxkczogeyB1c2VySWQ6IFwidXNlclwiIH0sXG4gICAgfSxcbiAgICBzZXNzaW9uOiB7XG4gICAgICAuLi4oYmFPcHRpb25zLnNlc3Npb24gfHwge30pLFxuICAgICAgbW9kZWxOYW1lOiBzZXNzaW9uQ29sbGVjdGlvblNsdWcsXG4gICAgICBmaWVsZHM6IHsgdXNlcklkOiBcInVzZXJcIiB9LFxuICAgIH0sXG4gICAgdmVyaWZpY2F0aW9uOiB7XG4gICAgICAuLi4oYmFPcHRpb25zLnZlcmlmaWNhdGlvbiB8fCB7fSksXG4gICAgICBtb2RlbE5hbWU6IHZlcmlmaWNhdGlvbkNvbGxlY3Rpb25TbHVnLFxuICAgIH0sXG4gICAgZW1haWxBbmRQYXNzd29yZDoge1xuICAgICAgLi4uKGJhT3B0aW9ucy5lbWFpbEFuZFBhc3N3b3JkIHx8IHt9KSxcbiAgICAgIGVuYWJsZWQ6IGJhT3B0aW9ucy5lbWFpbEFuZFBhc3N3b3JkPy5lbmFibGVkID8/IHRydWUsXG4gICAgfSxcbiAgfTtcblxuICAvLyBDb25maWd1cmUgcGFzc3dvcmQgaGFuZGxpbmdcbiAgaWYgKHJlcy5lbWFpbEFuZFBhc3N3b3JkPy5lbmFibGVkICYmICFvcHRpb25zLmRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGgpIHtcbiAgICByZXMuZW1haWxBbmRQYXNzd29yZC5wYXNzd29yZCA9IHtcbiAgICAgIC4uLihyZXMuZW1haWxBbmRQYXNzd29yZC5wYXNzd29yZCB8fCB7fSksXG4gICAgICB2ZXJpZnk6ICh7IGhhc2gsIHBhc3N3b3JkIH0pID0+IHZlcmlmeVBhc3N3b3JkKHsgaGFzaCwgcGFzc3dvcmQgfSksXG4gICAgICBoYXNoOiAocGFzc3dvcmQpID0+IGhhc2hQYXNzd29yZChwYXNzd29yZCksXG4gICAgfTtcbiAgfVxuXG4gIC8vIEhhbmRsZSB2ZXJpZmljYXRpb24gZW1haWwgYmxvY2tpbmdcbiAgaWYgKFxuICAgIG9wdGlvbnMudXNlcnM/LmJsb2NrRmlyc3RCZXR0ZXJBdXRoVmVyaWZpY2F0aW9uRW1haWwgJiZcbiAgICAhb3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICkge1xuICAgIGNvbnN0IG9yaWdpbmFsU2VuZEVtYWlsID1cbiAgICAgIGJhT3B0aW9ucz8uZW1haWxWZXJpZmljYXRpb24/LnNlbmRWZXJpZmljYXRpb25FbWFpbDtcbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsU2VuZEVtYWlsID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJlcy5lbWFpbFZlcmlmaWNhdGlvbiA9IHJlcy5lbWFpbFZlcmlmaWNhdGlvbiB8fCB7fTtcbiAgICAgIHJlcy5lbWFpbFZlcmlmaWNhdGlvbi5zZW5kVmVyaWZpY2F0aW9uRW1haWwgPSBhc3luYyAoZGF0YSwgcmVxdWVzdCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRpbWVTaW5jZUNyZWF0aW9uID1cbiAgICAgICAgICAgIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbmV3IERhdGUoZGF0YS51c2VyLmNyZWF0ZWRBdCkuZ2V0VGltZSgpO1xuICAgICAgICAgIC8vIFNraXAgaWYgdXNlciB3YXMgY3JlYXRlZCBsZXNzIHRoYW4gYSBtaW51dGUgYWdvIChyZWx5IG9uIFBheWxvYWQncyBlbWFpbClcbiAgICAgICAgICBpZiAodGltZVNpbmNlQ3JlYXRpb24gPj0gNjAwMDApIHtcbiAgICAgICAgICAgIGF3YWl0IG9yaWdpbmFsU2VuZEVtYWlsKGRhdGEsIHJlcXVlc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3Igc2VuZGluZyB2ZXJpZmljYXRpb24gZW1haWw6XCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyBFbnN1cmUgcGFzc3dvcmQgaXMgc2V0IGJlZm9yZSB1c2VyIGNyZWF0aW9uXG4gIGlmICghb3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoKSB7XG4gICAgZW5zdXJlUGFzc3dvcmRTZXRCZWZvcmVVc2VyQ3JlYXRlKHJlcyk7XG4gIH1cblxuICAvLyBQcm9jZXNzIHBsdWdpbnNcbiAgaWYgKHJlcy5wbHVnaW5zPy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgLy8gRmlsdGVyIHRvIG9ubHkgc3VwcG9ydGVkIHBsdWdpbnNcbiAgICAgIGNvbnN0IHN1cHBvcnRlZFBsdWdpbnMgPSByZXMucGx1Z2lucy5maWx0ZXIoKHBsdWdpbikgPT5cbiAgICAgICAgT2JqZWN0LnZhbHVlcyhzdXBwb3J0ZWRCZXR0ZXJBdXRoUGx1Z2luSWRzKS5pbmNsdWRlcyhwbHVnaW4uaWQgYXMgYW55KVxuICAgICAgKTtcblxuICAgICAgLy8gTG9nIHdhcm5pbmcgZm9yIHVuc3VwcG9ydGVkIHBsdWdpbnNcbiAgICAgIGlmIChzdXBwb3J0ZWRQbHVnaW5zLmxlbmd0aCAhPT0gcmVzLnBsdWdpbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHVuc3VwcG9ydGVkSWRzID0gcmVzLnBsdWdpbnNcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKHApID0+XG4gICAgICAgICAgICAgICFPYmplY3QudmFsdWVzKHN1cHBvcnRlZEJldHRlckF1dGhQbHVnaW5JZHMpLmluY2x1ZGVzKHAuaWQgYXMgYW55KVxuICAgICAgICAgIClcbiAgICAgICAgICAubWFwKChwKSA9PiBwLmlkKVxuICAgICAgICAgIC5qb2luKFwiLCBcIik7XG5cbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBVbnN1cHBvcnRlZCBCZXR0ZXJBdXRoIHBsdWdpbnM6ICR7dW5zdXBwb3J0ZWRJZHN9LiBTdXBwb3J0ZWQ6ICR7T2JqZWN0LnZhbHVlcyhzdXBwb3J0ZWRCZXR0ZXJBdXRoUGx1Z2luSWRzKS5qb2luKFwiLCBcIil9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBDb25maWd1cmUgcGx1Z2lucyBieSB0eXBlXG4gICAgICBjb25zdCBwbHVnaW5Db25maWd1cmF0b3JzID0ge1xuICAgICAgICBbc3VwcG9ydGVkQmV0dGVyQXV0aFBsdWdpbklkcy5hZG1pbl06IChwOiBhbnkpID0+XG4gICAgICAgICAgY29uZmlndXJlQWRtaW5QbHVnaW4ocCwgb3B0aW9ucyksXG4gICAgICAgIFtzdXBwb3J0ZWRCZXR0ZXJBdXRoUGx1Z2luSWRzLmFwaUtleV06IChwOiBhbnkpID0+XG4gICAgICAgICAgY29uZmlndXJlQXBpS2V5UGx1Z2luKHApLFxuICAgICAgICBbc3VwcG9ydGVkQmV0dGVyQXV0aFBsdWdpbklkcy5wYXNza2V5XTogKHA6IGFueSkgPT5cbiAgICAgICAgICBjb25maWd1cmVQYXNza2V5UGx1Z2luKHApLFxuICAgICAgICBbc3VwcG9ydGVkQmV0dGVyQXV0aFBsdWdpbklkcy5vcmdhbml6YXRpb25dOiAocDogYW55KSA9PlxuICAgICAgICAgIGNvbmZpZ3VyZU9yZ2FuaXphdGlvblBsdWdpbihwKSxcbiAgICAgICAgW3N1cHBvcnRlZEJldHRlckF1dGhQbHVnaW5JZHMuc3NvXTogKHA6IGFueSkgPT4gY29uZmlndXJlU3NvUGx1Z2luKHApLFxuICAgICAgICBbc3VwcG9ydGVkQmV0dGVyQXV0aFBsdWdpbklkcy5vaWRjXTogKHA6IGFueSkgPT4gY29uZmlndXJlT2lkY1BsdWdpbihwKSxcbiAgICAgIH07XG5cbiAgICAgIHN1cHBvcnRlZFBsdWdpbnMuZm9yRWFjaCgocGx1Z2luKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRvciA9XG4gICAgICAgICAgcGx1Z2luQ29uZmlndXJhdG9yc1twbHVnaW4uaWQgYXMga2V5b2YgdHlwZW9mIHBsdWdpbkNvbmZpZ3VyYXRvcnNdO1xuICAgICAgICBpZiAoY29uZmlndXJhdG9yKSBjb25maWd1cmF0b3IocGx1Z2luIGFzIGFueSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzLnBsdWdpbnMgPSBzdXBwb3J0ZWRQbHVnaW5zO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHNhbml0aXppbmcgQmV0dGVyQXV0aCBwbHVnaW5zOiAke2Vycm9yfWApO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUb0p3dE1pZGRsZXdhcmUoe1xuICAgIHNhbml0aXplZE9wdGlvbnM6IHJlcyxcbiAgICBwYXlsb2FkQ29uZmlnOiBjb25maWcsXG4gICAgcGx1Z2luT3B0aW9uczogb3B0aW9ucyxcbiAgfSk7XG5cbiAgcmV0dXJuIHJlcztcbn1cbiJdLCJuYW1lcyI6WyJjb25maWd1cmVBZG1pblBsdWdpbiIsImNvbmZpZ3VyZUFwaUtleVBsdWdpbiIsImNvbmZpZ3VyZU9yZ2FuaXphdGlvblBsdWdpbiIsImNvbmZpZ3VyZVBhc3NrZXlQbHVnaW4iLCJjb25maWd1cmVTc29QbHVnaW4iLCJjb25maWd1cmVPaWRjUGx1Z2luIiwic3VwcG9ydGVkQmV0dGVyQXV0aFBsdWdpbklkcyIsImVuc3VyZVBhc3N3b3JkU2V0QmVmb3JlVXNlckNyZWF0ZSIsInZlcmlmeVBhc3N3b3JkIiwiaGFzaFBhc3N3b3JkIiwic2F2ZVRvSnd0TWlkZGxld2FyZSIsInNhbml0aXplQmV0dGVyQXV0aE9wdGlvbnMiLCJjb25maWciLCJvcHRpb25zIiwiYmFPcHRpb25zIiwiYmV0dGVyQXV0aE9wdGlvbnMiLCJ1c2VyQ29sbGVjdGlvblNsdWciLCJ1c2VycyIsInNsdWciLCJhY2NvdW50Q29sbGVjdGlvblNsdWciLCJhY2NvdW50cyIsInNlc3Npb25Db2xsZWN0aW9uU2x1ZyIsInNlc3Npb25zIiwidmVyaWZpY2F0aW9uQ29sbGVjdGlvblNsdWciLCJ2ZXJpZmljYXRpb25zIiwicmVzIiwidXNlciIsIm1vZGVsTmFtZSIsImFjY291bnQiLCJmaWVsZHMiLCJ1c2VySWQiLCJzZXNzaW9uIiwidmVyaWZpY2F0aW9uIiwiZW1haWxBbmRQYXNzd29yZCIsImVuYWJsZWQiLCJkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoIiwicGFzc3dvcmQiLCJ2ZXJpZnkiLCJoYXNoIiwiYmxvY2tGaXJzdEJldHRlckF1dGhWZXJpZmljYXRpb25FbWFpbCIsIm9yaWdpbmFsU2VuZEVtYWlsIiwiZW1haWxWZXJpZmljYXRpb24iLCJzZW5kVmVyaWZpY2F0aW9uRW1haWwiLCJkYXRhIiwicmVxdWVzdCIsInRpbWVTaW5jZUNyZWF0aW9uIiwiRGF0ZSIsImdldFRpbWUiLCJjcmVhdGVkQXQiLCJlcnJvciIsImNvbnNvbGUiLCJwbHVnaW5zIiwibGVuZ3RoIiwic3VwcG9ydGVkUGx1Z2lucyIsImZpbHRlciIsInBsdWdpbiIsIk9iamVjdCIsInZhbHVlcyIsImluY2x1ZGVzIiwiaWQiLCJ1bnN1cHBvcnRlZElkcyIsInAiLCJtYXAiLCJqb2luIiwid2FybiIsInBsdWdpbkNvbmZpZ3VyYXRvcnMiLCJhZG1pbiIsImFwaUtleSIsInBhc3NrZXkiLCJvcmdhbml6YXRpb24iLCJzc28iLCJvaWRjIiwiZm9yRWFjaCIsImNvbmZpZ3VyYXRvciIsIkVycm9yIiwic2FuaXRpemVkT3B0aW9ucyIsInBheWxvYWRDb25maWciLCJwbHVnaW5PcHRpb25zIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxvQkFBb0IsUUFBUSxpQkFBaUI7QUFDdEQsU0FBU0MscUJBQXFCLFFBQVEsbUJBQW1CO0FBQ3pELFNBQVNDLDJCQUEyQixRQUFRLHlCQUF5QjtBQUNyRSxTQUFTQyxzQkFBc0IsUUFBUSxtQkFBbUI7QUFDMUQsU0FBU0Msa0JBQWtCLFFBQVEsZUFBZTtBQUNsRCxTQUFTQyxtQkFBbUIsUUFBUSxnQkFBZ0I7QUFLcEQsU0FBU0MsNEJBQTRCLFFBQVEsZUFBZTtBQUM1RCxTQUFTQyxpQ0FBaUMsUUFBUSw0Q0FBNEM7QUFDOUYsU0FBU0MsY0FBYyxFQUFFQyxZQUFZLFFBQVEsbUJBQW1CO0FBRWhFLFNBQVNDLG1CQUFtQixRQUFRLGlDQUFpQztBQUNyRTs7Q0FFQyxHQUNELE9BQU8sU0FBU0MsMEJBQTBCLEVBQ3hDQyxNQUFNLEVBQ05DLE9BQU8sRUFJUjtJQUNDLE1BQU1DLFlBQVlELFFBQVFFLGlCQUFpQixJQUFJLENBQUM7SUFDaEQsTUFBTUMscUJBQXFCSCxRQUFRSSxLQUFLLEVBQUVDLFFBQVE7SUFDbEQsTUFBTUMsd0JBQXdCTixRQUFRTyxRQUFRLEVBQUVGLFFBQVE7SUFDeEQsTUFBTUcsd0JBQXdCUixRQUFRUyxRQUFRLEVBQUVKLFFBQVE7SUFDeEQsTUFBTUssNkJBQ0pWLFFBQVFXLGFBQWEsRUFBRU4sUUFBUTtJQUVqQyxxQ0FBcUM7SUFDckMsSUFBSU8sTUFBa0M7UUFDcEMsR0FBR1gsU0FBUztRQUNaWSxNQUFNO1lBQ0osR0FBSVosVUFBVVksSUFBSSxJQUFJLENBQUMsQ0FBQztZQUN4QkMsV0FBV1g7UUFDYjtRQUNBWSxTQUFTO1lBQ1AsR0FBSWQsVUFBVWMsT0FBTyxJQUFJLENBQUMsQ0FBQztZQUMzQkQsV0FBV1I7WUFDWFUsUUFBUTtnQkFBRUMsUUFBUTtZQUFPO1FBQzNCO1FBQ0FDLFNBQVM7WUFDUCxHQUFJakIsVUFBVWlCLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDM0JKLFdBQVdOO1lBQ1hRLFFBQVE7Z0JBQUVDLFFBQVE7WUFBTztRQUMzQjtRQUNBRSxjQUFjO1lBQ1osR0FBSWxCLFVBQVVrQixZQUFZLElBQUksQ0FBQyxDQUFDO1lBQ2hDTCxXQUFXSjtRQUNiO1FBQ0FVLGtCQUFrQjtZQUNoQixHQUFJbkIsVUFBVW1CLGdCQUFnQixJQUFJLENBQUMsQ0FBQztZQUNwQ0MsU0FBU3BCLFVBQVVtQixnQkFBZ0IsRUFBRUMsV0FBVztRQUNsRDtJQUNGO0lBRUEsOEJBQThCO0lBQzlCLElBQUlULElBQUlRLGdCQUFnQixFQUFFQyxXQUFXLENBQUNyQixRQUFRc0IseUJBQXlCLEVBQUU7UUFDdkVWLElBQUlRLGdCQUFnQixDQUFDRyxRQUFRLEdBQUc7WUFDOUIsR0FBSVgsSUFBSVEsZ0JBQWdCLENBQUNHLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDdkNDLFFBQVEsQ0FBQyxFQUFFQyxJQUFJLEVBQUVGLFFBQVEsRUFBRSxHQUFLNUIsZUFBZTtvQkFBRThCO29CQUFNRjtnQkFBUztZQUNoRUUsTUFBTSxDQUFDRixXQUFhM0IsYUFBYTJCO1FBQ25DO0lBQ0Y7SUFFQSxxQ0FBcUM7SUFDckMsSUFDRXZCLFFBQVFJLEtBQUssRUFBRXNCLHlDQUNmLENBQUMxQixRQUFRc0IseUJBQXlCLEVBQ2xDO1FBQ0EsTUFBTUssb0JBQ0oxQixXQUFXMkIsbUJBQW1CQztRQUNoQyxJQUFJLE9BQU9GLHNCQUFzQixZQUFZO1lBQzNDZixJQUFJZ0IsaUJBQWlCLEdBQUdoQixJQUFJZ0IsaUJBQWlCLElBQUksQ0FBQztZQUNsRGhCLElBQUlnQixpQkFBaUIsQ0FBQ0MscUJBQXFCLEdBQUcsT0FBT0MsTUFBTUM7Z0JBQ3pELElBQUk7b0JBQ0YsTUFBTUMsb0JBQ0osSUFBSUMsT0FBT0MsT0FBTyxLQUFLLElBQUlELEtBQUtILEtBQUtqQixJQUFJLENBQUNzQixTQUFTLEVBQUVELE9BQU87b0JBQzlELDRFQUE0RTtvQkFDNUUsSUFBSUYscUJBQXFCLE9BQU87d0JBQzlCLE1BQU1MLGtCQUFrQkcsTUFBTUM7b0JBQ2hDO2dCQUNGLEVBQUUsT0FBT0ssT0FBTztvQkFDZEMsUUFBUUQsS0FBSyxDQUFDLHFDQUFxQ0E7Z0JBQ3JEO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsOENBQThDO0lBQzlDLElBQUksQ0FBQ3BDLFFBQVFzQix5QkFBeUIsRUFBRTtRQUN0QzVCLGtDQUFrQ2tCO0lBQ3BDO0lBRUEsa0JBQWtCO0lBQ2xCLElBQUlBLElBQUkwQixPQUFPLEVBQUVDLFFBQVE7UUFDdkIsSUFBSTtZQUNGLG1DQUFtQztZQUNuQyxNQUFNQyxtQkFBbUI1QixJQUFJMEIsT0FBTyxDQUFDRyxNQUFNLENBQUMsQ0FBQ0MsU0FDM0NDLE9BQU9DLE1BQU0sQ0FBQ25ELDhCQUE4Qm9ELFFBQVEsQ0FBQ0gsT0FBT0ksRUFBRTtZQUdoRSxzQ0FBc0M7WUFDdEMsSUFBSU4saUJBQWlCRCxNQUFNLEtBQUszQixJQUFJMEIsT0FBTyxDQUFDQyxNQUFNLEVBQUU7Z0JBQ2xELE1BQU1RLGlCQUFpQm5DLElBQUkwQixPQUFPLENBQy9CRyxNQUFNLENBQ0wsQ0FBQ08sSUFDQyxDQUFDTCxPQUFPQyxNQUFNLENBQUNuRCw4QkFBOEJvRCxRQUFRLENBQUNHLEVBQUVGLEVBQUUsR0FFN0RHLEdBQUcsQ0FBQyxDQUFDRCxJQUFNQSxFQUFFRixFQUFFLEVBQ2ZJLElBQUksQ0FBQztnQkFFUmIsUUFBUWMsSUFBSSxDQUNWLENBQUMsZ0NBQWdDLEVBQUVKLGVBQWUsYUFBYSxFQUFFSixPQUFPQyxNQUFNLENBQUNuRCw4QkFBOEJ5RCxJQUFJLENBQUMsT0FBTztZQUU3SDtZQUVBLDRCQUE0QjtZQUM1QixNQUFNRSxzQkFBc0I7Z0JBQzFCLENBQUMzRCw2QkFBNkI0RCxLQUFLLENBQUMsRUFBRSxDQUFDTCxJQUNyQzdELHFCQUFxQjZELEdBQUdoRDtnQkFDMUIsQ0FBQ1AsNkJBQTZCNkQsTUFBTSxDQUFDLEVBQUUsQ0FBQ04sSUFDdEM1RCxzQkFBc0I0RDtnQkFDeEIsQ0FBQ3ZELDZCQUE2QjhELE9BQU8sQ0FBQyxFQUFFLENBQUNQLElBQ3ZDMUQsdUJBQXVCMEQ7Z0JBQ3pCLENBQUN2RCw2QkFBNkIrRCxZQUFZLENBQUMsRUFBRSxDQUFDUixJQUM1QzNELDRCQUE0QjJEO2dCQUM5QixDQUFDdkQsNkJBQTZCZ0UsR0FBRyxDQUFDLEVBQUUsQ0FBQ1QsSUFBV3pELG1CQUFtQnlEO2dCQUNuRSxDQUFDdkQsNkJBQTZCaUUsSUFBSSxDQUFDLEVBQUUsQ0FBQ1YsSUFBV3hELG9CQUFvQndEO1lBQ3ZFO1lBRUFSLGlCQUFpQm1CLE9BQU8sQ0FBQyxDQUFDakI7Z0JBQ3hCLE1BQU1rQixlQUNKUixtQkFBbUIsQ0FBQ1YsT0FBT0ksRUFBRSxDQUFxQztnQkFDcEUsSUFBSWMsY0FBY0EsYUFBYWxCO1lBQ2pDO1lBRUE5QixJQUFJMEIsT0FBTyxHQUFHRTtRQUNoQixFQUFFLE9BQU9KLE9BQU87WUFDZCxNQUFNLElBQUl5QixNQUFNLENBQUMscUNBQXFDLEVBQUV6QixPQUFPO1FBQ2pFO0lBQ0Y7SUFFQXZDLG9CQUFvQjtRQUNsQmlFLGtCQUFrQmxEO1FBQ2xCbUQsZUFBZWhFO1FBQ2ZpRSxlQUFlaEU7SUFDakI7SUFFQSxPQUFPWTtBQUNUIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,QAoD9C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { betterAuthPluginSlugs } from "../constants";
|
|
2
|
+
export function configureOidcPlugin(plugin) {
|
|
3
|
+
plugin.schema = plugin?.schema ?? {};
|
|
4
|
+
// Initialize missing schema objects
|
|
5
|
+
[
|
|
6
|
+
"oauthApplication",
|
|
7
|
+
"oauthAccessToken",
|
|
8
|
+
"oauthConsent"
|
|
9
|
+
].forEach((key)=>{
|
|
10
|
+
if (!plugin.schema[key]) plugin.schema[key] = {};
|
|
11
|
+
});
|
|
12
|
+
plugin.schema = {
|
|
13
|
+
...plugin?.schema,
|
|
14
|
+
oauthApplication: {
|
|
15
|
+
...plugin?.schema?.oauthApplication,
|
|
16
|
+
modelName: betterAuthPluginSlugs.oauthApplications,
|
|
17
|
+
fields: {
|
|
18
|
+
...plugin?.schema?.oauthApplication?.fields ?? {},
|
|
19
|
+
userId: {
|
|
20
|
+
...plugin?.schema?.oauthApplication?.fields?.userId ?? {},
|
|
21
|
+
fieldName: "user"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
oauthAccessToken: {
|
|
26
|
+
...plugin?.schema?.oauthAccessToken,
|
|
27
|
+
modelName: betterAuthPluginSlugs.oauthAccessTokens,
|
|
28
|
+
fields: {
|
|
29
|
+
...plugin?.schema?.oauthAccessToken?.fields ?? {},
|
|
30
|
+
userId: {
|
|
31
|
+
...plugin?.schema?.oauthAccessToken?.fields?.userId ?? {},
|
|
32
|
+
fieldName: "user"
|
|
33
|
+
},
|
|
34
|
+
clientId: {
|
|
35
|
+
...plugin?.schema?.oauthAccessToken?.fields?.clientId ?? {},
|
|
36
|
+
fieldName: "client"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
oauthConsent: {
|
|
41
|
+
...plugin?.schema?.oauthConsent,
|
|
42
|
+
modelName: betterAuthPluginSlugs.oauthConsents,
|
|
43
|
+
fields: {
|
|
44
|
+
...plugin?.schema?.oauthConsent?.fields ?? {},
|
|
45
|
+
userId: {
|
|
46
|
+
...plugin?.schema?.oauthConsent?.fields?.userId ?? {},
|
|
47
|
+
fieldName: "user"
|
|
48
|
+
},
|
|
49
|
+
clientId: {
|
|
50
|
+
...plugin?.schema?.oauthConsent?.fields?.clientId ?? {},
|
|
51
|
+
fieldName: "client"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvb2lkYy1wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmV0dGVyQXV0aFBsdWdpblNsdWdzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlT2lkY1BsdWdpbihwbHVnaW46IGFueSkge1xuICBwbHVnaW4uc2NoZW1hID0gcGx1Z2luPy5zY2hlbWEgPz8ge307XG5cbiAgLy8gSW5pdGlhbGl6ZSBtaXNzaW5nIHNjaGVtYSBvYmplY3RzXG4gIFtcIm9hdXRoQXBwbGljYXRpb25cIiwgXCJvYXV0aEFjY2Vzc1Rva2VuXCIsIFwib2F1dGhDb25zZW50XCJdLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGlmICghcGx1Z2luLnNjaGVtYVtrZXldKSBwbHVnaW4uc2NoZW1hW2tleV0gPSB7fTtcbiAgfSk7XG5cbiAgcGx1Z2luLnNjaGVtYSA9IHtcbiAgICAuLi5wbHVnaW4/LnNjaGVtYSxcbiAgICBvYXV0aEFwcGxpY2F0aW9uOiB7XG4gICAgICAuLi5wbHVnaW4/LnNjaGVtYT8ub2F1dGhBcHBsaWNhdGlvbixcbiAgICAgIG1vZGVsTmFtZTogYmV0dGVyQXV0aFBsdWdpblNsdWdzLm9hdXRoQXBwbGljYXRpb25zLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8ub2F1dGhBcHBsaWNhdGlvbj8uZmllbGRzID8/IHt9KSxcbiAgICAgICAgdXNlcklkOiB7XG4gICAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5vYXV0aEFwcGxpY2F0aW9uPy5maWVsZHM/LnVzZXJJZCA/PyB7fSksXG4gICAgICAgICAgZmllbGROYW1lOiBcInVzZXJcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvYXV0aEFjY2Vzc1Rva2VuOiB7XG4gICAgICAuLi5wbHVnaW4/LnNjaGVtYT8ub2F1dGhBY2Nlc3NUb2tlbixcbiAgICAgIG1vZGVsTmFtZTogYmV0dGVyQXV0aFBsdWdpblNsdWdzLm9hdXRoQWNjZXNzVG9rZW5zLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8ub2F1dGhBY2Nlc3NUb2tlbj8uZmllbGRzID8/IHt9KSxcbiAgICAgICAgdXNlcklkOiB7XG4gICAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5vYXV0aEFjY2Vzc1Rva2VuPy5maWVsZHM/LnVzZXJJZCA/PyB7fSksXG4gICAgICAgICAgZmllbGROYW1lOiBcInVzZXJcIixcbiAgICAgICAgfSxcbiAgICAgICAgY2xpZW50SWQ6IHtcbiAgICAgICAgICAuLi4ocGx1Z2luPy5zY2hlbWE/Lm9hdXRoQWNjZXNzVG9rZW4/LmZpZWxkcz8uY2xpZW50SWQgPz8ge30pLFxuICAgICAgICAgIGZpZWxkTmFtZTogXCJjbGllbnRcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvYXV0aENvbnNlbnQ6IHtcbiAgICAgIC4uLnBsdWdpbj8uc2NoZW1hPy5vYXV0aENvbnNlbnQsXG4gICAgICBtb2RlbE5hbWU6IGJldHRlckF1dGhQbHVnaW5TbHVncy5vYXV0aENvbnNlbnRzLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8ub2F1dGhDb25zZW50Py5maWVsZHMgPz8ge30pLFxuICAgICAgICB1c2VySWQ6IHtcbiAgICAgICAgICAuLi4ocGx1Z2luPy5zY2hlbWE/Lm9hdXRoQ29uc2VudD8uZmllbGRzPy51c2VySWQgPz8ge30pLFxuICAgICAgICAgIGZpZWxkTmFtZTogXCJ1c2VyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGNsaWVudElkOiB7XG4gICAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5vYXV0aENvbnNlbnQ/LmZpZWxkcz8uY2xpZW50SWQgPz8ge30pLFxuICAgICAgICAgIGZpZWxkTmFtZTogXCJjbGllbnRcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJiZXR0ZXJBdXRoUGx1Z2luU2x1Z3MiLCJjb25maWd1cmVPaWRjUGx1Z2luIiwicGx1Z2luIiwic2NoZW1hIiwiZm9yRWFjaCIsImtleSIsIm9hdXRoQXBwbGljYXRpb24iLCJtb2RlbE5hbWUiLCJvYXV0aEFwcGxpY2F0aW9ucyIsImZpZWxkcyIsInVzZXJJZCIsImZpZWxkTmFtZSIsIm9hdXRoQWNjZXNzVG9rZW4iLCJvYXV0aEFjY2Vzc1Rva2VucyIsImNsaWVudElkIiwib2F1dGhDb25zZW50Iiwib2F1dGhDb25zZW50cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EscUJBQXFCLFFBQVEsZUFBZTtBQUVyRCxPQUFPLFNBQVNDLG9CQUFvQkMsTUFBVztJQUM3Q0EsT0FBT0MsTUFBTSxHQUFHRCxRQUFRQyxVQUFVLENBQUM7SUFFbkMsb0NBQW9DO0lBQ3BDO1FBQUM7UUFBb0I7UUFBb0I7S0FBZSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0M7UUFDaEUsSUFBSSxDQUFDSCxPQUFPQyxNQUFNLENBQUNFLElBQUksRUFBRUgsT0FBT0MsTUFBTSxDQUFDRSxJQUFJLEdBQUcsQ0FBQztJQUNqRDtJQUVBSCxPQUFPQyxNQUFNLEdBQUc7UUFDZCxHQUFHRCxRQUFRQyxNQUFNO1FBQ2pCRyxrQkFBa0I7WUFDaEIsR0FBR0osUUFBUUMsUUFBUUcsZ0JBQWdCO1lBQ25DQyxXQUFXUCxzQkFBc0JRLGlCQUFpQjtZQUNsREMsUUFBUTtnQkFDTixHQUFJUCxRQUFRQyxRQUFRRyxrQkFBa0JHLFVBQVUsQ0FBQyxDQUFDO2dCQUNsREMsUUFBUTtvQkFDTixHQUFJUixRQUFRQyxRQUFRRyxrQkFBa0JHLFFBQVFDLFVBQVUsQ0FBQyxDQUFDO29CQUMxREMsV0FBVztnQkFDYjtZQUNGO1FBQ0Y7UUFDQUMsa0JBQWtCO1lBQ2hCLEdBQUdWLFFBQVFDLFFBQVFTLGdCQUFnQjtZQUNuQ0wsV0FBV1Asc0JBQXNCYSxpQkFBaUI7WUFDbERKLFFBQVE7Z0JBQ04sR0FBSVAsUUFBUUMsUUFBUVMsa0JBQWtCSCxVQUFVLENBQUMsQ0FBQztnQkFDbERDLFFBQVE7b0JBQ04sR0FBSVIsUUFBUUMsUUFBUVMsa0JBQWtCSCxRQUFRQyxVQUFVLENBQUMsQ0FBQztvQkFDMURDLFdBQVc7Z0JBQ2I7Z0JBQ0FHLFVBQVU7b0JBQ1IsR0FBSVosUUFBUUMsUUFBUVMsa0JBQWtCSCxRQUFRSyxZQUFZLENBQUMsQ0FBQztvQkFDNURILFdBQVc7Z0JBQ2I7WUFDRjtRQUNGO1FBQ0FJLGNBQWM7WUFDWixHQUFHYixRQUFRQyxRQUFRWSxZQUFZO1lBQy9CUixXQUFXUCxzQkFBc0JnQixhQUFhO1lBQzlDUCxRQUFRO2dCQUNOLEdBQUlQLFFBQVFDLFFBQVFZLGNBQWNOLFVBQVUsQ0FBQyxDQUFDO2dCQUM5Q0MsUUFBUTtvQkFDTixHQUFJUixRQUFRQyxRQUFRWSxjQUFjTixRQUFRQyxVQUFVLENBQUMsQ0FBQztvQkFDdERDLFdBQVc7Z0JBQ2I7Z0JBQ0FHLFVBQVU7b0JBQ1IsR0FBSVosUUFBUUMsUUFBUVksY0FBY04sUUFBUUssWUFBWSxDQUFDLENBQUM7b0JBQ3hESCxXQUFXO2dCQUNiO1lBQ0Y7UUFDRjtJQUNGO0FBQ0YifQ==
|
package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organizations-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,GAAG,QA4EtD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { baseCollectionSlugs, betterAuthPluginSlugs } from "../constants";
|
|
2
|
+
export function configureOrganizationPlugin(plugin) {
|
|
3
|
+
plugin.schema = plugin?.schema ?? {};
|
|
4
|
+
// Initialize missing schema objects
|
|
5
|
+
[
|
|
6
|
+
"organization",
|
|
7
|
+
"member",
|
|
8
|
+
"invitation",
|
|
9
|
+
"team",
|
|
10
|
+
"session"
|
|
11
|
+
].forEach((key)=>{
|
|
12
|
+
if (!plugin.schema[key]) plugin.schema[key] = {};
|
|
13
|
+
});
|
|
14
|
+
plugin.schema = {
|
|
15
|
+
...plugin?.schema,
|
|
16
|
+
organization: {
|
|
17
|
+
...plugin?.schema?.organization,
|
|
18
|
+
modelName: betterAuthPluginSlugs.organizations,
|
|
19
|
+
fields: {
|
|
20
|
+
...plugin?.schema?.organization?.fields ?? {}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
member: {
|
|
24
|
+
...plugin?.schema?.member,
|
|
25
|
+
modelName: betterAuthPluginSlugs.members,
|
|
26
|
+
fields: {
|
|
27
|
+
...plugin?.schema?.member?.fields ?? {},
|
|
28
|
+
organizationId: {
|
|
29
|
+
...plugin?.schema?.member?.fields?.organizationId ?? {},
|
|
30
|
+
fieldName: "organization"
|
|
31
|
+
},
|
|
32
|
+
userId: {
|
|
33
|
+
...plugin?.schema?.member?.fields?.userId ?? {},
|
|
34
|
+
fieldName: "user"
|
|
35
|
+
},
|
|
36
|
+
teamId: {
|
|
37
|
+
...plugin?.schema?.member?.fields?.teamId ?? {},
|
|
38
|
+
fieldName: "team"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
invitation: {
|
|
43
|
+
...plugin.schema.invitation,
|
|
44
|
+
modelName: betterAuthPluginSlugs.invitations,
|
|
45
|
+
fields: {
|
|
46
|
+
...plugin?.schema?.invitation?.fields ?? {},
|
|
47
|
+
organizationId: {
|
|
48
|
+
...plugin?.schema?.invitation?.fields?.organizationId ?? {},
|
|
49
|
+
fieldName: "organization"
|
|
50
|
+
},
|
|
51
|
+
inviterId: {
|
|
52
|
+
...plugin?.schema?.invitation?.fields?.inviterId ?? {},
|
|
53
|
+
fieldName: "inviter"
|
|
54
|
+
},
|
|
55
|
+
teamId: {
|
|
56
|
+
...plugin?.schema?.invitation?.fields?.teamId ?? {},
|
|
57
|
+
fieldName: "team"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
team: {
|
|
62
|
+
...plugin.schema.team,
|
|
63
|
+
modelName: betterAuthPluginSlugs.teams,
|
|
64
|
+
fields: {
|
|
65
|
+
...plugin?.schema?.team?.fields ?? {},
|
|
66
|
+
organizationId: {
|
|
67
|
+
...plugin?.schema?.team?.fields?.organizationId ?? {},
|
|
68
|
+
fieldName: "organization"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
session: {
|
|
73
|
+
...plugin?.schema?.session,
|
|
74
|
+
modelName: baseCollectionSlugs.sessions,
|
|
75
|
+
fields: {
|
|
76
|
+
...plugin?.schema?.session?.fields ?? {},
|
|
77
|
+
activeOrganizationId: {
|
|
78
|
+
...plugin?.schema?.session?.fields?.activeOrganizationId ?? {},
|
|
79
|
+
fieldName: "activeOrganization"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvb3JnYW5pemF0aW9ucy1wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZUNvbGxlY3Rpb25TbHVncywgYmV0dGVyQXV0aFBsdWdpblNsdWdzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlT3JnYW5pemF0aW9uUGx1Z2luKHBsdWdpbjogYW55KSB7XG4gIHBsdWdpbi5zY2hlbWEgPSBwbHVnaW4/LnNjaGVtYSA/PyB7fTtcblxuICAvLyBJbml0aWFsaXplIG1pc3Npbmcgc2NoZW1hIG9iamVjdHNcbiAgW1wib3JnYW5pemF0aW9uXCIsIFwibWVtYmVyXCIsIFwiaW52aXRhdGlvblwiLCBcInRlYW1cIiwgXCJzZXNzaW9uXCJdLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGlmICghcGx1Z2luLnNjaGVtYVtrZXldKSBwbHVnaW4uc2NoZW1hW2tleV0gPSB7fTtcbiAgfSk7XG5cbiAgcGx1Z2luLnNjaGVtYSA9IHtcbiAgICAuLi5wbHVnaW4/LnNjaGVtYSxcbiAgICBvcmdhbml6YXRpb246IHtcbiAgICAgIC4uLnBsdWdpbj8uc2NoZW1hPy5vcmdhbml6YXRpb24sXG4gICAgICBtb2RlbE5hbWU6IGJldHRlckF1dGhQbHVnaW5TbHVncy5vcmdhbml6YXRpb25zLFxuICAgICAgZmllbGRzOiB7IC4uLihwbHVnaW4/LnNjaGVtYT8ub3JnYW5pemF0aW9uPy5maWVsZHMgPz8ge30pIH0sXG4gICAgfSxcbiAgICBtZW1iZXI6IHtcbiAgICAgIC4uLnBsdWdpbj8uc2NoZW1hPy5tZW1iZXIsXG4gICAgICBtb2RlbE5hbWU6IGJldHRlckF1dGhQbHVnaW5TbHVncy5tZW1iZXJzLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8ubWVtYmVyPy5maWVsZHMgPz8ge30pLFxuICAgICAgICBvcmdhbml6YXRpb25JZDoge1xuICAgICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8ubWVtYmVyPy5maWVsZHM/Lm9yZ2FuaXphdGlvbklkID8/IHt9KSxcbiAgICAgICAgICBmaWVsZE5hbWU6IFwib3JnYW5pemF0aW9uXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJJZDoge1xuICAgICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8ubWVtYmVyPy5maWVsZHM/LnVzZXJJZCA/PyB7fSksXG4gICAgICAgICAgZmllbGROYW1lOiBcInVzZXJcIixcbiAgICAgICAgfSxcbiAgICAgICAgdGVhbUlkOiB7XG4gICAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5tZW1iZXI/LmZpZWxkcz8udGVhbUlkID8/IHt9KSxcbiAgICAgICAgICBmaWVsZE5hbWU6IFwidGVhbVwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludml0YXRpb246IHtcbiAgICAgIC4uLnBsdWdpbi5zY2hlbWEuaW52aXRhdGlvbixcbiAgICAgIG1vZGVsTmFtZTogYmV0dGVyQXV0aFBsdWdpblNsdWdzLmludml0YXRpb25zLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8uaW52aXRhdGlvbj8uZmllbGRzID8/IHt9KSxcbiAgICAgICAgb3JnYW5pemF0aW9uSWQ6IHtcbiAgICAgICAgICAuLi4ocGx1Z2luPy5zY2hlbWE/Lmludml0YXRpb24/LmZpZWxkcz8ub3JnYW5pemF0aW9uSWQgPz8ge30pLFxuICAgICAgICAgIGZpZWxkTmFtZTogXCJvcmdhbml6YXRpb25cIixcbiAgICAgICAgfSxcbiAgICAgICAgaW52aXRlcklkOiB7XG4gICAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5pbnZpdGF0aW9uPy5maWVsZHM/Lmludml0ZXJJZCA/PyB7fSksXG4gICAgICAgICAgZmllbGROYW1lOiBcImludml0ZXJcIixcbiAgICAgICAgfSxcbiAgICAgICAgdGVhbUlkOiB7XG4gICAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5pbnZpdGF0aW9uPy5maWVsZHM/LnRlYW1JZCA/PyB7fSksXG4gICAgICAgICAgZmllbGROYW1lOiBcInRlYW1cIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB0ZWFtOiB7XG4gICAgICAuLi5wbHVnaW4uc2NoZW1hLnRlYW0sXG4gICAgICBtb2RlbE5hbWU6IGJldHRlckF1dGhQbHVnaW5TbHVncy50ZWFtcyxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICAuLi4ocGx1Z2luPy5zY2hlbWE/LnRlYW0/LmZpZWxkcyA/PyB7fSksXG4gICAgICAgIG9yZ2FuaXphdGlvbklkOiB7XG4gICAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy50ZWFtPy5maWVsZHM/Lm9yZ2FuaXphdGlvbklkID8/IHt9KSxcbiAgICAgICAgICBmaWVsZE5hbWU6IFwib3JnYW5pemF0aW9uXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2Vzc2lvbjoge1xuICAgICAgLi4ucGx1Z2luPy5zY2hlbWE/LnNlc3Npb24sXG4gICAgICBtb2RlbE5hbWU6IGJhc2VDb2xsZWN0aW9uU2x1Z3Muc2Vzc2lvbnMsXG4gICAgICBmaWVsZHM6IHtcbiAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5zZXNzaW9uPy5maWVsZHMgPz8ge30pLFxuICAgICAgICBhY3RpdmVPcmdhbml6YXRpb25JZDoge1xuICAgICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8uc2Vzc2lvbj8uZmllbGRzPy5hY3RpdmVPcmdhbml6YXRpb25JZCA/PyB7fSksXG4gICAgICAgICAgZmllbGROYW1lOiBcImFjdGl2ZU9yZ2FuaXphdGlvblwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbImJhc2VDb2xsZWN0aW9uU2x1Z3MiLCJiZXR0ZXJBdXRoUGx1Z2luU2x1Z3MiLCJjb25maWd1cmVPcmdhbml6YXRpb25QbHVnaW4iLCJwbHVnaW4iLCJzY2hlbWEiLCJmb3JFYWNoIiwia2V5Iiwib3JnYW5pemF0aW9uIiwibW9kZWxOYW1lIiwib3JnYW5pemF0aW9ucyIsImZpZWxkcyIsIm1lbWJlciIsIm1lbWJlcnMiLCJvcmdhbml6YXRpb25JZCIsImZpZWxkTmFtZSIsInVzZXJJZCIsInRlYW1JZCIsImludml0YXRpb24iLCJpbnZpdGF0aW9ucyIsImludml0ZXJJZCIsInRlYW0iLCJ0ZWFtcyIsInNlc3Npb24iLCJzZXNzaW9ucyIsImFjdGl2ZU9yZ2FuaXphdGlvbklkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxtQkFBbUIsRUFBRUMscUJBQXFCLFFBQVEsZUFBZTtBQUUxRSxPQUFPLFNBQVNDLDRCQUE0QkMsTUFBVztJQUNyREEsT0FBT0MsTUFBTSxHQUFHRCxRQUFRQyxVQUFVLENBQUM7SUFFbkMsb0NBQW9DO0lBQ3BDO1FBQUM7UUFBZ0I7UUFBVTtRQUFjO1FBQVE7S0FBVSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0M7UUFDbkUsSUFBSSxDQUFDSCxPQUFPQyxNQUFNLENBQUNFLElBQUksRUFBRUgsT0FBT0MsTUFBTSxDQUFDRSxJQUFJLEdBQUcsQ0FBQztJQUNqRDtJQUVBSCxPQUFPQyxNQUFNLEdBQUc7UUFDZCxHQUFHRCxRQUFRQyxNQUFNO1FBQ2pCRyxjQUFjO1lBQ1osR0FBR0osUUFBUUMsUUFBUUcsWUFBWTtZQUMvQkMsV0FBV1Asc0JBQXNCUSxhQUFhO1lBQzlDQyxRQUFRO2dCQUFFLEdBQUlQLFFBQVFDLFFBQVFHLGNBQWNHLFVBQVUsQ0FBQyxDQUFDO1lBQUU7UUFDNUQ7UUFDQUMsUUFBUTtZQUNOLEdBQUdSLFFBQVFDLFFBQVFPLE1BQU07WUFDekJILFdBQVdQLHNCQUFzQlcsT0FBTztZQUN4Q0YsUUFBUTtnQkFDTixHQUFJUCxRQUFRQyxRQUFRTyxRQUFRRCxVQUFVLENBQUMsQ0FBQztnQkFDeENHLGdCQUFnQjtvQkFDZCxHQUFJVixRQUFRQyxRQUFRTyxRQUFRRCxRQUFRRyxrQkFBa0IsQ0FBQyxDQUFDO29CQUN4REMsV0FBVztnQkFDYjtnQkFDQUMsUUFBUTtvQkFDTixHQUFJWixRQUFRQyxRQUFRTyxRQUFRRCxRQUFRSyxVQUFVLENBQUMsQ0FBQztvQkFDaERELFdBQVc7Z0JBQ2I7Z0JBQ0FFLFFBQVE7b0JBQ04sR0FBSWIsUUFBUUMsUUFBUU8sUUFBUUQsUUFBUU0sVUFBVSxDQUFDLENBQUM7b0JBQ2hERixXQUFXO2dCQUNiO1lBQ0Y7UUFDRjtRQUNBRyxZQUFZO1lBQ1YsR0FBR2QsT0FBT0MsTUFBTSxDQUFDYSxVQUFVO1lBQzNCVCxXQUFXUCxzQkFBc0JpQixXQUFXO1lBQzVDUixRQUFRO2dCQUNOLEdBQUlQLFFBQVFDLFFBQVFhLFlBQVlQLFVBQVUsQ0FBQyxDQUFDO2dCQUM1Q0csZ0JBQWdCO29CQUNkLEdBQUlWLFFBQVFDLFFBQVFhLFlBQVlQLFFBQVFHLGtCQUFrQixDQUFDLENBQUM7b0JBQzVEQyxXQUFXO2dCQUNiO2dCQUNBSyxXQUFXO29CQUNULEdBQUloQixRQUFRQyxRQUFRYSxZQUFZUCxRQUFRUyxhQUFhLENBQUMsQ0FBQztvQkFDdkRMLFdBQVc7Z0JBQ2I7Z0JBQ0FFLFFBQVE7b0JBQ04sR0FBSWIsUUFBUUMsUUFBUWEsWUFBWVAsUUFBUU0sVUFBVSxDQUFDLENBQUM7b0JBQ3BERixXQUFXO2dCQUNiO1lBQ0Y7UUFDRjtRQUNBTSxNQUFNO1lBQ0osR0FBR2pCLE9BQU9DLE1BQU0sQ0FBQ2dCLElBQUk7WUFDckJaLFdBQVdQLHNCQUFzQm9CLEtBQUs7WUFDdENYLFFBQVE7Z0JBQ04sR0FBSVAsUUFBUUMsUUFBUWdCLE1BQU1WLFVBQVUsQ0FBQyxDQUFDO2dCQUN0Q0csZ0JBQWdCO29CQUNkLEdBQUlWLFFBQVFDLFFBQVFnQixNQUFNVixRQUFRRyxrQkFBa0IsQ0FBQyxDQUFDO29CQUN0REMsV0FBVztnQkFDYjtZQUNGO1FBQ0Y7UUFDQVEsU0FBUztZQUNQLEdBQUduQixRQUFRQyxRQUFRa0IsT0FBTztZQUMxQmQsV0FBV1Isb0JBQW9CdUIsUUFBUTtZQUN2Q2IsUUFBUTtnQkFDTixHQUFJUCxRQUFRQyxRQUFRa0IsU0FBU1osVUFBVSxDQUFDLENBQUM7Z0JBQ3pDYyxzQkFBc0I7b0JBQ3BCLEdBQUlyQixRQUFRQyxRQUFRa0IsU0FBU1osUUFBUWMsd0JBQXdCLENBQUMsQ0FBQztvQkFDL0RWLFdBQVc7Z0JBQ2I7WUFDRjtRQUNGO0lBQ0Y7QUFDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkey-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.ts"],"names":[],"mappings":"AAEA,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,QAajD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { betterAuthPluginSlugs } from "../constants";
|
|
2
|
+
export function configurePasskeyPlugin(plugin) {
|
|
3
|
+
plugin.schema = plugin?.schema ?? {};
|
|
4
|
+
plugin.schema.passkey = {
|
|
5
|
+
...plugin?.schema?.passkey ?? {},
|
|
6
|
+
modelName: betterAuthPluginSlugs.passkeys,
|
|
7
|
+
fields: {
|
|
8
|
+
...plugin?.schema?.passkey?.fields ?? {},
|
|
9
|
+
userId: {
|
|
10
|
+
...plugin?.schema?.passkey?.fields?.userId ?? {},
|
|
11
|
+
fieldName: "user"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvcGFzc2tleS1wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmV0dGVyQXV0aFBsdWdpblNsdWdzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlUGFzc2tleVBsdWdpbihwbHVnaW46IGFueSkge1xuICBwbHVnaW4uc2NoZW1hID0gcGx1Z2luPy5zY2hlbWEgPz8ge307XG4gIHBsdWdpbi5zY2hlbWEucGFzc2tleSA9IHtcbiAgICAuLi4ocGx1Z2luPy5zY2hlbWE/LnBhc3NrZXkgPz8ge30pLFxuICAgIG1vZGVsTmFtZTogYmV0dGVyQXV0aFBsdWdpblNsdWdzLnBhc3NrZXlzLFxuICAgIGZpZWxkczoge1xuICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5wYXNza2V5Py5maWVsZHMgPz8ge30pLFxuICAgICAgdXNlcklkOiB7XG4gICAgICAgIC4uLihwbHVnaW4/LnNjaGVtYT8ucGFzc2tleT8uZmllbGRzPy51c2VySWQgPz8ge30pLFxuICAgICAgICBmaWVsZE5hbWU6IFwidXNlclwiLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbImJldHRlckF1dGhQbHVnaW5TbHVncyIsImNvbmZpZ3VyZVBhc3NrZXlQbHVnaW4iLCJwbHVnaW4iLCJzY2hlbWEiLCJwYXNza2V5IiwibW9kZWxOYW1lIiwicGFzc2tleXMiLCJmaWVsZHMiLCJ1c2VySWQiLCJmaWVsZE5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLHFCQUFxQixRQUFRLGVBQWU7QUFFckQsT0FBTyxTQUFTQyx1QkFBdUJDLE1BQVc7SUFDaERBLE9BQU9DLE1BQU0sR0FBR0QsUUFBUUMsVUFBVSxDQUFDO0lBQ25DRCxPQUFPQyxNQUFNLENBQUNDLE9BQU8sR0FBRztRQUN0QixHQUFJRixRQUFRQyxRQUFRQyxXQUFXLENBQUMsQ0FBQztRQUNqQ0MsV0FBV0wsc0JBQXNCTSxRQUFRO1FBQ3pDQyxRQUFRO1lBQ04sR0FBSUwsUUFBUUMsUUFBUUMsU0FBU0csVUFBVSxDQUFDLENBQUM7WUFDekNDLFFBQVE7Z0JBQ04sR0FBSU4sUUFBUUMsUUFBUUMsU0FBU0csUUFBUUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2pEQyxXQUFXO1lBQ2I7UUFDRjtJQUNGO0FBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,QAa7C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { betterAuthPluginSlugs } from "../constants";
|
|
2
|
+
export function configureSsoPlugin(plugin) {
|
|
3
|
+
plugin.schema = plugin?.schema ?? {};
|
|
4
|
+
plugin.schema.sso = {
|
|
5
|
+
...plugin?.schema?.sso ?? {},
|
|
6
|
+
modelName: betterAuthPluginSlugs.ssoProviders,
|
|
7
|
+
fields: {
|
|
8
|
+
...plugin?.schema?.sso?.fields ?? {},
|
|
9
|
+
userId: {
|
|
10
|
+
...plugin?.schema?.sso?.fields?.userId ?? {},
|
|
11
|
+
fieldName: "user"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvc3NvLXBsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiZXR0ZXJBdXRoUGx1Z2luU2x1Z3MgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVTc29QbHVnaW4ocGx1Z2luOiBhbnkpIHtcbiAgcGx1Z2luLnNjaGVtYSA9IHBsdWdpbj8uc2NoZW1hID8/IHt9O1xuICBwbHVnaW4uc2NoZW1hLnNzbyA9IHtcbiAgICAuLi4ocGx1Z2luPy5zY2hlbWE/LnNzbyA/PyB7fSksXG4gICAgbW9kZWxOYW1lOiBiZXR0ZXJBdXRoUGx1Z2luU2x1Z3Muc3NvUHJvdmlkZXJzLFxuICAgIGZpZWxkczoge1xuICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5zc28/LmZpZWxkcyA/PyB7fSksXG4gICAgICB1c2VySWQ6IHtcbiAgICAgICAgLi4uKHBsdWdpbj8uc2NoZW1hPy5zc28/LmZpZWxkcz8udXNlcklkID8/IHt9KSxcbiAgICAgICAgZmllbGROYW1lOiBcInVzZXJcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJiZXR0ZXJBdXRoUGx1Z2luU2x1Z3MiLCJjb25maWd1cmVTc29QbHVnaW4iLCJwbHVnaW4iLCJzY2hlbWEiLCJzc28iLCJtb2RlbE5hbWUiLCJzc29Qcm92aWRlcnMiLCJmaWVsZHMiLCJ1c2VySWQiLCJmaWVsZE5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLHFCQUFxQixRQUFRLGVBQWU7QUFFckQsT0FBTyxTQUFTQyxtQkFBbUJDLE1BQVc7SUFDNUNBLE9BQU9DLE1BQU0sR0FBR0QsUUFBUUMsVUFBVSxDQUFDO0lBQ25DRCxPQUFPQyxNQUFNLENBQUNDLEdBQUcsR0FBRztRQUNsQixHQUFJRixRQUFRQyxRQUFRQyxPQUFPLENBQUMsQ0FBQztRQUM3QkMsV0FBV0wsc0JBQXNCTSxZQUFZO1FBQzdDQyxRQUFRO1lBQ04sR0FBSUwsUUFBUUMsUUFBUUMsS0FBS0csVUFBVSxDQUFDLENBQUM7WUFDckNDLFFBQVE7Z0JBQ04sR0FBSU4sUUFBUUMsUUFBUUMsS0FBS0csUUFBUUMsVUFBVSxDQUFDLENBQUM7Z0JBQzdDQyxXQUFXO1lBQ2I7UUFDRjtJQUNGO0FBQ0YifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SanitizedBetterAuthOptions } from
|
|
1
|
+
import type { SanitizedBetterAuthOptions } from "../../../types";
|
|
2
2
|
/**
|
|
3
3
|
* Adds a before hook to the user create operation to ensure the password is set.
|
|
4
4
|
* This is necessary because the password is not set in the user create operation
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-password-set-before-create.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,0BAA0B,QAwBpC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adds a before hook to the user create operation to ensure the password is set.
|
|
3
|
+
* This is necessary because the password is not set in the user create operation
|
|
4
|
+
* and is instead set in the sync password accounts hook.
|
|
5
|
+
*/ export function ensurePasswordSetBeforeUserCreate(options) {
|
|
6
|
+
if (typeof options.databaseHooks !== "object") options.databaseHooks = {};
|
|
7
|
+
if (typeof options.databaseHooks.user !== "object") options.databaseHooks.user = {};
|
|
8
|
+
if (typeof options.databaseHooks.user.create !== "object") options.databaseHooks.user.create = {};
|
|
9
|
+
const initialBeforeUserCreateHook = options.databaseHooks.user.create.before ?? null;
|
|
10
|
+
options.databaseHooks.user.create.before = async (user, ctx)=>{
|
|
11
|
+
if (!user.password) {
|
|
12
|
+
user.password = ctx?.body?.password ?? Array(3).fill(0).map(()=>Math.random().toString(36).slice(2)).join("");
|
|
13
|
+
}
|
|
14
|
+
if (typeof initialBeforeUserCreateHook === "function") {
|
|
15
|
+
return initialBeforeUserCreateHook(user, ctx);
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
data: user
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvdXRpbHMvZW5zdXJlLXBhc3N3b3JkLXNldC1iZWZvcmUtY3JlYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBBZGRzIGEgYmVmb3JlIGhvb2sgdG8gdGhlIHVzZXIgY3JlYXRlIG9wZXJhdGlvbiB0byBlbnN1cmUgdGhlIHBhc3N3b3JkIGlzIHNldC5cbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIHBhc3N3b3JkIGlzIG5vdCBzZXQgaW4gdGhlIHVzZXIgY3JlYXRlIG9wZXJhdGlvblxuICogYW5kIGlzIGluc3RlYWQgc2V0IGluIHRoZSBzeW5jIHBhc3N3b3JkIGFjY291bnRzIGhvb2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVQYXNzd29yZFNldEJlZm9yZVVzZXJDcmVhdGUoXG4gIG9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zXG4pIHtcbiAgaWYgKHR5cGVvZiBvcHRpb25zLmRhdGFiYXNlSG9va3MgIT09IFwib2JqZWN0XCIpIG9wdGlvbnMuZGF0YWJhc2VIb29rcyA9IHt9O1xuICBpZiAodHlwZW9mIG9wdGlvbnMuZGF0YWJhc2VIb29rcy51c2VyICE9PSBcIm9iamVjdFwiKVxuICAgIG9wdGlvbnMuZGF0YWJhc2VIb29rcy51c2VyID0ge307XG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5kYXRhYmFzZUhvb2tzLnVzZXIuY3JlYXRlICE9PSBcIm9iamVjdFwiKVxuICAgIG9wdGlvbnMuZGF0YWJhc2VIb29rcy51c2VyLmNyZWF0ZSA9IHt9O1xuICBjb25zdCBpbml0aWFsQmVmb3JlVXNlckNyZWF0ZUhvb2sgPVxuICAgIG9wdGlvbnMuZGF0YWJhc2VIb29rcy51c2VyLmNyZWF0ZS5iZWZvcmUgPz8gbnVsbDtcblxuICBvcHRpb25zLmRhdGFiYXNlSG9va3MudXNlci5jcmVhdGUuYmVmb3JlID0gYXN5bmMgKHVzZXIsIGN0eCkgPT4ge1xuICAgIGlmICghKHVzZXIgYXMgYW55KS5wYXNzd29yZCkge1xuICAgICAgKHVzZXIgYXMgYW55KS5wYXNzd29yZCA9XG4gICAgICAgIGN0eD8uYm9keT8ucGFzc3dvcmQgPz9cbiAgICAgICAgQXJyYXkoMylcbiAgICAgICAgICAuZmlsbCgwKVxuICAgICAgICAgIC5tYXAoKCkgPT4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMikpXG4gICAgICAgICAgLmpvaW4oXCJcIik7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgaW5pdGlhbEJlZm9yZVVzZXJDcmVhdGVIb29rID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBpbml0aWFsQmVmb3JlVXNlckNyZWF0ZUhvb2sodXNlciwgY3R4KTtcbiAgICB9XG4gICAgcmV0dXJuIHsgZGF0YTogdXNlciB9O1xuICB9O1xufVxuIl0sIm5hbWVzIjpbImVuc3VyZVBhc3N3b3JkU2V0QmVmb3JlVXNlckNyZWF0ZSIsIm9wdGlvbnMiLCJkYXRhYmFzZUhvb2tzIiwidXNlciIsImNyZWF0ZSIsImluaXRpYWxCZWZvcmVVc2VyQ3JlYXRlSG9vayIsImJlZm9yZSIsImN0eCIsInBhc3N3b3JkIiwiYm9keSIsIkFycmF5IiwiZmlsbCIsIm1hcCIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsInNsaWNlIiwiam9pbiIsImRhdGEiXSwibWFwcGluZ3MiOiJBQUVBOzs7O0NBSUMsR0FDRCxPQUFPLFNBQVNBLGtDQUNkQyxPQUFtQztJQUVuQyxJQUFJLE9BQU9BLFFBQVFDLGFBQWEsS0FBSyxVQUFVRCxRQUFRQyxhQUFhLEdBQUcsQ0FBQztJQUN4RSxJQUFJLE9BQU9ELFFBQVFDLGFBQWEsQ0FBQ0MsSUFBSSxLQUFLLFVBQ3hDRixRQUFRQyxhQUFhLENBQUNDLElBQUksR0FBRyxDQUFDO0lBQ2hDLElBQUksT0FBT0YsUUFBUUMsYUFBYSxDQUFDQyxJQUFJLENBQUNDLE1BQU0sS0FBSyxVQUMvQ0gsUUFBUUMsYUFBYSxDQUFDQyxJQUFJLENBQUNDLE1BQU0sR0FBRyxDQUFDO0lBQ3ZDLE1BQU1DLDhCQUNKSixRQUFRQyxhQUFhLENBQUNDLElBQUksQ0FBQ0MsTUFBTSxDQUFDRSxNQUFNLElBQUk7SUFFOUNMLFFBQVFDLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxNQUFNLENBQUNFLE1BQU0sR0FBRyxPQUFPSCxNQUFNSTtRQUN0RCxJQUFJLENBQUMsQUFBQ0osS0FBYUssUUFBUSxFQUFFO1lBQzFCTCxLQUFhSyxRQUFRLEdBQ3BCRCxLQUFLRSxNQUFNRCxZQUNYRSxNQUFNLEdBQ0hDLElBQUksQ0FBQyxHQUNMQyxHQUFHLENBQUMsSUFBTUMsS0FBS0MsTUFBTSxHQUFHQyxRQUFRLENBQUMsSUFBSUMsS0FBSyxDQUFDLElBQzNDQyxJQUFJLENBQUM7UUFDWjtRQUNBLElBQUksT0FBT1osZ0NBQWdDLFlBQVk7WUFDckQsT0FBT0EsNEJBQTRCRixNQUFNSTtRQUMzQztRQUNBLE9BQU87WUFBRVcsTUFBTWY7UUFBSztJQUN0QjtBQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.ts"],"names":[],"mappings":"AA2BA;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAQnE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAU,2BAIlC;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,OAAO,CAyBlB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import crypto from "crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Mimics Payload's internal password hashing using pbkdf2
|
|
4
|
+
*
|
|
5
|
+
* This generates a hash compatible with Payload's internal auth system
|
|
6
|
+
* so that passwords set via better-auth can be used with Payload admin panel
|
|
7
|
+
*/ function pbkdf2Promisified(password, salt) {
|
|
8
|
+
return new Promise((resolve, reject)=>crypto.pbkdf2(password, salt, 25000, 512, "sha256", (err, hashRaw)=>err ? reject(err) : resolve(hashRaw)));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Generates random bytes for the salt
|
|
12
|
+
*/ function randomBytes() {
|
|
13
|
+
return new Promise((resolve, reject)=>crypto.randomBytes(32, (err, saltBuffer)=>err ? reject(err) : resolve(saltBuffer)));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Custom implementation of password hashing that matches Payload's format
|
|
17
|
+
*
|
|
18
|
+
* Instead of using better-auth's scrypt, this uses pbkdf2 with the same
|
|
19
|
+
* parameters as Payload CMS
|
|
20
|
+
*
|
|
21
|
+
* @param password The password to hash
|
|
22
|
+
* @returns A string in the format {salt}:{hash}
|
|
23
|
+
*/ export const hashPassword = async (password)=>{
|
|
24
|
+
const saltBuffer = await randomBytes();
|
|
25
|
+
const salt = saltBuffer.toString("hex");
|
|
26
|
+
const hashRaw = await pbkdf2Promisified(password, salt);
|
|
27
|
+
const hash = hashRaw.toString("hex");
|
|
28
|
+
return `${salt}:${hash}`;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Verifies a password against a stored hash
|
|
32
|
+
*
|
|
33
|
+
* This function is flexible and can handle:
|
|
34
|
+
* 1. A combined string in format {salt}:{hash} (for account passwords)
|
|
35
|
+
* 2. When salt and hash need to be combined from user records
|
|
36
|
+
*
|
|
37
|
+
* @param params Object containing the hash and password
|
|
38
|
+
* @returns Boolean indicating if the password matches
|
|
39
|
+
*/ export const verifyPassword = async ({ hash, password, salt })=>{
|
|
40
|
+
let saltValue;
|
|
41
|
+
let storedHash;
|
|
42
|
+
// If salt is provided separately (from user record), use it with the hash
|
|
43
|
+
if (salt) {
|
|
44
|
+
saltValue = salt;
|
|
45
|
+
storedHash = hash;
|
|
46
|
+
} else {
|
|
47
|
+
// Otherwise, split the combined format (from account.password)
|
|
48
|
+
const parts = hash.split(":");
|
|
49
|
+
if (parts.length !== 2) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
[saltValue, storedHash] = parts;
|
|
53
|
+
}
|
|
54
|
+
if (!saltValue || !storedHash) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
const hashRaw = await pbkdf2Promisified(password, saltValue);
|
|
58
|
+
const computedHash = hashRaw.toString("hex");
|
|
59
|
+
return storedHash === computedHash;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvdXRpbHMvcGFzc3dvcmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tIFwiY3J5cHRvXCI7XG5cbi8qKlxuICogTWltaWNzIFBheWxvYWQncyBpbnRlcm5hbCBwYXNzd29yZCBoYXNoaW5nIHVzaW5nIHBia2RmMlxuICpcbiAqIFRoaXMgZ2VuZXJhdGVzIGEgaGFzaCBjb21wYXRpYmxlIHdpdGggUGF5bG9hZCdzIGludGVybmFsIGF1dGggc3lzdGVtXG4gKiBzbyB0aGF0IHBhc3N3b3JkcyBzZXQgdmlhIGJldHRlci1hdXRoIGNhbiBiZSB1c2VkIHdpdGggUGF5bG9hZCBhZG1pbiBwYW5lbFxuICovXG5mdW5jdGlvbiBwYmtkZjJQcm9taXNpZmllZChwYXNzd29yZDogc3RyaW5nLCBzYWx0OiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT5cbiAgICBjcnlwdG8ucGJrZGYyKHBhc3N3b3JkLCBzYWx0LCAyNTAwMCwgNTEyLCBcInNoYTI1NlwiLCAoZXJyLCBoYXNoUmF3KSA9PlxuICAgICAgZXJyID8gcmVqZWN0KGVycikgOiByZXNvbHZlKGhhc2hSYXcpXG4gICAgKVxuICApO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyByYW5kb20gYnl0ZXMgZm9yIHRoZSBzYWx0XG4gKi9cbmZ1bmN0aW9uIHJhbmRvbUJ5dGVzKCk6IFByb21pc2U8QnVmZmVyPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PlxuICAgIGNyeXB0by5yYW5kb21CeXRlcygzMiwgKGVyciwgc2FsdEJ1ZmZlcikgPT5cbiAgICAgIGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZShzYWx0QnVmZmVyKVxuICAgIClcbiAgKTtcbn1cblxuLyoqXG4gKiBDdXN0b20gaW1wbGVtZW50YXRpb24gb2YgcGFzc3dvcmQgaGFzaGluZyB0aGF0IG1hdGNoZXMgUGF5bG9hZCdzIGZvcm1hdFxuICpcbiAqIEluc3RlYWQgb2YgdXNpbmcgYmV0dGVyLWF1dGgncyBzY3J5cHQsIHRoaXMgdXNlcyBwYmtkZjIgd2l0aCB0aGUgc2FtZVxuICogcGFyYW1ldGVycyBhcyBQYXlsb2FkIENNU1xuICpcbiAqIEBwYXJhbSBwYXNzd29yZCBUaGUgcGFzc3dvcmQgdG8gaGFzaFxuICogQHJldHVybnMgQSBzdHJpbmcgaW4gdGhlIGZvcm1hdCB7c2FsdH06e2hhc2h9XG4gKi9cbmV4cG9ydCBjb25zdCBoYXNoUGFzc3dvcmQgPSBhc3luYyAocGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IHNhbHRCdWZmZXIgPSBhd2FpdCByYW5kb21CeXRlcygpO1xuICBjb25zdCBzYWx0ID0gc2FsdEJ1ZmZlci50b1N0cmluZyhcImhleFwiKTtcblxuICBjb25zdCBoYXNoUmF3ID0gYXdhaXQgcGJrZGYyUHJvbWlzaWZpZWQocGFzc3dvcmQsIHNhbHQpO1xuICBjb25zdCBoYXNoID0gaGFzaFJhdy50b1N0cmluZyhcImhleFwiKTtcblxuICByZXR1cm4gYCR7c2FsdH06JHtoYXNofWA7XG59O1xuXG4vKipcbiAqIFZlcmlmaWVzIGEgcGFzc3dvcmQgYWdhaW5zdCBhIHN0b3JlZCBoYXNoXG4gKlxuICogVGhpcyBmdW5jdGlvbiBpcyBmbGV4aWJsZSBhbmQgY2FuIGhhbmRsZTpcbiAqIDEuIEEgY29tYmluZWQgc3RyaW5nIGluIGZvcm1hdCB7c2FsdH06e2hhc2h9IChmb3IgYWNjb3VudCBwYXNzd29yZHMpXG4gKiAyLiBXaGVuIHNhbHQgYW5kIGhhc2ggbmVlZCB0byBiZSBjb21iaW5lZCBmcm9tIHVzZXIgcmVjb3Jkc1xuICpcbiAqIEBwYXJhbSBwYXJhbXMgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGhhc2ggYW5kIHBhc3N3b3JkXG4gKiBAcmV0dXJucyBCb29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHBhc3N3b3JkIG1hdGNoZXNcbiAqL1xuZXhwb3J0IGNvbnN0IHZlcmlmeVBhc3N3b3JkID0gYXN5bmMgKHtcbiAgaGFzaCxcbiAgcGFzc3dvcmQsXG4gIHNhbHQsXG59OiB7XG4gIGhhc2g6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgc2FsdD86IHN0cmluZztcbn0pOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgbGV0IHNhbHRWYWx1ZTogc3RyaW5nO1xuICBsZXQgc3RvcmVkSGFzaDogc3RyaW5nO1xuXG4gIC8vIElmIHNhbHQgaXMgcHJvdmlkZWQgc2VwYXJhdGVseSAoZnJvbSB1c2VyIHJlY29yZCksIHVzZSBpdCB3aXRoIHRoZSBoYXNoXG4gIGlmIChzYWx0KSB7XG4gICAgc2FsdFZhbHVlID0gc2FsdDtcbiAgICBzdG9yZWRIYXNoID0gaGFzaDtcbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UsIHNwbGl0IHRoZSBjb21iaW5lZCBmb3JtYXQgKGZyb20gYWNjb3VudC5wYXNzd29yZClcbiAgICBjb25zdCBwYXJ0cyA9IGhhc2guc3BsaXQoXCI6XCIpO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgW3NhbHRWYWx1ZSwgc3RvcmVkSGFzaF0gPSBwYXJ0cyBhcyBbc3RyaW5nLCBzdHJpbmddO1xuICB9XG5cbiAgaWYgKCFzYWx0VmFsdWUgfHwgIXN0b3JlZEhhc2gpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBoYXNoUmF3ID0gYXdhaXQgcGJrZGYyUHJvbWlzaWZpZWQocGFzc3dvcmQsIHNhbHRWYWx1ZSk7XG4gIGNvbnN0IGNvbXB1dGVkSGFzaCA9IGhhc2hSYXcudG9TdHJpbmcoXCJoZXhcIik7XG5cbiAgcmV0dXJuIHN0b3JlZEhhc2ggPT09IGNvbXB1dGVkSGFzaDtcbn07XG4iXSwibmFtZXMiOlsiY3J5cHRvIiwicGJrZGYyUHJvbWlzaWZpZWQiLCJwYXNzd29yZCIsInNhbHQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInBia2RmMiIsImVyciIsImhhc2hSYXciLCJyYW5kb21CeXRlcyIsInNhbHRCdWZmZXIiLCJoYXNoUGFzc3dvcmQiLCJ0b1N0cmluZyIsImhhc2giLCJ2ZXJpZnlQYXNzd29yZCIsInNhbHRWYWx1ZSIsInN0b3JlZEhhc2giLCJwYXJ0cyIsInNwbGl0IiwibGVuZ3RoIiwiY29tcHV0ZWRIYXNoIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxZQUFZLFNBQVM7QUFFNUI7Ozs7O0NBS0MsR0FDRCxTQUFTQyxrQkFBa0JDLFFBQWdCLEVBQUVDLElBQVk7SUFDdkQsT0FBTyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDLFNBQzNCTixPQUFPTyxNQUFNLENBQUNMLFVBQVVDLE1BQU0sT0FBTyxLQUFLLFVBQVUsQ0FBQ0ssS0FBS0MsVUFDeERELE1BQU1GLE9BQU9FLE9BQU9ILFFBQVFJO0FBR2xDO0FBRUE7O0NBRUMsR0FDRCxTQUFTQztJQUNQLE9BQU8sSUFBSU4sUUFBUSxDQUFDQyxTQUFTQyxTQUMzQk4sT0FBT1UsV0FBVyxDQUFDLElBQUksQ0FBQ0YsS0FBS0csYUFDM0JILE1BQU1GLE9BQU9FLE9BQU9ILFFBQVFNO0FBR2xDO0FBRUE7Ozs7Ozs7O0NBUUMsR0FDRCxPQUFPLE1BQU1DLGVBQWUsT0FBT1Y7SUFDakMsTUFBTVMsYUFBYSxNQUFNRDtJQUN6QixNQUFNUCxPQUFPUSxXQUFXRSxRQUFRLENBQUM7SUFFakMsTUFBTUosVUFBVSxNQUFNUixrQkFBa0JDLFVBQVVDO0lBQ2xELE1BQU1XLE9BQU9MLFFBQVFJLFFBQVEsQ0FBQztJQUU5QixPQUFPLEdBQUdWLEtBQUssQ0FBQyxFQUFFVyxNQUFNO0FBQzFCLEVBQUU7QUFFRjs7Ozs7Ozs7O0NBU0MsR0FDRCxPQUFPLE1BQU1DLGlCQUFpQixPQUFPLEVBQ25DRCxJQUFJLEVBQ0paLFFBQVEsRUFDUkMsSUFBSSxFQUtMO0lBQ0MsSUFBSWE7SUFDSixJQUFJQztJQUVKLDBFQUEwRTtJQUMxRSxJQUFJZCxNQUFNO1FBQ1JhLFlBQVliO1FBQ1pjLGFBQWFIO0lBQ2YsT0FBTztRQUNMLCtEQUErRDtRQUMvRCxNQUFNSSxRQUFRSixLQUFLSyxLQUFLLENBQUM7UUFDekIsSUFBSUQsTUFBTUUsTUFBTSxLQUFLLEdBQUc7WUFDdEIsT0FBTztRQUNUO1FBQ0EsQ0FBQ0osV0FBV0MsV0FBVyxHQUFHQztJQUM1QjtJQUVBLElBQUksQ0FBQ0YsYUFBYSxDQUFDQyxZQUFZO1FBQzdCLE9BQU87SUFDVDtJQUVBLE1BQU1SLFVBQVUsTUFBTVIsa0JBQWtCQyxVQUFVYztJQUNsRCxNQUFNSyxlQUFlWixRQUFRSSxRQUFRLENBQUM7SUFFdEMsT0FBT0ksZUFBZUk7QUFDeEIsRUFBRSJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { SanitizedBetterAuthOptions,
|
|
2
|
-
import type { Config, Payload } from
|
|
1
|
+
import type { SanitizedBetterAuthOptions, BetterAuthPluginOptions } from "../../../types";
|
|
2
|
+
import type { Config, Payload } from "payload";
|
|
3
3
|
/**
|
|
4
4
|
* Sets up a middleware that enforces the saveToJwt configuration when setting session data.
|
|
5
5
|
* This ensures that only fields specified in saveToJwt are included in the cookie cache
|
|
@@ -8,9 +8,9 @@ import type { Config, Payload } from 'payload';
|
|
|
8
8
|
* The middleware runs after authentication and filters the session data based on
|
|
9
9
|
* the collection configurations before storing it in the cookie cache.
|
|
10
10
|
*/
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function saveToJwtMiddleware({ sanitizedOptions, payloadConfig, pluginOptions, }: {
|
|
12
12
|
sanitizedOptions: SanitizedBetterAuthOptions;
|
|
13
|
-
payloadConfig: Payload[
|
|
14
|
-
pluginOptions:
|
|
13
|
+
payloadConfig: Payload["config"] | Config;
|
|
14
|
+
pluginOptions: BetterAuthPluginOptions;
|
|
15
15
|
}): void;
|
|
16
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=save-to-jwt-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save-to-jwt-middleware.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG/C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,EAAE;IACD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC1C,aAAa,EAAE,uBAAuB,CAAC;CACxC,QAoBA"}
|
package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { setCookieCache } from "better-auth/cookies";
|
|
2
|
+
import { createAuthMiddleware } from "better-auth/api";
|
|
3
|
+
import { prepareSessionData } from "../../../helpers/prepare-session-data";
|
|
4
|
+
/**
|
|
5
|
+
* Sets up a middleware that enforces the saveToJwt configuration when setting session data.
|
|
6
|
+
* This ensures that only fields specified in saveToJwt are included in the cookie cache
|
|
7
|
+
* for both user and session objects.
|
|
8
|
+
*
|
|
9
|
+
* The middleware runs after authentication and filters the session data based on
|
|
10
|
+
* the collection configurations before storing it in the cookie cache.
|
|
11
|
+
*/ export function saveToJwtMiddleware({ sanitizedOptions, payloadConfig, pluginOptions }) {
|
|
12
|
+
if (typeof sanitizedOptions.hooks !== "object") sanitizedOptions.hooks = {};
|
|
13
|
+
sanitizedOptions.hooks.after = createAuthMiddleware(async (ctx)=>{
|
|
14
|
+
const newSession = ctx.context?.session ?? ctx.context?.newSession;
|
|
15
|
+
if (!newSession) return;
|
|
16
|
+
const filteredSessionData = await prepareSessionData({
|
|
17
|
+
newSession,
|
|
18
|
+
payloadConfig,
|
|
19
|
+
collectionSlugs: {
|
|
20
|
+
userCollectionSlug: pluginOptions.users?.slug ?? "users",
|
|
21
|
+
sessionCollectionSlug: pluginOptions.sessions?.slug ?? "sessions"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
if (filteredSessionData) {
|
|
25
|
+
await setCookieCache(ctx, filteredSessionData);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvdXRpbHMvc2F2ZS10by1qd3QtbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZXRDb29raWVDYWNoZSB9IGZyb20gXCJiZXR0ZXItYXV0aC9jb29raWVzXCI7XG5pbXBvcnQgeyBjcmVhdGVBdXRoTWlkZGxld2FyZSB9IGZyb20gXCJiZXR0ZXItYXV0aC9hcGlcIjtcbmltcG9ydCB0eXBlIHtcbiAgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMsXG4gIEJldHRlckF1dGhQbHVnaW5PcHRpb25zLFxufSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnLCBQYXlsb2FkIH0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB7IHByZXBhcmVTZXNzaW9uRGF0YSB9IGZyb20gXCIuLi8uLi8uLi9oZWxwZXJzL3ByZXBhcmUtc2Vzc2lvbi1kYXRhXCI7XG5cbi8qKlxuICogU2V0cyB1cCBhIG1pZGRsZXdhcmUgdGhhdCBlbmZvcmNlcyB0aGUgc2F2ZVRvSnd0IGNvbmZpZ3VyYXRpb24gd2hlbiBzZXR0aW5nIHNlc3Npb24gZGF0YS5cbiAqIFRoaXMgZW5zdXJlcyB0aGF0IG9ubHkgZmllbGRzIHNwZWNpZmllZCBpbiBzYXZlVG9Kd3QgYXJlIGluY2x1ZGVkIGluIHRoZSBjb29raWUgY2FjaGVcbiAqIGZvciBib3RoIHVzZXIgYW5kIHNlc3Npb24gb2JqZWN0cy5cbiAqXG4gKiBUaGUgbWlkZGxld2FyZSBydW5zIGFmdGVyIGF1dGhlbnRpY2F0aW9uIGFuZCBmaWx0ZXJzIHRoZSBzZXNzaW9uIGRhdGEgYmFzZWQgb25cbiAqIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb25zIGJlZm9yZSBzdG9yaW5nIGl0IGluIHRoZSBjb29raWUgY2FjaGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYXZlVG9Kd3RNaWRkbGV3YXJlKHtcbiAgc2FuaXRpemVkT3B0aW9ucyxcbiAgcGF5bG9hZENvbmZpZyxcbiAgcGx1Z2luT3B0aW9ucyxcbn06IHtcbiAgc2FuaXRpemVkT3B0aW9uczogU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnM7XG4gIHBheWxvYWRDb25maWc6IFBheWxvYWRbXCJjb25maWdcIl0gfCBDb25maWc7XG4gIHBsdWdpbk9wdGlvbnM6IEJldHRlckF1dGhQbHVnaW5PcHRpb25zO1xufSkge1xuICBpZiAodHlwZW9mIHNhbml0aXplZE9wdGlvbnMuaG9va3MgIT09IFwib2JqZWN0XCIpIHNhbml0aXplZE9wdGlvbnMuaG9va3MgPSB7fTtcblxuICBzYW5pdGl6ZWRPcHRpb25zLmhvb2tzLmFmdGVyID0gY3JlYXRlQXV0aE1pZGRsZXdhcmUoYXN5bmMgKGN0eCkgPT4ge1xuICAgIGNvbnN0IG5ld1Nlc3Npb24gPSBjdHguY29udGV4dD8uc2Vzc2lvbiA/PyBjdHguY29udGV4dD8ubmV3U2Vzc2lvbjtcbiAgICBpZiAoIW5ld1Nlc3Npb24pIHJldHVybjtcblxuICAgIGNvbnN0IGZpbHRlcmVkU2Vzc2lvbkRhdGEgPSBhd2FpdCBwcmVwYXJlU2Vzc2lvbkRhdGEoe1xuICAgICAgbmV3U2Vzc2lvbixcbiAgICAgIHBheWxvYWRDb25maWcsXG4gICAgICBjb2xsZWN0aW9uU2x1Z3M6IHtcbiAgICAgICAgdXNlckNvbGxlY3Rpb25TbHVnOiBwbHVnaW5PcHRpb25zLnVzZXJzPy5zbHVnID8/IFwidXNlcnNcIixcbiAgICAgICAgc2Vzc2lvbkNvbGxlY3Rpb25TbHVnOiBwbHVnaW5PcHRpb25zLnNlc3Npb25zPy5zbHVnID8/IFwic2Vzc2lvbnNcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoZmlsdGVyZWRTZXNzaW9uRGF0YSkge1xuICAgICAgYXdhaXQgc2V0Q29va2llQ2FjaGUoY3R4LCBmaWx0ZXJlZFNlc3Npb25EYXRhIGFzIGFueSk7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJzZXRDb29raWVDYWNoZSIsImNyZWF0ZUF1dGhNaWRkbGV3YXJlIiwicHJlcGFyZVNlc3Npb25EYXRhIiwic2F2ZVRvSnd0TWlkZGxld2FyZSIsInNhbml0aXplZE9wdGlvbnMiLCJwYXlsb2FkQ29uZmlnIiwicGx1Z2luT3B0aW9ucyIsImhvb2tzIiwiYWZ0ZXIiLCJjdHgiLCJuZXdTZXNzaW9uIiwiY29udGV4dCIsInNlc3Npb24iLCJmaWx0ZXJlZFNlc3Npb25EYXRhIiwiY29sbGVjdGlvblNsdWdzIiwidXNlckNvbGxlY3Rpb25TbHVnIiwidXNlcnMiLCJzbHVnIiwic2Vzc2lvbkNvbGxlY3Rpb25TbHVnIiwic2Vzc2lvbnMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGNBQWMsUUFBUSxzQkFBc0I7QUFDckQsU0FBU0Msb0JBQW9CLFFBQVEsa0JBQWtCO0FBTXZELFNBQVNDLGtCQUFrQixRQUFRLHdDQUF3QztBQUUzRTs7Ozs7OztDQU9DLEdBQ0QsT0FBTyxTQUFTQyxvQkFBb0IsRUFDbENDLGdCQUFnQixFQUNoQkMsYUFBYSxFQUNiQyxhQUFhLEVBS2Q7SUFDQyxJQUFJLE9BQU9GLGlCQUFpQkcsS0FBSyxLQUFLLFVBQVVILGlCQUFpQkcsS0FBSyxHQUFHLENBQUM7SUFFMUVILGlCQUFpQkcsS0FBSyxDQUFDQyxLQUFLLEdBQUdQLHFCQUFxQixPQUFPUTtRQUN6RCxNQUFNQyxhQUFhRCxJQUFJRSxPQUFPLEVBQUVDLFdBQVdILElBQUlFLE9BQU8sRUFBRUQ7UUFDeEQsSUFBSSxDQUFDQSxZQUFZO1FBRWpCLE1BQU1HLHNCQUFzQixNQUFNWCxtQkFBbUI7WUFDbkRRO1lBQ0FMO1lBQ0FTLGlCQUFpQjtnQkFDZkMsb0JBQW9CVCxjQUFjVSxLQUFLLEVBQUVDLFFBQVE7Z0JBQ2pEQyx1QkFBdUJaLGNBQWNhLFFBQVEsRUFBRUYsUUFBUTtZQUN6RDtRQUNGO1FBRUEsSUFBSUoscUJBQXFCO1lBQ3ZCLE1BQU1iLGVBQWVTLEtBQUtJO1FBQzVCO0lBQ0Y7QUFDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/admin-buttons/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,cAAc,CAAC;AAEtB,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwH7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|