@revealui/auth 0.0.1-pre.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/LICENSE +202 -0
- package/dist/better-auth/adapter/__tests__/transform.test.js +213 -0
- package/dist/better-auth/adapter/__tests__/transform.test.js.map +1 -0
- package/dist/better-auth/adapter/generate-schema/biome.d.js +2 -0
- package/dist/better-auth/adapter/generate-schema/biome.d.js.map +1 -0
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +5 -0
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +482 -0
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js.map +1 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +1 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +42 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.js.map +1 -0
- package/dist/better-auth/adapter/generate-schema/index.d.ts +4 -0
- package/dist/better-auth/adapter/generate-schema/index.js +19 -0
- package/dist/better-auth/adapter/generate-schema/index.js.map +1 -0
- package/dist/better-auth/adapter/generate-schema/utils.d.ts +2 -0
- package/dist/better-auth/adapter/generate-schema/utils.js +20 -0
- package/dist/better-auth/adapter/generate-schema/utils.js.map +1 -0
- package/dist/better-auth/adapter/index.d.ts +15 -0
- package/dist/better-auth/adapter/index.js +731 -0
- package/dist/better-auth/adapter/index.js.map +1 -0
- package/dist/better-auth/adapter/tests/adapter.test.js +174 -0
- package/dist/better-auth/adapter/tests/adapter.test.js.map +1 -0
- package/dist/better-auth/adapter/tests/base-collections-tests.js +575 -0
- package/dist/better-auth/adapter/tests/base-collections-tests.js.map +1 -0
- package/dist/better-auth/adapter/tests/dev/index.js +117 -0
- package/dist/better-auth/adapter/tests/dev/index.js.map +1 -0
- package/dist/better-auth/adapter/tests/dev/migrate.js +26 -0
- package/dist/better-auth/adapter/tests/dev/migrate.js.map +1 -0
- package/dist/better-auth/adapter/tests/dev/migrations/20250423_232936_init.js +218 -0
- package/dist/better-auth/adapter/tests/dev/migrations/20250423_232936_init.js.map +1 -0
- package/dist/better-auth/adapter/tests/dev/schema.js +160 -0
- package/dist/better-auth/adapter/tests/dev/schema.js.map +1 -0
- package/dist/better-auth/adapter/tests/plugins-tests.js +2 -0
- package/dist/better-auth/adapter/tests/plugins-tests.js.map +1 -0
- package/dist/better-auth/adapter/transform/index.d.ts +27 -0
- package/dist/better-auth/adapter/transform/index.js +664 -0
- package/dist/better-auth/adapter/transform/index.js.map +1 -0
- package/dist/better-auth/adapter/types.d.ts +10 -0
- package/dist/better-auth/adapter/types.js +3 -0
- package/dist/better-auth/adapter/types.js.map +1 -0
- package/dist/better-auth/generated-types.d.ts +285 -0
- package/dist/better-auth/index.d.ts +3 -0
- package/dist/better-auth/index.js +5 -0
- package/dist/better-auth/index.js.map +1 -0
- package/dist/better-auth/plugin/__tests__/plugin.test.js +162 -0
- package/dist/better-auth/plugin/__tests__/plugin.test.js.map +1 -0
- package/dist/better-auth/plugin/constants.d.ts +220 -0
- package/dist/better-auth/plugin/constants.js +249 -0
- package/dist/better-auth/plugin/constants.js.map +1 -0
- package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +12 -0
- package/dist/better-auth/plugin/helpers/check-plugin-exists.js +14 -0
- package/dist/better-auth/plugin/helpers/check-plugin-exists.js.map +1 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +29 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +46 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js.map +1 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +7 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.js.map +1 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +5 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.js.map +1 -0
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +18 -0
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +70 -0
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.js.map +1 -0
- package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +5 -0
- package/dist/better-auth/plugin/helpers/get-collection-slug.js +20 -0
- package/dist/better-auth/plugin/helpers/get-collection-slug.js.map +1 -0
- package/dist/better-auth/plugin/helpers/get-collection.d.ts +15 -0
- package/dist/better-auth/plugin/helpers/get-collection.js +29 -0
- package/dist/better-auth/plugin/helpers/get-collection.js.map +1 -0
- package/dist/better-auth/plugin/helpers/get-ip.d.ts +2 -0
- package/dist/better-auth/plugin/helpers/get-ip.js +31 -0
- package/dist/better-auth/plugin/helpers/get-ip.js.map +1 -0
- package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +2 -0
- package/dist/better-auth/plugin/helpers/get-signed-cookie.js +65 -0
- package/dist/better-auth/plugin/helpers/get-signed-cookie.js.map +1 -0
- package/dist/better-auth/plugin/helpers/index.d.ts +1 -0
- package/dist/better-auth/plugin/helpers/index.js +3 -0
- package/dist/better-auth/plugin/helpers/index.js.map +1 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +59 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.js +49 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.js.map +1 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +20 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +67 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js.map +1 -0
- package/dist/better-auth/plugin/index.d.ts +11 -0
- package/dist/better-auth/plugin/index.js +125 -0
- package/dist/better-auth/plugin/index.js.map +1 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +12 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +87 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +60 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +154 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +5 -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-after-read.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +2 -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/hooks/get-url-before-change.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +119 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.js +177 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/device-code.js +50 -0
- package/dist/better-auth/plugin/lib/build-collections/device-code.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts +10 -0
- package/dist/better-auth/plugin/lib/build-collections/index.js +73 -0
- package/dist/better-auth/plugin/lib/build-collections/index.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.js +94 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.js +59 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/members.js +73 -0
- package/dist/better-auth/plugin/lib/build-collections/members.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +107 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +118 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +89 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.js +70 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js +115 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.js +170 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +81 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +111 -0
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/team-members.js +57 -0
- package/dist/better-auth/plugin/lib/build-collections/team-members.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.js +76 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.js +67 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +53 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +11 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +75 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +6 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +2 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +115 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js.map +1 -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.js +64 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +80 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +79 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +2 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +82 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +2 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +54 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +15 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +8 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +2 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +17 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +2 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +91 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.js +341 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +15 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +24 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-duplicate-fields.d.ts +10 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-duplicate-fields.js +67 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-duplicate-fields.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +9 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +94 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +35 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +12 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +25 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +14 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +67 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +20 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +98 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.js +87 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.js.map +1 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +5 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.js +9 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.js.map +1 -0
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +7 -0
- package/dist/better-auth/plugin/lib/init-better-auth.js +46 -0
- package/dist/better-auth/plugin/lib/init-better-auth.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +9 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js.map +1 -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.js +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js.map +1 -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.js +156 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js.map +1 -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.js +18 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js.map +1 -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.js +34 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js.map +1 -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.js +11 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js.map +1 -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.js +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +11 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +7 -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/ensure-password-set-before-create.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +25 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +9 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +47 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +15 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +42 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +9 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +63 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js.map +1 -0
- package/dist/better-auth/plugin/lib/set-login-methods.d.ts +4 -0
- package/dist/better-auth/plugin/lib/set-login-methods.js +14 -0
- package/dist/better-auth/plugin/lib/set-login-methods.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +143 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +10 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +219 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts +4 -0
- package/dist/better-auth/plugin/payload/components/logout-button.js +24 -0
- package/dist/better-auth/plugin/payload/components/logout-button.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +8 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +117 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +3 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.js +66 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +4 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.js +52 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +8 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.js +57 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +22 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.js +3 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +6 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.js +7 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts +15 -0
- package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.js +157 -0
- package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/token-field.d.ts +4 -0
- package/dist/better-auth/plugin/payload/components/token-field.js +31 -0
- package/dist/better-auth/plugin/payload/components/token-field.js.map +1 -0
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts +8 -0
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js +300 -0
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/exports/client.d.ts +6 -0
- package/dist/better-auth/plugin/payload/exports/client.js +8 -0
- package/dist/better-auth/plugin/payload/exports/client.js.map +1 -0
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts +8 -0
- package/dist/better-auth/plugin/payload/exports/rsc.js +10 -0
- package/dist/better-auth/plugin/payload/exports/rsc.js.map +1 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +2 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +9 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js.map +1 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +1 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +22 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +19 -0
- package/dist/better-auth/plugin/payload/views/admin-login/client.js +226 -0
- package/dist/better-auth/plugin/payload/views/admin-login/client.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +10 -0
- package/dist/better-auth/plugin/payload/views/admin-login/index.js +150 -0
- package/dist/better-auth/plugin/payload/views/admin-login/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +16 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/client.js +299 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/client.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/index.js +104 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +7 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.js +119 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.js +78 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +10 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.js +144 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.js +96 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts +6 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js +96 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js.map +1 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +56 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js.map +1 -0
- package/dist/better-auth/plugin/types.d.ts +429 -0
- package/dist/better-auth/plugin/types.js +3 -0
- package/dist/better-auth/plugin/types.js.map +1 -0
- package/dist/better-auth/plugin/utils/set.d.ts +39 -0
- package/dist/better-auth/plugin/utils/set.js +103 -0
- package/dist/better-auth/plugin/utils/set.js.map +1 -0
- package/dist/better-auth/scripts/generate-types.d.ts +1 -0
- package/dist/better-auth/scripts/generate-types.js +234 -0
- package/dist/better-auth/scripts/generate-types.js.map +1 -0
- package/dist/better-auth/types.d.ts +2 -0
- package/dist/better-auth/types.js +4 -0
- package/dist/better-auth/types.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/shared/components/icons.d.ts +7 -0
- package/dist/shared/components/icons.js +442 -0
- package/dist/shared/components/icons.js.map +1 -0
- package/dist/shared/components/logo.d.ts +3 -0
- package/dist/shared/components/logo.js +24 -0
- package/dist/shared/components/logo.js.map +1 -0
- package/dist/shared/form/components/submit.d.ts +7 -0
- package/dist/shared/form/components/submit.js +16 -0
- package/dist/shared/form/components/submit.js.map +1 -0
- package/dist/shared/form/fields/text-field.d.ts +8 -0
- package/dist/shared/form/fields/text-field.js +37 -0
- package/dist/shared/form/fields/text-field.js.map +1 -0
- package/dist/shared/form/index.d.ts +4 -0
- package/dist/shared/form/index.js +8 -0
- package/dist/shared/form/index.js.map +1 -0
- package/dist/shared/form/ui/header/index.d.ts +8 -0
- package/dist/shared/form/ui/header/index.js +24 -0
- package/dist/shared/form/ui/header/index.js.map +1 -0
- package/dist/shared/form/ui/index.d.ts +31 -0
- package/dist/shared/form/ui/index.js +57 -0
- package/dist/shared/form/ui/index.js.map +1 -0
- package/dist/shared/form/validation.d.ts +51 -0
- package/dist/shared/form/validation.js +127 -0
- package/dist/shared/form/validation.js.map +1 -0
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.js +4 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/payload/fields/field-copy-button/index.d.ts +3 -0
- package/dist/shared/payload/fields/field-copy-button/index.js +38 -0
- package/dist/shared/payload/fields/field-copy-button/index.js.map +1 -0
- package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +3 -0
- package/dist/shared/payload/fields/generate-uuid-button/index.js +26 -0
- package/dist/shared/payload/fields/generate-uuid-button/index.js.map +1 -0
- package/dist/shared/payload/fields/index.d.ts +2 -0
- package/dist/shared/payload/fields/index.js +4 -0
- package/dist/shared/payload/fields/index.js.map +1 -0
- package/dist/shared/utils/regex.d.ts +2 -0
- package/dist/shared/utils/regex.js +4 -0
- package/dist/shared/utils/regex.js.map +1 -0
- package/dist/shared/utils/try-catch.d.ts +11 -0
- package/dist/shared/utils/try-catch.js +17 -0
- package/dist/shared/utils/try-catch.js.map +1 -0
- package/dist/shared/utils/value-or-default.d.ts +9 -0
- package/dist/shared/utils/value-or-default.js +12 -0
- package/dist/shared/utils/value-or-default.js.map +1 -0
- package/package.json +122 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/filter-properties.ts"],"sourcesContent":["import type {\n CheckboxField,\n DateField,\n Field,\n FieldBase,\n NumberField,\n RelationshipField,\n TextField,\n} from 'payload';\n\nexport const COMMON_FIELD_KEYS = [\n 'access',\n 'admin',\n 'custom',\n 'defaultValue',\n 'hidden',\n 'hooks',\n 'index',\n 'label',\n 'localized',\n 'name',\n 'required',\n 'saveToJWT',\n 'typescriptSchema',\n 'unique',\n 'validate',\n 'virtual',\n '_sanitized',\n] as const satisfies readonly (keyof FieldBase)[];\nexport const TEXT_FIELD_KEYS = [\n ...COMMON_FIELD_KEYS,\n 'maxLength',\n 'maxRows',\n 'minLength',\n 'minRows',\n] as const satisfies readonly (keyof TextField)[];\nexport const NUMBER_FIELD_KEYS = [\n ...COMMON_FIELD_KEYS,\n 'max',\n 'min',\n] as const satisfies readonly (keyof NumberField)[];\nexport const DATE_FIELD_KEYS = [\n ...COMMON_FIELD_KEYS,\n 'timezone',\n] as const satisfies readonly (keyof DateField)[];\nexport const CHECKBOX_FIELD_KEYS = [\n ...COMMON_FIELD_KEYS,\n] as const satisfies readonly (keyof CheckboxField)[];\nexport const RELATIONSHIP_FIELD_KEYS = [\n ...COMMON_FIELD_KEYS,\n 'filterOptions',\n 'graphQL',\n 'hasMany',\n 'max',\n 'maxDepth',\n 'maxRows',\n 'min',\n 'minRows',\n 'relationTo',\n 'type',\n] as const satisfies readonly (keyof RelationshipField)[];\n\nexport function getValidFieldPropertyKeysForType(type: Field['type']) {\n switch (type) {\n case 'relationship':\n return [...RELATIONSHIP_FIELD_KEYS];\n case 'text':\n return [...TEXT_FIELD_KEYS];\n case 'number':\n return [...NUMBER_FIELD_KEYS];\n case 'date':\n return [...DATE_FIELD_KEYS];\n case 'checkbox':\n return [...CHECKBOX_FIELD_KEYS];\n default:\n return [...COMMON_FIELD_KEYS];\n }\n}\n\nexport function filterProps<T extends object, K extends readonly (keyof T)[]>(\n obj: Partial<T>,\n allowed: K,\n extra: readonly string[] = []\n): Partial<T> {\n const allow = new Set<string>([...allowed.map(String), ...extra]);\n // Using Record<string, unknown> because filtered object structure varies by input object type and cannot be strictly typed\n const out: /* Using Record<string, unknown> because filtered object structure varies by input object type and cannot be strictly typed */ Record<\n string,\n unknown\n > = {};\n for (const [k, v] of Object.entries(obj)) {\n if (!allow.has(k)) continue;\n out[k] = v;\n }\n return out as Partial<T>;\n}\n"],"names":["COMMON_FIELD_KEYS","TEXT_FIELD_KEYS","NUMBER_FIELD_KEYS","DATE_FIELD_KEYS","CHECKBOX_FIELD_KEYS","RELATIONSHIP_FIELD_KEYS","getValidFieldPropertyKeysForType","type","filterProps","obj","allowed","extra","allow","Set","map","String","out","k","v","Object","entries","has"],"mappings":"AAUA,OAAO,MAAMA,oBAAoB;IAC/B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAiD;AAClD,OAAO,MAAMC,kBAAkB;OAC1BD;IACH;IACA;IACA;IACA;CACD,CAAiD;AAClD,OAAO,MAAME,oBAAoB;OAC5BF;IACH;IACA;CACD,CAAmD;AACpD,OAAO,MAAMG,kBAAkB;OAC1BH;IACH;CACD,CAAiD;AAClD,OAAO,MAAMI,sBAAsB;OAC9BJ;CACJ,CAAqD;AACtD,OAAO,MAAMK,0BAA0B;OAClCL;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAyD;AAE1D,OAAO,SAASM,iCAAiCC,IAAmB;IAClE,OAAQA;QACN,KAAK;YACH,OAAO;mBAAIF;aAAwB;QACrC,KAAK;YACH,OAAO;mBAAIJ;aAAgB;QAC7B,KAAK;YACH,OAAO;mBAAIC;aAAkB;QAC/B,KAAK;YACH,OAAO;mBAAIC;aAAgB;QAC7B,KAAK;YACH,OAAO;mBAAIC;aAAoB;QACjC;YACE,OAAO;mBAAIJ;aAAkB;IACjC;AACF;AAEA,OAAO,SAASQ,YACdC,GAAe,EACfC,OAAU,EACVC,QAA2B,EAAE;IAE7B,MAAMC,QAAQ,IAAIC,IAAY;WAAIH,QAAQI,GAAG,CAACC;WAAYJ;KAAM;IAChE,2HAA2H;IAC3H,MAAMK,MAGF,CAAC;IACL,KAAK,MAAM,CAACC,GAAGC,EAAE,IAAIC,OAAOC,OAAO,CAACX,KAAM;QACxC,IAAI,CAACG,MAAMS,GAAG,CAACJ,IAAI;QACnBD,GAAG,CAACC,EAAE,GAAGC;IACX;IACA,OAAOF;AACT"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function getTimestampFields(options = {
|
|
2
|
+
saveUpdatedAtToJWT: true,
|
|
3
|
+
saveCreatedAtToJWT: true
|
|
4
|
+
}) {
|
|
5
|
+
return [
|
|
6
|
+
{
|
|
7
|
+
name: 'updatedAt',
|
|
8
|
+
type: 'date',
|
|
9
|
+
...options.saveUpdatedAtToJWT !== undefined && {
|
|
10
|
+
saveToJWT: options.saveUpdatedAtToJWT
|
|
11
|
+
},
|
|
12
|
+
admin: {
|
|
13
|
+
disableBulkEdit: true,
|
|
14
|
+
hidden: true
|
|
15
|
+
},
|
|
16
|
+
index: true,
|
|
17
|
+
label: ({ t })=>t('general:updatedAt')
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'createdAt',
|
|
21
|
+
...options.saveCreatedAtToJWT !== undefined && {
|
|
22
|
+
saveToJWT: options.saveCreatedAtToJWT
|
|
23
|
+
},
|
|
24
|
+
admin: {
|
|
25
|
+
disableBulkEdit: true,
|
|
26
|
+
hidden: true
|
|
27
|
+
},
|
|
28
|
+
type: 'date',
|
|
29
|
+
index: true,
|
|
30
|
+
label: ({ t })=>t('general:createdAt')
|
|
31
|
+
}
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=get-timestamp-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.ts"],"sourcesContent":["import type { Field } from 'payload';\n\ninterface GetTimestampFieldsOptions {\n saveUpdatedAtToJWT?: boolean;\n saveCreatedAtToJWT?: boolean;\n}\n\nexport function getTimestampFields(\n options: GetTimestampFieldsOptions = {\n saveUpdatedAtToJWT: true,\n saveCreatedAtToJWT: true,\n }\n): Field[] {\n return [\n {\n name: 'updatedAt',\n type: 'date',\n ...(options.saveUpdatedAtToJWT !== undefined && { saveToJWT: options.saveUpdatedAtToJWT }),\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n index: true,\n label: ({ t }) => t('general:updatedAt'),\n },\n {\n name: 'createdAt',\n ...(options.saveCreatedAtToJWT !== undefined && { saveToJWT: options.saveCreatedAtToJWT }),\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n },\n ];\n}\n"],"names":["getTimestampFields","options","saveUpdatedAtToJWT","saveCreatedAtToJWT","name","type","undefined","saveToJWT","admin","disableBulkEdit","hidden","index","label","t"],"mappings":"AAOA,OAAO,SAASA,mBACdC,UAAqC;IACnCC,oBAAoB;IACpBC,oBAAoB;AACtB,CAAC;IAED,OAAO;QACL;YACEC,MAAM;YACNC,MAAM;YACN,GAAIJ,QAAQC,kBAAkB,KAAKI,aAAa;gBAAEC,WAAWN,QAAQC,kBAAkB;YAAC,CAAC;YACzFM,OAAO;gBACLC,iBAAiB;gBACjBC,QAAQ;YACV;YACAC,OAAO;YACPC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACtB;QACA;YACET,MAAM;YACN,GAAIH,QAAQE,kBAAkB,KAAKG,aAAa;gBAAEC,WAAWN,QAAQE,kBAAkB;YAAC,CAAC;YACzFK,OAAO;gBACLC,iBAAiB;gBACjBC,QAAQ;YACV;YACAL,MAAM;YACNM,OAAO;YACPC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACtB;KACD;AACH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FieldRule } from '@/better-auth/plugin/types';
|
|
2
|
+
import type { DBFieldAttribute } from 'better-auth/db';
|
|
3
|
+
import type { Field } from 'payload';
|
|
4
|
+
export declare const getAdditionalFieldProperties: ({ field, fieldKey, fieldRules, additionalProperties, validFieldPropertyKeys, }: {
|
|
5
|
+
field: DBFieldAttribute;
|
|
6
|
+
fieldKey: string;
|
|
7
|
+
fieldRules?: FieldRule[];
|
|
8
|
+
additionalProperties?: {
|
|
9
|
+
[key: string]: (field: DBFieldAttribute) => Partial<Field>;
|
|
10
|
+
};
|
|
11
|
+
validFieldPropertyKeys?: string[];
|
|
12
|
+
}) => Partial<Field>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { filterProps } from "./filter-properties";
|
|
2
|
+
function getRuleBasedFieldProperties({ field }, fieldRules = []) {
|
|
3
|
+
return fieldRules.reduce((acc, rule)=>{
|
|
4
|
+
const conditionMatch = !rule.condition || rule.condition(field);
|
|
5
|
+
if (conditionMatch) {
|
|
6
|
+
Object.assign(acc, rule.transform(field));
|
|
7
|
+
}
|
|
8
|
+
return acc;
|
|
9
|
+
}, {});
|
|
10
|
+
}
|
|
11
|
+
export const getAdditionalFieldProperties = ({ field, fieldKey, fieldRules = [], additionalProperties = {}, validFieldPropertyKeys = [] })=>{
|
|
12
|
+
const ruleProps = getRuleBasedFieldProperties({
|
|
13
|
+
field
|
|
14
|
+
}, fieldRules);
|
|
15
|
+
const specificProps = additionalProperties[fieldKey]?.(field) ?? {};
|
|
16
|
+
const mergedProps = {
|
|
17
|
+
...ruleProps,
|
|
18
|
+
...specificProps
|
|
19
|
+
};
|
|
20
|
+
// Using any because filterProps accepts dynamic field property structures that vary by field type
|
|
21
|
+
// biome-ignore lint/suspicious/noExplicitAny: filterProps accepts dynamic field property structures
|
|
22
|
+
return filterProps(mergedProps, validFieldPropertyKeys);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=model-field-transformations.js.map
|
package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/model-field-transformations.ts"],"sourcesContent":["import type { FieldRule } from '@/better-auth/plugin/types';\nimport type { DBFieldAttribute } from 'better-auth/db';\nimport type { Field } from 'payload';\nimport { filterProps } from './filter-properties';\n\nfunction getRuleBasedFieldProperties(\n { field }: { field: DBFieldAttribute },\n fieldRules: FieldRule[] = []\n): Record<string, unknown> {\n return fieldRules.reduce<Record<string, unknown>>((acc, rule) => {\n const conditionMatch = !rule.condition || rule.condition(field);\n\n if (conditionMatch) {\n Object.assign(acc, rule.transform(field));\n }\n\n return acc;\n }, {});\n}\n\nexport const getAdditionalFieldProperties = ({\n field,\n fieldKey,\n fieldRules = [],\n additionalProperties = {},\n validFieldPropertyKeys = [],\n}: {\n field: DBFieldAttribute;\n fieldKey: string;\n fieldRules?: FieldRule[];\n additionalProperties?: { [key: string]: (field: DBFieldAttribute) => Partial<Field> };\n validFieldPropertyKeys?: string[];\n}): Partial<Field> => {\n const ruleProps = getRuleBasedFieldProperties({ field }, fieldRules);\n const specificProps = additionalProperties[fieldKey]?.(field) ?? {};\n\n const mergedProps = { ...ruleProps, ...specificProps };\n\n // Using any because filterProps accepts dynamic field property structures that vary by field type\n // biome-ignore lint/suspicious/noExplicitAny: filterProps accepts dynamic field property structures\n return filterProps(mergedProps as any, validFieldPropertyKeys as any);\n};\n"],"names":["filterProps","getRuleBasedFieldProperties","field","fieldRules","reduce","acc","rule","conditionMatch","condition","Object","assign","transform","getAdditionalFieldProperties","fieldKey","additionalProperties","validFieldPropertyKeys","ruleProps","specificProps","mergedProps"],"mappings":"AAGA,SAASA,WAAW,QAAQ,sBAAsB;AAElD,SAASC,4BACP,EAAEC,KAAK,EAA+B,EACtCC,aAA0B,EAAE;IAE5B,OAAOA,WAAWC,MAAM,CAA0B,CAACC,KAAKC;QACtD,MAAMC,iBAAiB,CAACD,KAAKE,SAAS,IAAIF,KAAKE,SAAS,CAACN;QAEzD,IAAIK,gBAAgB;YAClBE,OAAOC,MAAM,CAACL,KAAKC,KAAKK,SAAS,CAACT;QACpC;QAEA,OAAOG;IACT,GAAG,CAAC;AACN;AAEA,OAAO,MAAMO,+BAA+B,CAAC,EAC3CV,KAAK,EACLW,QAAQ,EACRV,aAAa,EAAE,EACfW,uBAAuB,CAAC,CAAC,EACzBC,yBAAyB,EAAE,EAO5B;IACC,MAAMC,YAAYf,4BAA4B;QAAEC;IAAM,GAAGC;IACzD,MAAMc,gBAAgBH,oBAAoB,CAACD,SAAS,GAAGX,UAAU,CAAC;IAElE,MAAMgB,cAAc;QAAE,GAAGF,SAAS;QAAE,GAAGC,aAAa;IAAC;IAErD,kGAAkG;IAClG,oGAAoG;IACpG,OAAOjB,YAAYkB,aAAoBH;AACzC,EAAE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Access, FieldAccess } from 'payload';
|
|
2
|
+
export type AdminRolesConfig = {
|
|
3
|
+
adminRoles?: string[];
|
|
4
|
+
};
|
|
5
|
+
export type AdminOrCurrentUserConfig = AdminRolesConfig & {
|
|
6
|
+
idField?: string;
|
|
7
|
+
};
|
|
8
|
+
export type AdminOrCurrentUserUpdateConfig = AdminOrCurrentUserConfig & {
|
|
9
|
+
allowedFields?: string[];
|
|
10
|
+
userSlug: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const isAdminWithRoles: (config?: AdminRolesConfig) => FieldAccess;
|
|
13
|
+
export declare const isAdminOrCurrentUserWithRoles: (config?: AdminOrCurrentUserConfig) => Access;
|
|
14
|
+
export declare const isAdminOrCurrentUserUpdateWithAllowedFields: (config: AdminOrCurrentUserUpdateConfig) => Access;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export const isAdminWithRoles = (config = {})=>({ req })=>{
|
|
2
|
+
const { adminRoles = [
|
|
3
|
+
'admin'
|
|
4
|
+
] } = config;
|
|
5
|
+
if (!req?.user || !req.user.role || !adminRoles.includes(req.user.role)) return false;
|
|
6
|
+
return true;
|
|
7
|
+
};
|
|
8
|
+
export const isAdminOrCurrentUserWithRoles = (config = {})=>({ req })=>{
|
|
9
|
+
const { adminRoles = [
|
|
10
|
+
'admin'
|
|
11
|
+
], idField = 'id' } = config;
|
|
12
|
+
if (isAdminWithRoles({
|
|
13
|
+
adminRoles
|
|
14
|
+
})({
|
|
15
|
+
req
|
|
16
|
+
})) return true;
|
|
17
|
+
if (!req?.user) return false;
|
|
18
|
+
return {
|
|
19
|
+
[idField]: {
|
|
20
|
+
equals: req?.user?.id
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export const isAdminOrCurrentUserUpdateWithAllowedFields = (config)=>{
|
|
25
|
+
return async ({ req, id, data })=>{
|
|
26
|
+
const { adminRoles = [
|
|
27
|
+
'admin'
|
|
28
|
+
], allowedFields = [], userSlug, idField = 'id' } = config;
|
|
29
|
+
const user = req.user;
|
|
30
|
+
if (isAdminWithRoles({
|
|
31
|
+
adminRoles
|
|
32
|
+
})({
|
|
33
|
+
req
|
|
34
|
+
})) return true;
|
|
35
|
+
if (!user) return false;
|
|
36
|
+
// Using Record<string, unknown> because user object structure varies by collection configuration and idField can be any property
|
|
37
|
+
if (user[idField] === id && data) {
|
|
38
|
+
const dataKeys = Object.keys(data);
|
|
39
|
+
const hasCurrentPassword = dataKeys.includes('currentPassword');
|
|
40
|
+
const hasPassword = dataKeys.includes('password');
|
|
41
|
+
if (hasPassword || hasCurrentPassword) {
|
|
42
|
+
if (!(hasCurrentPassword && hasPassword)) return false;
|
|
43
|
+
try {
|
|
44
|
+
if (!user.email) return false;
|
|
45
|
+
const result = await req.payload.login({
|
|
46
|
+
collection: userSlug,
|
|
47
|
+
data: {
|
|
48
|
+
email: user.email,
|
|
49
|
+
password: data.currentPassword
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
if (!result) return false;
|
|
53
|
+
allowedFields.push('password', 'currentPassword');
|
|
54
|
+
} catch (_error) {
|
|
55
|
+
// Password validation failed - user doesn't have permission to change password
|
|
56
|
+
// Error details are intentionally not logged to avoid exposing sensitive authentication information
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const hasDisallowedField = dataKeys.some((key)=>!allowedFields.includes(key));
|
|
61
|
+
return !hasDisallowedField;
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=payload-access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/payload-access.ts"],"sourcesContent":["import type { Access, CollectionSlug, FieldAccess } from 'payload';\n\nexport type AdminRolesConfig = {\n adminRoles?: string[];\n};\n\nexport type AdminOrCurrentUserConfig = AdminRolesConfig & {\n idField?: string;\n};\n\nexport type AdminOrCurrentUserUpdateConfig = AdminOrCurrentUserConfig & {\n allowedFields?: string[];\n userSlug: string;\n};\n\nexport const isAdminWithRoles =\n (config: AdminRolesConfig = {}): FieldAccess =>\n ({ req }) => {\n const { adminRoles = ['admin'] } = config;\n if (!req?.user || !req.user.role || !adminRoles.includes(req.user.role)) return false;\n return true;\n };\n\nexport const isAdminOrCurrentUserWithRoles =\n (config: AdminOrCurrentUserConfig = {}): Access =>\n ({ req }) => {\n const { adminRoles = ['admin'], idField = 'id' } = config;\n if (isAdminWithRoles({ adminRoles })({ req })) return true;\n if (!req?.user) return false;\n return {\n [idField]: {\n equals: req?.user?.id,\n },\n };\n };\n\nexport const isAdminOrCurrentUserUpdateWithAllowedFields = (\n config: AdminOrCurrentUserUpdateConfig\n): Access => {\n return async ({ req, id, data }) => {\n const { adminRoles = ['admin'], allowedFields = [], userSlug, idField = 'id' } = config;\n const user = req.user;\n\n if (isAdminWithRoles({ adminRoles })({ req })) return true;\n\n if (!user) return false;\n\n // Using Record<string, unknown> because user object structure varies by collection configuration and idField can be any property\n if (\n (\n user as /* Using Record<string, unknown> because user object structure varies by collection configuration and idField can be any property */ Record<\n string,\n unknown\n >\n )[idField] === id &&\n data\n ) {\n const dataKeys = Object.keys(data);\n\n const hasCurrentPassword = dataKeys.includes('currentPassword');\n const hasPassword = dataKeys.includes('password');\n\n if (hasPassword || hasCurrentPassword) {\n if (!(hasCurrentPassword && hasPassword)) return false;\n try {\n if (!user.email) return false;\n\n const result = await req.payload.login({\n collection: userSlug as CollectionSlug,\n data: {\n email: user.email,\n password: data.currentPassword,\n },\n });\n\n if (!result) return false;\n\n allowedFields.push('password', 'currentPassword');\n } catch (_error) {\n // Password validation failed - user doesn't have permission to change password\n // Error details are intentionally not logged to avoid exposing sensitive authentication information\n return false;\n }\n }\n\n const hasDisallowedField = dataKeys.some(key => !allowedFields.includes(key));\n\n return !hasDisallowedField;\n }\n\n return false;\n };\n};\n"],"names":["isAdminWithRoles","config","req","adminRoles","user","role","includes","isAdminOrCurrentUserWithRoles","idField","equals","id","isAdminOrCurrentUserUpdateWithAllowedFields","data","allowedFields","userSlug","dataKeys","Object","keys","hasCurrentPassword","hasPassword","email","result","payload","login","collection","password","currentPassword","push","_error","hasDisallowedField","some","key"],"mappings":"AAeA,OAAO,MAAMA,mBACX,CAACC,SAA2B,CAAC,CAAC,GAC9B,CAAC,EAAEC,GAAG,EAAE;QACN,MAAM,EAAEC,aAAa;YAAC;SAAQ,EAAE,GAAGF;QACnC,IAAI,CAACC,KAAKE,QAAQ,CAACF,IAAIE,IAAI,CAACC,IAAI,IAAI,CAACF,WAAWG,QAAQ,CAACJ,IAAIE,IAAI,CAACC,IAAI,GAAG,OAAO;QAChF,OAAO;IACT,EAAE;AAEJ,OAAO,MAAME,gCACX,CAACN,SAAmC,CAAC,CAAC,GACtC,CAAC,EAAEC,GAAG,EAAE;QACN,MAAM,EAAEC,aAAa;YAAC;SAAQ,EAAEK,UAAU,IAAI,EAAE,GAAGP;QACnD,IAAID,iBAAiB;YAAEG;QAAW,GAAG;YAAED;QAAI,IAAI,OAAO;QACtD,IAAI,CAACA,KAAKE,MAAM,OAAO;QACvB,OAAO;YACL,CAACI,QAAQ,EAAE;gBACTC,QAAQP,KAAKE,MAAMM;YACrB;QACF;IACF,EAAE;AAEJ,OAAO,MAAMC,8CAA8C,CACzDV;IAEA,OAAO,OAAO,EAAEC,GAAG,EAAEQ,EAAE,EAAEE,IAAI,EAAE;QAC7B,MAAM,EAAET,aAAa;YAAC;SAAQ,EAAEU,gBAAgB,EAAE,EAAEC,QAAQ,EAAEN,UAAU,IAAI,EAAE,GAAGP;QACjF,MAAMG,OAAOF,IAAIE,IAAI;QAErB,IAAIJ,iBAAiB;YAAEG;QAAW,GAAG;YAAED;QAAI,IAAI,OAAO;QAEtD,IAAI,CAACE,MAAM,OAAO;QAElB,iIAAiI;QACjI,IACE,AACEA,IAID,CAACI,QAAQ,KAAKE,MACfE,MACA;YACA,MAAMG,WAAWC,OAAOC,IAAI,CAACL;YAE7B,MAAMM,qBAAqBH,SAAST,QAAQ,CAAC;YAC7C,MAAMa,cAAcJ,SAAST,QAAQ,CAAC;YAEtC,IAAIa,eAAeD,oBAAoB;gBACrC,IAAI,CAAEA,CAAAA,sBAAsBC,WAAU,GAAI,OAAO;gBACjD,IAAI;oBACF,IAAI,CAACf,KAAKgB,KAAK,EAAE,OAAO;oBAExB,MAAMC,SAAS,MAAMnB,IAAIoB,OAAO,CAACC,KAAK,CAAC;wBACrCC,YAAYV;wBACZF,MAAM;4BACJQ,OAAOhB,KAAKgB,KAAK;4BACjBK,UAAUb,KAAKc,eAAe;wBAChC;oBACF;oBAEA,IAAI,CAACL,QAAQ,OAAO;oBAEpBR,cAAcc,IAAI,CAAC,YAAY;gBACjC,EAAE,OAAOC,QAAQ;oBACf,+EAA+E;oBAC/E,oGAAoG;oBACpG,OAAO;gBACT;YACF;YAEA,MAAMC,qBAAqBd,SAASe,IAAI,CAACC,CAAAA,MAAO,CAAClB,cAAcP,QAAQ,CAACyB;YAExE,OAAO,CAACF;QACV;QAEA,OAAO;IACT;AACF,EAAE"}
|
package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { BuiltBetterAuthSchema, FieldRule } from '@/better-auth/plugin/types';
|
|
2
|
+
import type { DBFieldAttribute } from 'better-auth/db';
|
|
3
|
+
import type { Field } from 'payload';
|
|
4
|
+
export declare function getCollectionFields({ schema, fieldRules, additionalProperties, }: {
|
|
5
|
+
schema: BuiltBetterAuthSchema;
|
|
6
|
+
fieldRules?: FieldRule[];
|
|
7
|
+
additionalProperties?: Record<string, (field: DBFieldAttribute) => Partial<Field>>;
|
|
8
|
+
}): Field[] | null;
|
|
9
|
+
export declare function convertSchemaFieldToPayload({ field, fieldKey, fieldRules, additionalProperties, }: {
|
|
10
|
+
field: DBFieldAttribute;
|
|
11
|
+
fieldKey: string;
|
|
12
|
+
fieldRules?: FieldRule[];
|
|
13
|
+
additionalProperties?: Record<string, (field: DBFieldAttribute) => Partial<Field>>;
|
|
14
|
+
}): Field;
|
|
15
|
+
export declare function getPayloadFieldProperties({ field }: {
|
|
16
|
+
field: DBFieldAttribute;
|
|
17
|
+
}): {
|
|
18
|
+
type: Field['type'];
|
|
19
|
+
hasMany?: boolean;
|
|
20
|
+
};
|
package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { getValidFieldPropertyKeysForType } from "./filter-properties";
|
|
2
|
+
import { getAdditionalFieldProperties } from "./model-field-transformations";
|
|
3
|
+
export function getCollectionFields({ schema, fieldRules = [], additionalProperties = {} }) {
|
|
4
|
+
const payloadFields = Object.entries(schema.fields).map(([fieldKey, field])=>{
|
|
5
|
+
return convertSchemaFieldToPayload({
|
|
6
|
+
field,
|
|
7
|
+
fieldKey,
|
|
8
|
+
fieldRules,
|
|
9
|
+
additionalProperties
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
return payloadFields;
|
|
13
|
+
}
|
|
14
|
+
export function convertSchemaFieldToPayload({ field, fieldKey, fieldRules = [], additionalProperties = {} }) {
|
|
15
|
+
const { type, hasMany } = getPayloadFieldProperties({
|
|
16
|
+
field
|
|
17
|
+
});
|
|
18
|
+
const validFieldPropertyKeys = getValidFieldPropertyKeysForType(type);
|
|
19
|
+
const additionalFieldProperties = getAdditionalFieldProperties({
|
|
20
|
+
field,
|
|
21
|
+
fieldKey,
|
|
22
|
+
fieldRules,
|
|
23
|
+
additionalProperties,
|
|
24
|
+
validFieldPropertyKeys
|
|
25
|
+
});
|
|
26
|
+
const baseField = {
|
|
27
|
+
name: field.fieldName ?? fieldKey,
|
|
28
|
+
type,
|
|
29
|
+
...hasMany && {
|
|
30
|
+
hasMany
|
|
31
|
+
},
|
|
32
|
+
...field.required && {
|
|
33
|
+
required: true
|
|
34
|
+
},
|
|
35
|
+
...field.unique && {
|
|
36
|
+
unique: true
|
|
37
|
+
},
|
|
38
|
+
...additionalFieldProperties,
|
|
39
|
+
custom: {
|
|
40
|
+
betterAuthFieldKey: fieldKey
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
if (field.references) {
|
|
44
|
+
return {
|
|
45
|
+
...baseField,
|
|
46
|
+
...'relationTo' in additionalFieldProperties ? {
|
|
47
|
+
relationTo: additionalFieldProperties.relationTo
|
|
48
|
+
} : {
|
|
49
|
+
relationTo: field.references.model
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return baseField;
|
|
54
|
+
}
|
|
55
|
+
export function getPayloadFieldProperties({ field }) {
|
|
56
|
+
const type = field.type;
|
|
57
|
+
if ('references' in field) {
|
|
58
|
+
return {
|
|
59
|
+
type: 'relationship'
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (type === 'number[]') {
|
|
63
|
+
return {
|
|
64
|
+
type: 'number',
|
|
65
|
+
hasMany: true
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (type === 'string[]') {
|
|
69
|
+
return {
|
|
70
|
+
type: 'text',
|
|
71
|
+
hasMany: true
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
switch(type){
|
|
75
|
+
case 'boolean':
|
|
76
|
+
return {
|
|
77
|
+
type: 'checkbox'
|
|
78
|
+
};
|
|
79
|
+
case 'date':
|
|
80
|
+
return {
|
|
81
|
+
type: 'date'
|
|
82
|
+
};
|
|
83
|
+
case 'string':
|
|
84
|
+
return {
|
|
85
|
+
type: 'text'
|
|
86
|
+
};
|
|
87
|
+
case 'number':
|
|
88
|
+
return {
|
|
89
|
+
type: 'number'
|
|
90
|
+
};
|
|
91
|
+
default:
|
|
92
|
+
return {
|
|
93
|
+
type: 'text'
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=transform-schema-fields-to-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.ts"],"sourcesContent":["import type { BuiltBetterAuthSchema, FieldRule } from '@/better-auth/plugin/types';\nimport type { DBFieldAttribute } from 'better-auth/db';\nimport type { Field, RelationshipField } from 'payload';\nimport { getValidFieldPropertyKeysForType } from './filter-properties';\nimport { getAdditionalFieldProperties } from './model-field-transformations';\n\nexport function getCollectionFields({\n schema,\n fieldRules = [],\n additionalProperties = {},\n}: {\n schema: BuiltBetterAuthSchema;\n fieldRules?: FieldRule[];\n additionalProperties?: Record<string, (field: DBFieldAttribute) => Partial<Field>>;\n}): Field[] | null {\n const payloadFields = Object.entries(schema.fields).map(([fieldKey, field]) => {\n return convertSchemaFieldToPayload({ field, fieldKey, fieldRules, additionalProperties });\n });\n\n return payloadFields;\n}\n\nexport function convertSchemaFieldToPayload({\n field,\n fieldKey,\n fieldRules = [],\n additionalProperties = {},\n}: {\n field: DBFieldAttribute;\n fieldKey: string;\n fieldRules?: FieldRule[];\n additionalProperties?: Record<string, (field: DBFieldAttribute) => Partial<Field>>;\n}): Field {\n const { type, hasMany } = getPayloadFieldProperties({ field });\n const validFieldPropertyKeys = getValidFieldPropertyKeysForType(type);\n const additionalFieldProperties = getAdditionalFieldProperties({\n field,\n fieldKey,\n fieldRules,\n additionalProperties,\n validFieldPropertyKeys,\n });\n const baseField = {\n name: field.fieldName ?? fieldKey,\n type,\n ...(hasMany && { hasMany }),\n ...(field.required && { required: true }),\n ...(field.unique && { unique: true }),\n ...additionalFieldProperties,\n custom: {\n betterAuthFieldKey: fieldKey,\n },\n } as Field;\n\n if (field.references) {\n return {\n ...baseField,\n ...('relationTo' in additionalFieldProperties\n ? { relationTo: additionalFieldProperties.relationTo }\n : { relationTo: field.references.model }),\n } as RelationshipField;\n }\n\n return baseField;\n}\n\nexport function getPayloadFieldProperties({ field }: { field: DBFieldAttribute }): {\n type: Field['type'];\n hasMany?: boolean;\n} {\n const type = field.type;\n\n if ('references' in field) {\n return { type: 'relationship' };\n }\n\n if (type === 'number[]') {\n return { type: 'number', hasMany: true };\n }\n\n if (type === 'string[]') {\n return { type: 'text', hasMany: true };\n }\n\n switch (type) {\n case 'boolean':\n return { type: 'checkbox' };\n case 'date':\n return { type: 'date' };\n case 'string':\n return { type: 'text' };\n case 'number':\n return { type: 'number' };\n default:\n return { type: 'text' };\n }\n}\n"],"names":["getValidFieldPropertyKeysForType","getAdditionalFieldProperties","getCollectionFields","schema","fieldRules","additionalProperties","payloadFields","Object","entries","fields","map","fieldKey","field","convertSchemaFieldToPayload","type","hasMany","getPayloadFieldProperties","validFieldPropertyKeys","additionalFieldProperties","baseField","name","fieldName","required","unique","custom","betterAuthFieldKey","references","relationTo","model"],"mappings":"AAGA,SAASA,gCAAgC,QAAQ,sBAAsB;AACvE,SAASC,4BAA4B,QAAQ,gCAAgC;AAE7E,OAAO,SAASC,oBAAoB,EAClCC,MAAM,EACNC,aAAa,EAAE,EACfC,uBAAuB,CAAC,CAAC,EAK1B;IACC,MAAMC,gBAAgBC,OAAOC,OAAO,CAACL,OAAOM,MAAM,EAAEC,GAAG,CAAC,CAAC,CAACC,UAAUC,MAAM;QACxE,OAAOC,4BAA4B;YAAED;YAAOD;YAAUP;YAAYC;QAAqB;IACzF;IAEA,OAAOC;AACT;AAEA,OAAO,SAASO,4BAA4B,EAC1CD,KAAK,EACLD,QAAQ,EACRP,aAAa,EAAE,EACfC,uBAAuB,CAAC,CAAC,EAM1B;IACC,MAAM,EAAES,IAAI,EAAEC,OAAO,EAAE,GAAGC,0BAA0B;QAAEJ;IAAM;IAC5D,MAAMK,yBAAyBjB,iCAAiCc;IAChE,MAAMI,4BAA4BjB,6BAA6B;QAC7DW;QACAD;QACAP;QACAC;QACAY;IACF;IACA,MAAME,YAAY;QAChBC,MAAMR,MAAMS,SAAS,IAAIV;QACzBG;QACA,GAAIC,WAAW;YAAEA;QAAQ,CAAC;QAC1B,GAAIH,MAAMU,QAAQ,IAAI;YAAEA,UAAU;QAAK,CAAC;QACxC,GAAIV,MAAMW,MAAM,IAAI;YAAEA,QAAQ;QAAK,CAAC;QACpC,GAAGL,yBAAyB;QAC5BM,QAAQ;YACNC,oBAAoBd;QACtB;IACF;IAEA,IAAIC,MAAMc,UAAU,EAAE;QACpB,OAAO;YACL,GAAGP,SAAS;YACZ,GAAI,gBAAgBD,4BAChB;gBAAES,YAAYT,0BAA0BS,UAAU;YAAC,IACnD;gBAAEA,YAAYf,MAAMc,UAAU,CAACE,KAAK;YAAC,CAAC;QAC5C;IACF;IAEA,OAAOT;AACT;AAEA,OAAO,SAASH,0BAA0B,EAAEJ,KAAK,EAA+B;IAI9E,MAAME,OAAOF,MAAME,IAAI;IAEvB,IAAI,gBAAgBF,OAAO;QACzB,OAAO;YAAEE,MAAM;QAAe;IAChC;IAEA,IAAIA,SAAS,YAAY;QACvB,OAAO;YAAEA,MAAM;YAAUC,SAAS;QAAK;IACzC;IAEA,IAAID,SAAS,YAAY;QACvB,OAAO;YAAEA,MAAM;YAAQC,SAAS;QAAK;IACvC;IAEA,OAAQD;QACN,KAAK;YACH,OAAO;gBAAEA,MAAM;YAAW;QAC5B,KAAK;YACH,OAAO;gBAAEA,MAAM;YAAO;QACxB,KAAK;YACH,OAAO;gBAAEA,MAAM;YAAO;QACxB,KAAK;YACH,OAAO;gBAAEA,MAAM;YAAS;QAC1B;YACE,OAAO;gBAAEA,MAAM;YAAO;IAC1B;AACF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { baModelKey } from "../../constants";
|
|
2
|
+
import { getAdminAccess } from "../../helpers/get-admin-access";
|
|
3
|
+
import { assertAllSchemaFields, getSchemaCollectionSlug, getSchemaFieldName } from "./utils/collection-schema";
|
|
4
|
+
import { filterDuplicateFields } from "./utils/filter-duplicate-fields";
|
|
5
|
+
import { getCollectionFields } from "./utils/transform-schema-fields-to-payload";
|
|
6
|
+
export function buildVerificationsCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
|
|
7
|
+
const verificationSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.verification);
|
|
8
|
+
const verificationSchema = resolvedSchemas[baModelKey.verification];
|
|
9
|
+
const existingVerificationCollection = incomingCollections.find((collection)=>collection.slug === verificationSlug);
|
|
10
|
+
const fieldOverrides = {
|
|
11
|
+
identifier: ()=>({
|
|
12
|
+
index: true,
|
|
13
|
+
admin: {
|
|
14
|
+
readOnly: true,
|
|
15
|
+
description: 'The identifier of the verification request'
|
|
16
|
+
}
|
|
17
|
+
}),
|
|
18
|
+
value: ()=>({
|
|
19
|
+
admin: {
|
|
20
|
+
readOnly: true,
|
|
21
|
+
description: 'The value to be verified'
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
expiresAt: ()=>({
|
|
25
|
+
admin: {
|
|
26
|
+
readOnly: true,
|
|
27
|
+
description: 'The date and time when the verification request will expire'
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
};
|
|
31
|
+
const verificationFieldRules = [
|
|
32
|
+
{
|
|
33
|
+
condition: (field)=>field.type === 'date',
|
|
34
|
+
transform: (field)=>({
|
|
35
|
+
...field,
|
|
36
|
+
saveToJWT: false,
|
|
37
|
+
admin: {
|
|
38
|
+
disableBulkEdit: true,
|
|
39
|
+
hidden: true
|
|
40
|
+
},
|
|
41
|
+
index: true,
|
|
42
|
+
// Using any because PayloadCMS label function receives translation function with dynamic type
|
|
43
|
+
label: ({ t })=>t('general:updatedAt')
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
];
|
|
47
|
+
const collectionFields = getCollectionFields({
|
|
48
|
+
schema: verificationSchema,
|
|
49
|
+
fieldRules: verificationFieldRules,
|
|
50
|
+
additionalProperties: fieldOverrides
|
|
51
|
+
});
|
|
52
|
+
let verificationCollection = {
|
|
53
|
+
...existingVerificationCollection,
|
|
54
|
+
slug: verificationSlug,
|
|
55
|
+
admin: {
|
|
56
|
+
useAsTitle: getSchemaFieldName(resolvedSchemas, baModelKey.verification, 'identifier'),
|
|
57
|
+
description: 'Verifications are used to verify authentication requests',
|
|
58
|
+
group: pluginOptions?.collectionAdminGroup ?? 'Auth',
|
|
59
|
+
...existingVerificationCollection?.admin,
|
|
60
|
+
...pluginOptions.verifications?.hidden !== undefined && {
|
|
61
|
+
hidden: pluginOptions.verifications.hidden
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
access: {
|
|
65
|
+
...getAdminAccess(pluginOptions),
|
|
66
|
+
...existingVerificationCollection?.access ?? {}
|
|
67
|
+
},
|
|
68
|
+
custom: {
|
|
69
|
+
...existingVerificationCollection?.custom ?? {},
|
|
70
|
+
betterAuthModelKey: baModelKey.verification
|
|
71
|
+
},
|
|
72
|
+
fields: [
|
|
73
|
+
...existingVerificationCollection?.fields ?? [],
|
|
74
|
+
// Filter out fields that already exist to prevent duplicates
|
|
75
|
+
...filterDuplicateFields(existingVerificationCollection?.fields, collectionFields)
|
|
76
|
+
]
|
|
77
|
+
};
|
|
78
|
+
if (typeof pluginOptions.verifications?.collectionOverrides === 'function') {
|
|
79
|
+
verificationCollection = pluginOptions.verifications.collectionOverrides({
|
|
80
|
+
collection: verificationCollection
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
assertAllSchemaFields(verificationCollection, verificationSchema);
|
|
84
|
+
return verificationCollection;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=verifications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/better-auth/plugin/lib/build-collections/verifications.ts"],"sourcesContent":["import type { Verification } from '@/better-auth/generated-types';\nimport type { CollectionConfig } from 'payload';\nimport { baModelKey } from '../../constants';\nimport { getAdminAccess } from '../../helpers/get-admin-access';\nimport type { BuildCollectionProps, FieldOverrides, FieldRule } from '../../types';\nimport {\n assertAllSchemaFields,\n getSchemaCollectionSlug,\n getSchemaFieldName,\n} from './utils/collection-schema';\nimport { filterDuplicateFields } from './utils/filter-duplicate-fields';\nimport { getCollectionFields } from './utils/transform-schema-fields-to-payload';\n\nexport function buildVerificationsCollection({\n incomingCollections,\n pluginOptions,\n resolvedSchemas,\n}: BuildCollectionProps): CollectionConfig {\n const verificationSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.verification);\n const verificationSchema = resolvedSchemas[baModelKey.verification];\n\n const existingVerificationCollection = incomingCollections.find(\n collection => collection.slug === verificationSlug\n ) as CollectionConfig | undefined;\n\n const fieldOverrides: FieldOverrides<keyof Verification> = {\n identifier: () => ({\n index: true,\n admin: {\n readOnly: true,\n description: 'The identifier of the verification request',\n },\n }),\n value: () => ({\n admin: {\n readOnly: true,\n description: 'The value to be verified',\n },\n }),\n expiresAt: () => ({\n admin: {\n readOnly: true,\n description: 'The date and time when the verification request will expire',\n },\n }),\n };\n\n const verificationFieldRules: FieldRule[] = [\n {\n condition: field => field.type === 'date',\n transform: field => ({\n ...field,\n saveToJWT: false,\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n index: true,\n // Using any because PayloadCMS label function receives translation function with dynamic type\n label: ({ t }: any) => t('general:updatedAt'),\n }),\n },\n ];\n\n const collectionFields = getCollectionFields({\n schema: verificationSchema,\n fieldRules: verificationFieldRules,\n additionalProperties: fieldOverrides,\n });\n\n let verificationCollection: CollectionConfig = {\n ...existingVerificationCollection,\n slug: verificationSlug,\n admin: {\n useAsTitle: getSchemaFieldName(resolvedSchemas, baModelKey.verification, 'identifier'),\n description: 'Verifications are used to verify authentication requests',\n group: pluginOptions?.collectionAdminGroup ?? 'Auth',\n ...existingVerificationCollection?.admin,\n ...(pluginOptions.verifications?.hidden !== undefined && {\n hidden: pluginOptions.verifications.hidden,\n }),\n },\n access: {\n ...getAdminAccess(pluginOptions),\n ...(existingVerificationCollection?.access ?? {}),\n },\n custom: {\n ...(existingVerificationCollection?.custom ?? {}),\n betterAuthModelKey: baModelKey.verification,\n },\n fields: [\n ...(existingVerificationCollection?.fields ?? []),\n // Filter out fields that already exist to prevent duplicates\n ...filterDuplicateFields(existingVerificationCollection?.fields, collectionFields),\n ],\n };\n\n if (typeof pluginOptions.verifications?.collectionOverrides === 'function') {\n verificationCollection = pluginOptions.verifications.collectionOverrides({\n collection: verificationCollection,\n });\n }\n\n assertAllSchemaFields(verificationCollection, verificationSchema);\n\n return verificationCollection;\n}\n"],"names":["baModelKey","getAdminAccess","assertAllSchemaFields","getSchemaCollectionSlug","getSchemaFieldName","filterDuplicateFields","getCollectionFields","buildVerificationsCollection","incomingCollections","pluginOptions","resolvedSchemas","verificationSlug","verification","verificationSchema","existingVerificationCollection","find","collection","slug","fieldOverrides","identifier","index","admin","readOnly","description","value","expiresAt","verificationFieldRules","condition","field","type","transform","saveToJWT","disableBulkEdit","hidden","label","t","collectionFields","schema","fieldRules","additionalProperties","verificationCollection","useAsTitle","group","collectionAdminGroup","verifications","undefined","access","custom","betterAuthModelKey","fields","collectionOverrides"],"mappings":"AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,cAAc,QAAQ,iCAAiC;AAEhE,SACEC,qBAAqB,EACrBC,uBAAuB,EACvBC,kBAAkB,QACb,4BAA4B;AACnC,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,mBAAmB,QAAQ,6CAA6C;AAEjF,OAAO,SAASC,6BAA6B,EAC3CC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACM;IACrB,MAAMC,mBAAmBR,wBAAwBO,iBAAiBV,WAAWY,YAAY;IACzF,MAAMC,qBAAqBH,eAAe,CAACV,WAAWY,YAAY,CAAC;IAEnE,MAAME,iCAAiCN,oBAAoBO,IAAI,CAC7DC,CAAAA,aAAcA,WAAWC,IAAI,KAAKN;IAGpC,MAAMO,iBAAqD;QACzDC,YAAY,IAAO,CAAA;gBACjBC,OAAO;gBACPC,OAAO;oBACLC,UAAU;oBACVC,aAAa;gBACf;YACF,CAAA;QACAC,OAAO,IAAO,CAAA;gBACZH,OAAO;oBACLC,UAAU;oBACVC,aAAa;gBACf;YACF,CAAA;QACAE,WAAW,IAAO,CAAA;gBAChBJ,OAAO;oBACLC,UAAU;oBACVC,aAAa;gBACf;YACF,CAAA;IACF;IAEA,MAAMG,yBAAsC;QAC1C;YACEC,WAAWC,CAAAA,QAASA,MAAMC,IAAI,KAAK;YACnCC,WAAWF,CAAAA,QAAU,CAAA;oBACnB,GAAGA,KAAK;oBACRG,WAAW;oBACXV,OAAO;wBACLW,iBAAiB;wBACjBC,QAAQ;oBACV;oBACAb,OAAO;oBACP,8FAA8F;oBAC9Fc,OAAO,CAAC,EAAEC,CAAC,EAAO,GAAKA,EAAE;gBAC3B,CAAA;QACF;KACD;IAED,MAAMC,mBAAmB9B,oBAAoB;QAC3C+B,QAAQxB;QACRyB,YAAYZ;QACZa,sBAAsBrB;IACxB;IAEA,IAAIsB,yBAA2C;QAC7C,GAAG1B,8BAA8B;QACjCG,MAAMN;QACNU,OAAO;YACLoB,YAAYrC,mBAAmBM,iBAAiBV,WAAWY,YAAY,EAAE;YACzEW,aAAa;YACbmB,OAAOjC,eAAekC,wBAAwB;YAC9C,GAAG7B,gCAAgCO,KAAK;YACxC,GAAIZ,cAAcmC,aAAa,EAAEX,WAAWY,aAAa;gBACvDZ,QAAQxB,cAAcmC,aAAa,CAACX,MAAM;YAC5C,CAAC;QACH;QACAa,QAAQ;YACN,GAAG7C,eAAeQ,cAAc;YAChC,GAAIK,gCAAgCgC,UAAU,CAAC,CAAC;QAClD;QACAC,QAAQ;YACN,GAAIjC,gCAAgCiC,UAAU,CAAC,CAAC;YAChDC,oBAAoBhD,WAAWY,YAAY;QAC7C;QACAqC,QAAQ;eACFnC,gCAAgCmC,UAAU,EAAE;YAChD,6DAA6D;eAC1D5C,sBAAsBS,gCAAgCmC,QAAQb;SAClE;IACH;IAEA,IAAI,OAAO3B,cAAcmC,aAAa,EAAEM,wBAAwB,YAAY;QAC1EV,yBAAyB/B,cAAcmC,aAAa,CAACM,mBAAmB,CAAC;YACvElC,YAAYwB;QACd;IACF;IAEAtC,sBAAsBsC,wBAAwB3B;IAE9C,OAAO2B;AACT"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BasePayload, SanitizedConfig } from 'payload';
|
|
2
|
+
import type { BetterAuthReturn, TPlugins } from '../types';
|
|
3
|
+
export declare function getPayloadAuth<P extends TPlugins>(config: Promise<SanitizedConfig> | SanitizedConfig): Promise<BasePayload & {
|
|
4
|
+
betterAuth: BetterAuthReturn<P>;
|
|
5
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/better-auth/plugin/lib/get-payload-auth.ts"],"sourcesContent":["import { getPayload } from 'payload';\nimport type { BasePayload, SanitizedConfig } from 'payload';\nimport type { BetterAuthReturn, TPlugins } from '../types';\n\nexport async function getPayloadAuth<P extends TPlugins>(\n config: Promise<SanitizedConfig> | SanitizedConfig\n): Promise<BasePayload & { betterAuth: BetterAuthReturn<P> }> {\n const payload = (await getPayload({ config })) as BasePayload & {\n betterAuth: BetterAuthReturn<P>;\n };\n return payload;\n}\n"],"names":["getPayload","getPayloadAuth","config","payload"],"mappings":"AAAA,SAASA,UAAU,QAAQ,UAAU;AAIrC,OAAO,eAAeC,eACpBC,MAAkD;IAElD,MAAMC,UAAW,MAAMH,WAAW;QAAEE;IAAO;IAG3C,OAAOC;AACT"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BasePayload } from 'payload';
|
|
2
|
+
import type { BetterAuthFunctionOptions, BetterAuthReturn, TPlugins } from '../types';
|
|
3
|
+
export declare function initBetterAuth<P extends TPlugins>({ payload, idType, options: { enableDebugLogs, ...restOptions }, }: {
|
|
4
|
+
payload: BasePayload;
|
|
5
|
+
idType: 'number' | 'text';
|
|
6
|
+
options: BetterAuthFunctionOptions<P>;
|
|
7
|
+
}): BetterAuthReturn<P>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { betterAuth } from "../..";
|
|
2
|
+
import { payloadAdapter } from "../../adapter/index";
|
|
3
|
+
export function initBetterAuth({ payload, idType, options: { enableDebugLogs = false, ...restOptions } }) {
|
|
4
|
+
return betterAuth({
|
|
5
|
+
...restOptions,
|
|
6
|
+
// Using any because BetterAuth accepts empty objects for optional config when not provided
|
|
7
|
+
// biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config
|
|
8
|
+
...restOptions.user ? {
|
|
9
|
+
user: restOptions.user
|
|
10
|
+
} : {
|
|
11
|
+
user: {}
|
|
12
|
+
},
|
|
13
|
+
// biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config
|
|
14
|
+
...restOptions.session ? {
|
|
15
|
+
session: restOptions.session
|
|
16
|
+
} : {
|
|
17
|
+
session: {}
|
|
18
|
+
},
|
|
19
|
+
// biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config
|
|
20
|
+
...restOptions.account ? {
|
|
21
|
+
account: restOptions.account
|
|
22
|
+
} : {
|
|
23
|
+
account: {}
|
|
24
|
+
},
|
|
25
|
+
...restOptions.verification ? {
|
|
26
|
+
verification: restOptions.verification
|
|
27
|
+
} : {
|
|
28
|
+
verification: {}
|
|
29
|
+
},
|
|
30
|
+
// biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config
|
|
31
|
+
...restOptions.advanced ? {
|
|
32
|
+
advanced: restOptions.advanced
|
|
33
|
+
} : {
|
|
34
|
+
advanced: {}
|
|
35
|
+
},
|
|
36
|
+
database: payloadAdapter({
|
|
37
|
+
payloadClient: payload,
|
|
38
|
+
adapterConfig: {
|
|
39
|
+
enableDebugLogs,
|
|
40
|
+
idType
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=init-better-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/better-auth/plugin/lib/init-better-auth.ts"],"sourcesContent":["import { betterAuth } from 'better-auth';\nimport type { BasePayload } from 'payload';\nimport { payloadAdapter } from '../../adapter/index';\nimport type { BetterAuthFunctionOptions, BetterAuthReturn, TPlugins } from '../types';\n\nexport function initBetterAuth<P extends TPlugins>({\n payload,\n idType,\n options: { enableDebugLogs = false, ...restOptions },\n}: {\n payload: BasePayload;\n idType: 'number' | 'text';\n options: BetterAuthFunctionOptions<P>;\n}): BetterAuthReturn<P> {\n return betterAuth({\n ...restOptions,\n // Using any because BetterAuth accepts empty objects for optional config when not provided\n // biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config\n ...(restOptions.user ? { user: restOptions.user } : { user: {} as any }),\n // biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config\n ...(restOptions.session ? { session: restOptions.session } : { session: {} as any }),\n // biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config\n ...(restOptions.account ? { account: restOptions.account } : { account: {} as any }),\n ...(restOptions.verification\n ? { verification: restOptions.verification }\n : // biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config\n { verification: {} as any }),\n // biome-ignore lint/suspicious/noExplicitAny: BetterAuth accepts empty objects for optional config\n ...(restOptions.advanced ? { advanced: restOptions.advanced } : { advanced: {} as any }),\n database: payloadAdapter({\n payloadClient: payload,\n adapterConfig: {\n enableDebugLogs,\n idType,\n },\n }),\n }) as unknown as BetterAuthReturn<P>;\n}\n"],"names":["betterAuth","payloadAdapter","initBetterAuth","payload","idType","options","enableDebugLogs","restOptions","user","session","account","verification","advanced","database","payloadClient","adapterConfig"],"mappings":"AAAA,SAASA,UAAU,QAAQ,QAAc;AAEzC,SAASC,cAAc,QAAQ,sBAAsB;AAGrD,OAAO,SAASC,eAAmC,EACjDC,OAAO,EACPC,MAAM,EACNC,SAAS,EAAEC,kBAAkB,KAAK,EAAE,GAAGC,aAAa,EAKrD;IACC,OAAOP,WAAW;QAChB,GAAGO,WAAW;QACd,2FAA2F;QAC3F,mGAAmG;QACnG,GAAIA,YAAYC,IAAI,GAAG;YAAEA,MAAMD,YAAYC,IAAI;QAAC,IAAI;YAAEA,MAAM,CAAC;QAAS,CAAC;QACvE,mGAAmG;QACnG,GAAID,YAAYE,OAAO,GAAG;YAAEA,SAASF,YAAYE,OAAO;QAAC,IAAI;YAAEA,SAAS,CAAC;QAAS,CAAC;QACnF,mGAAmG;QACnG,GAAIF,YAAYG,OAAO,GAAG;YAAEA,SAASH,YAAYG,OAAO;QAAC,IAAI;YAAEA,SAAS,CAAC;QAAS,CAAC;QACnF,GAAIH,YAAYI,YAAY,GACxB;YAAEA,cAAcJ,YAAYI,YAAY;QAAC,IAEzC;YAAEA,cAAc,CAAC;QAAS,CAAC;QAC/B,mGAAmG;QACnG,GAAIJ,YAAYK,QAAQ,GAAG;YAAEA,UAAUL,YAAYK,QAAQ;QAAC,IAAI;YAAEA,UAAU,CAAC;QAAS,CAAC;QACvFC,UAAUZ,eAAe;YACvBa,eAAeX;YACfY,eAAe;gBACbT;gBACAF;YACF;QACF;IACF;AACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { defaults } from "../../constants";
|
|
2
|
+
export function configureAdminPlugin(plugin, options) {
|
|
3
|
+
plugin.defaultRole = options.users?.defaultRole ?? defaults.userRole;
|
|
4
|
+
plugin.adminRoles = options.users?.adminRoles ?? [
|
|
5
|
+
defaults.adminRole
|
|
6
|
+
];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=admin-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.ts"],"sourcesContent":["import { defaults } from '../../constants';\nimport type { BetterAuthPluginOptions } from '../../types';\n\nexport function configureAdminPlugin(plugin: any, options: BetterAuthPluginOptions): void {\n plugin.defaultRole = options.users?.defaultRole ?? defaults.userRole;\n plugin.adminRoles = options.users?.adminRoles ?? [defaults.adminRole];\n}\n"],"names":["defaults","configureAdminPlugin","plugin","options","defaultRole","users","userRole","adminRoles","adminRole"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,kBAAkB;AAG3C,OAAO,SAASC,qBAAqBC,MAAW,EAAEC,OAAgC;IAChFD,OAAOE,WAAW,GAAGD,QAAQE,KAAK,EAAED,eAAeJ,SAASM,QAAQ;IACpEJ,OAAOK,UAAU,GAAGJ,QAAQE,KAAK,EAAEE,cAAc;QAACP,SAASQ,SAAS;KAAC;AACvE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { baModelFieldKeys, baModelKey } from "@/better-auth/plugin/constants";
|
|
2
|
+
import { set } from "../../utils/set";
|
|
3
|
+
import { getSchemaCollectionSlug, getSchemaFieldName } from "../build-collections/utils/collection-schema";
|
|
4
|
+
export function configureApiKeyPlugin(plugin, resolvedSchemas) {
|
|
5
|
+
const model = baModelKey.apikey;
|
|
6
|
+
set(plugin, `schema.${model}.modelName`, getSchemaCollectionSlug(resolvedSchemas, model));
|
|
7
|
+
set(plugin, `schema.${model}.fields.userId.fieldName`, getSchemaFieldName(resolvedSchemas, model, baModelFieldKeys.apikey.userId));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=api-key-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.ts"],"sourcesContent":["import { baModelFieldKeys, baModelKey } from '@/better-auth/plugin/constants';\nimport type { BetterAuthSchemas } from '@/better-auth/types';\nimport { set } from '../../utils/set';\nimport {\n getSchemaCollectionSlug,\n getSchemaFieldName,\n} from '../build-collections/utils/collection-schema';\n\nexport function configureApiKeyPlugin(plugin: any, resolvedSchemas: BetterAuthSchemas): void {\n const model = baModelKey.apikey;\n set(plugin, `schema.${model}.modelName`, getSchemaCollectionSlug(resolvedSchemas, model));\n set(\n plugin,\n `schema.${model}.fields.userId.fieldName`,\n getSchemaFieldName(resolvedSchemas, model, baModelFieldKeys.apikey.userId)\n );\n}\n"],"names":["baModelFieldKeys","baModelKey","set","getSchemaCollectionSlug","getSchemaFieldName","configureApiKeyPlugin","plugin","resolvedSchemas","model","apikey","userId"],"mappings":"AAAA,SAASA,gBAAgB,EAAEC,UAAU,QAAQ,iCAAiC;AAE9E,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SACEC,uBAAuB,EACvBC,kBAAkB,QACb,+CAA+C;AAEtD,OAAO,SAASC,sBAAsBC,MAAW,EAAEC,eAAkC;IACnF,MAAMC,QAAQP,WAAWQ,MAAM;IAC/BP,IAAII,QAAQ,CAAC,OAAO,EAAEE,MAAM,UAAU,CAAC,EAAEL,wBAAwBI,iBAAiBC;IAClFN,IACEI,QACA,CAAC,OAAO,EAAEE,MAAM,wBAAwB,CAAC,EACzCJ,mBAAmBG,iBAAiBC,OAAOR,iBAAiBS,MAAM,CAACC,MAAM;AAE7E"}
|
package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { baModelKey } from "@/better-auth/plugin/constants";
|
|
2
|
+
import { set } from "../../utils/set";
|
|
3
|
+
import { getSchemaCollectionSlug } from "../build-collections/utils/collection-schema";
|
|
4
|
+
export function configureDeviceAuthorizationPlugin(plugin, resolvedSchemas) {
|
|
5
|
+
set(plugin, `schema.${baModelKey.deviceCode}.modelName`, getSchemaCollectionSlug(resolvedSchemas, baModelKey.deviceCode));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=device-authorization-plugin.js.map
|
package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.ts"],"sourcesContent":["import { baModelKey } from '@/better-auth/plugin/constants';\nimport type { BetterAuthSchemas } from '@/better-auth/types';\nimport { set } from '../../utils/set';\nimport { getSchemaCollectionSlug } from '../build-collections/utils/collection-schema';\n\nexport function configureDeviceAuthorizationPlugin(\n plugin: any,\n resolvedSchemas: BetterAuthSchemas\n): void {\n set(\n plugin,\n `schema.${baModelKey.deviceCode}.modelName`,\n getSchemaCollectionSlug(resolvedSchemas, baModelKey.deviceCode)\n );\n}\n"],"names":["baModelKey","set","getSchemaCollectionSlug","configureDeviceAuthorizationPlugin","plugin","resolvedSchemas","deviceCode"],"mappings":"AAAA,SAASA,UAAU,QAAQ,iCAAiC;AAE5D,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,uBAAuB,QAAQ,+CAA+C;AAEvF,OAAO,SAASC,mCACdC,MAAW,EACXC,eAAkC;IAElCJ,IACEG,QACA,CAAC,OAAO,EAAEJ,WAAWM,UAAU,CAAC,UAAU,CAAC,EAC3CJ,wBAAwBG,iBAAiBL,WAAWM,UAAU;AAElE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BetterAuthPluginOptions, BetterAuthSchemas, SanitizedBetterAuthOptions } from '@/better-auth/plugin/types';
|
|
2
|
+
import type { Config, Payload } from 'payload';
|
|
3
|
+
/**
|
|
4
|
+
* Sanitizes the BetterAuth options
|
|
5
|
+
*/
|
|
6
|
+
export declare function sanitizeBetterAuthOptions({ config, pluginOptions, resolvedSchemas, }: {
|
|
7
|
+
config: Payload['config'] | Config | Promise<Payload['config'] | Config>;
|
|
8
|
+
pluginOptions: BetterAuthPluginOptions;
|
|
9
|
+
resolvedSchemas: BetterAuthSchemas;
|
|
10
|
+
}): SanitizedBetterAuthOptions;
|