@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/adapter/index.ts"],"sourcesContent":["import { BetterAuthError } from 'better-auth';\nimport type { Adapter, BetterAuthOptions, Where } from 'better-auth';\nimport type { BetterAuthFullSchema, ModelKey } from '../generated-types';\nimport { generateSchema } from './generate-schema';\nimport { createTransform } from './transform';\nimport type { PayloadAdapter } from './types';\n\ntype BetterAuthModel = BetterAuthFullSchema[ModelKey];\ntype Model = BetterAuthModel;\n\n// PayloadCMS collections map has dynamic structure that varies by collection configuration\ntype PayloadCollections =\n /* Using Record<string, unknown> because collection structures vary by configuration and cannot be strictly typed */ Record<\n string,\n unknown\n >;\n\n// PayloadCMS find results contain documents with dynamic field structures that vary by collection\ntype PayloadFindResult = {\n docs: Array<\n /* Using Record<string, unknown> because PayloadCMS documents have dynamic structure that varies by collection and cannot be strictly typed */ Record<\n string,\n unknown\n >\n >;\n totalDocs: number;\n};\n\n// PayloadCMS delete results can return different structures depending on collection configuration\ntype PayloadDeleteResult =\n | {\n docs?: Array<\n /* Using Record<string, unknown> because PayloadCMS deleteMany returns docs array with dynamic structure that cannot be strictly typed */ Record<\n string,\n unknown\n >\n >;\n }\n | /* Using Record<string, unknown> because PayloadCMS delete returns single document with dynamic structure that cannot be strictly typed */ Record<\n string,\n unknown\n >\n | null;\n\ninterface PayloadClient {\n collections: PayloadCollections;\n config: {\n custom?: {\n hasBetterAuthPlugin?: boolean;\n };\n };\n // PayloadCMS create/update operations accept dynamic data structures that vary by collection\n // Using Record<string, unknown> because create args structure varies by collection and cannot be strictly typed\n create(\n // Using Record<string, unknown> because args structure varies by collection and cannot be strictly typed\n args: Record<string, unknown>\n ): Promise<\n // Using Record<string, unknown> because return structure varies by collection and cannot be strictly typed\n Record<string, unknown>\n >;\n // PayloadCMS find operations accept dynamic query parameters (where, sort, limit, etc.)\n // Using Record<string, unknown> because query parameters structure varies by collection and cannot be strictly typed\n find(args: Record<string, unknown>): Promise<PayloadFindResult>;\n // PayloadCMS findByID accepts dynamic options (depth, context, etc.)\n // Using Record<string, unknown> because findByID args structure varies by collection and cannot be strictly typed\n findByID(\n // Using Record<string, unknown> because args structure varies by collection and cannot be strictly typed\n args: Record<string, unknown>\n ): Promise<// Using Record<string, unknown> because return structure varies by collection and cannot be strictly typed\n Record<string, unknown> | null>;\n // PayloadCMS update accepts dynamic data and options structures\n update(\n // Using Record<string, unknown> because update args structure varies by collection and cannot be strictly typed\n args: Record<string, unknown>\n ): Promise<\n // Using Record<string, unknown> because update returns document with dynamic structure that cannot be strictly typed\n | /* Using Record<string, unknown> because update returns document with dynamic structure that cannot be strictly typed */ Record<\n string,\n unknown\n >\n // Using Record<string, unknown> because updateMany returns docs array with dynamic structure that cannot be strictly typed\n | {\n docs?: Array<\n /* Using Record<string, unknown> because document structure varies by collection */ Record<\n string,\n unknown\n >\n >;\n }\n | null\n >;\n // PayloadCMS delete accepts dynamic options (context, etc.)\n delete(\n // Using Record<string, unknown> because delete options structure varies by collection and cannot be strictly typed\n args: Record<string, unknown>\n ): Promise<PayloadDeleteResult>;\n // PayloadCMS count accepts dynamic where clauses that vary by collection\n // Using Record<string, unknown> because count arguments structure varies by collection\n count(args: Record<string, unknown>): Promise<{ totalDocs: number }>;\n}\n\nexport const BETTER_AUTH_CONTEXT_KEY = 'payload-db-adapter';\nconst PAYLOAD_QUERY_DEPTH = 0;\nconst DEBUG_LOG_PREFIX = '[payload-db-adapter]';\n\n/**\n * Payload adapter for Better Auth\n *\n * This adapter connects Better Auth to Payload CMS, allowing authentication\n * operations to be performed against Payload collections.\n *\n * @param payloadClient - The Payload CMS client instance or a function that returns it\n * @param config - Configuration options for the adapter\n * @returns A function that creates a Better Auth adapter\n */\nconst payloadAdapter: PayloadAdapter = ({ payloadClient, adapterConfig }) => {\n /**\n * Logs debug messages if debug logging is enabled\n * @param message - The message to log\n */\n function debugLog(message: unknown[]) {\n if (adapterConfig.enableDebugLogs) {\n // Use payload logger if available, otherwise fall back to console for package compatibility\n if (typeof payloadClient !== 'function' && payloadClient && 'logger' in payloadClient) {\n const payload = payloadClient as {\n logger?: { debug: (prefix: string, data: { message: unknown[] }) => void };\n };\n if (payload.logger) {\n payload.logger.debug(DEBUG_LOG_PREFIX, { message });\n } else {\n console.log(DEBUG_LOG_PREFIX, ...message);\n }\n } else {\n console.log(DEBUG_LOG_PREFIX, ...message);\n }\n }\n }\n\n /**\n * Logs error messages\n * @param message - The error message to log\n */\n function errorLog(message: unknown[]) {\n // Use payload logger if available, otherwise fall back to console for package compatibility\n if (typeof payloadClient !== 'function' && payloadClient && 'logger' in payloadClient) {\n const payload = payloadClient as {\n logger?: { error: (prefix: string, data: { message: unknown[] }) => void };\n };\n if (payload.logger) {\n payload.logger.error(DEBUG_LOG_PREFIX, { message });\n } else {\n console.error(DEBUG_LOG_PREFIX, ...message);\n }\n } else {\n console.error(DEBUG_LOG_PREFIX, ...message);\n }\n }\n\n /**\n * Throws an error when a collection slug doesn't exist\n * @param model - The model name that couldn't be found\n * @throws {BetterAuthError} When the collection doesn't exist\n * @returns Never - Function always throws\n */\n function collectionSlugError(model: string): never {\n throw new BetterAuthError(\n `Collection ${model} does not exist. Please check your payload collection slugs match the better auth schema`\n );\n }\n\n // Normalizes PayloadCMS delete result which can have multiple return structures\n function normalizePayloadDocumentResult(\n response: PayloadDeleteResult\n ): /* Using Record<string, unknown> because return structure varies by collection and cannot be strictly typed */ Record<\n string,\n unknown\n > | null {\n if (!response) {\n return null;\n }\n\n if (typeof response === 'object' && 'docs' in response) {\n // PayloadCMS delete can return docs array with dynamic document structures\n // Using Record<string, unknown> because document structure varies by collection and cannot be strictly typed\n const docs = (\n response as {\n docs?: Array<\n /* Using Record<string, unknown> because document structure varies by collection */ Record<\n string,\n unknown\n >\n >;\n }\n ).docs;\n if (Array.isArray(docs) && docs.length > 0) {\n return docs[0] ?? null;\n }\n return null;\n }\n\n // PayloadCMS delete result can be a single document with dynamic structure\n return response as /* Using Record<string, unknown> because document structure varies by collection and cannot be strictly typed */ Record<\n string,\n unknown\n >;\n }\n\n /**\n * Validates that a collection exists in Payload\n * @param payload - The Payload client instance\n * @param collectionSlug - The collection slug to validate\n * @param model - The model name for error messages\n * @throws {BetterAuthError} When the collection doesn't exist\n */\n async function validateCollection(\n payload: PayloadClient,\n collectionSlug: string,\n model: string\n ): Promise<void> {\n if (!collectionSlug || !(collectionSlug in payload.collections)) {\n collectionSlugError(model);\n }\n }\n\n /**\n * Creates a context object for Payload operations\n * @param data - Data to include in the context\n * @returns The context object with Better Auth metadata\n */\n // PayloadCMS context accepts dynamic metadata structures for adapter tracking\n const createAdapterContext = (\n // Using Record<string, unknown> because context data structure varies by operation and cannot be strictly typed\n data: Record<string, unknown>\n ) => ({\n [BETTER_AUTH_CONTEXT_KEY]: { ...data },\n });\n\n /**\n * Resolves the Payload client, handling both function and direct references\n * @returns The resolved Payload client\n * @throws {BetterAuthError} When Better Auth plugin is not configured\n */\n async function resolvePayloadClient(): Promise<PayloadClient> {\n const payload =\n typeof payloadClient === 'function' ? await payloadClient() : await payloadClient;\n if (!payload.config?.custom?.hasBetterAuthPlugin) {\n throw new BetterAuthError(\n 'Payload is not configured with the better-auth plugin. Please add the plugin to your payload config.'\n );\n }\n return payload as PayloadClient;\n }\n\n /**\n * Creates and returns a Better Auth adapter for Payload\n * @param options - Better Auth options\n * @returns A Better Auth adapter implementation\n */\n return (options: BetterAuthOptions): Adapter => {\n const {\n transformInput,\n transformOutput,\n convertWhereClause,\n convertSelect,\n convertSort,\n getCollectionSlug,\n singleIdQuery,\n } = createTransform(options, adapterConfig.enableDebugLogs ?? false);\n\n return {\n id: 'payload-adapter',\n async transaction<R>(callback: (tx: Omit<Adapter, 'transaction'>) => Promise<R>): Promise<R> {\n return await callback(this);\n },\n // Better Auth create accepts dynamic data structures that vary by model\n async create<\n // Using Record<string, unknown> because data structure varies by model and cannot be strictly typed\n T extends\n /* Using Record<string, unknown> because data structure varies by model and cannot be strictly typed */ Record<\n string,\n unknown\n >,\n R = T,\n >({\n model,\n data: values,\n select,\n }: {\n model: string;\n data: T;\n select?: string[];\n }): Promise<R> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const transformedInput = transformInput({\n data: values,\n model: model as ModelKey,\n idType: adapterConfig.idType,\n });\n\n debugLog(['create', { collectionSlug, transformedInput, select }]);\n\n try {\n // PayloadCMS create accepts dynamic options (data, context, depth, select)\n const createOptions: /* Using Record<string, unknown> because options structure varies by collection and cannot be strictly typed */ Record<\n string,\n unknown\n > = {\n collection: collectionSlug,\n data: transformedInput,\n context: createAdapterContext({ model, operation: 'create' }),\n depth: PAYLOAD_QUERY_DEPTH,\n };\n\n const convertedSelect = convertSelect(model as ModelKey, select);\n if (convertedSelect) {\n createOptions.select = convertedSelect;\n }\n\n const rawResult = await payload.create(createOptions);\n\n const transformedResult = transformOutput({\n doc: rawResult as BetterAuthModel,\n model: model as ModelKey,\n });\n\n debugLog([\n 'create result',\n {\n collectionSlug,\n transformedResult,\n duration: `${Date.now() - start}ms`,\n },\n ]);\n\n return transformedResult as R;\n } catch (error) {\n errorLog(['Error in creating:', model, error]);\n return null as R;\n }\n },\n async findOne<R>({\n model,\n where,\n select,\n }: {\n model: string;\n where: Where[];\n select?: string[];\n }): Promise<R | null> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const payloadWhere = convertWhereClause({\n idType: adapterConfig.idType,\n model: model as ModelKey,\n where: where ?? [],\n });\n\n debugLog(['findOne', { collectionSlug }]);\n\n try {\n const singleId = singleIdQuery(payloadWhere);\n let result: Model | null = null;\n\n if (singleId) {\n debugLog(['findOneByID', { collectionSlug, id: singleId }]);\n // PayloadCMS findByID accepts dynamic options (context, depth, select)\n const findByIdOptions: /* Using Record<string, unknown> because options structure varies by collection and cannot be strictly typed */ Record<\n string,\n unknown\n > = {\n collection: collectionSlug,\n id: singleId,\n context: createAdapterContext({\n model,\n operation: 'findOneByID',\n }),\n depth: PAYLOAD_QUERY_DEPTH,\n };\n\n const convertedSelect = convertSelect(model as ModelKey, select);\n if (convertedSelect) {\n findByIdOptions.select = convertedSelect as unknown as string[];\n }\n\n result = await payload.findByID(findByIdOptions);\n } else {\n debugLog(['findOneByWhere', { collectionSlug, payloadWhere }]);\n // PayloadCMS find accepts dynamic options (where, context, depth, select, limit)\n const findOptions: /* Using Record<string, unknown> because options structure varies by collection and cannot be strictly typed */ Record<\n string,\n unknown\n > = {\n collection: collectionSlug,\n where: payloadWhere,\n context: createAdapterContext({\n model,\n operation: 'findOneByWhere',\n }),\n depth: PAYLOAD_QUERY_DEPTH,\n limit: 1,\n };\n\n const convertedSelect = convertSelect(model as ModelKey, select);\n if (convertedSelect) {\n findOptions.select = convertedSelect as unknown as string[];\n }\n\n const docs = await payload.find(findOptions);\n result = docs.docs[0] ?? null;\n }\n\n const transformedResult = transformOutput<Model | null>({\n doc: result,\n model: model as ModelKey,\n });\n\n debugLog([\n 'findOne result',\n {\n collectionSlug,\n transformedResult,\n duration: `${Date.now() - start}ms`,\n },\n ]);\n\n return transformedResult as R;\n } catch (error) {\n if (error instanceof Error && 'status' in error && error.status === 404) {\n return null;\n }\n errorLog(['Error in findOne: ', error]);\n return null;\n }\n },\n async findMany<R>({\n model,\n where,\n limit = 10,\n sortBy,\n offset = 0,\n }: {\n model: string;\n where?: Where[];\n limit?: number;\n sortBy?: {\n field: string;\n direction: 'asc' | 'desc';\n };\n offset?: number;\n }): Promise<R[]> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const payloadWhere = convertWhereClause({\n idType: adapterConfig.idType,\n model: model as ModelKey,\n where: where ?? [],\n });\n\n debugLog(['findMany', { collectionSlug, sortBy, limit, offset }]);\n\n try {\n let result: {\n docs: Model[];\n totalDocs: number;\n } | null = null;\n\n const singleId = singleIdQuery(payloadWhere);\n if (singleId) {\n debugLog(['findManyBySingleID', { collectionSlug, id: singleId }]);\n const doc = await payload.findByID({\n collection: collectionSlug,\n id: singleId,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({\n model,\n operation: 'findManyBySingleID',\n }),\n });\n result = { docs: doc ? [doc] : [], totalDocs: doc ? 1 : 0 };\n } else {\n debugLog(['findManyByWhere', { collectionSlug, payloadWhere }]);\n const spill = offset % limit;\n const page = Math.floor(offset / limit) + 1;\n const fetchLimit = spill ? limit + spill : limit;\n\n const convertedSort = convertSort(model as ModelKey, sortBy);\n // PayloadCMS find accepts dynamic arguments (where, sort, limit, page, depth, context)\n const findArgs: /* Using Record<string, unknown> because arguments structure varies by collection and cannot be strictly typed */ Record<\n string,\n unknown\n > = {\n collection: collectionSlug,\n where: payloadWhere,\n limit: fetchLimit,\n page,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({\n model,\n operation: 'findManyByWhere',\n }),\n };\n if (convertedSort) {\n findArgs.sort = convertedSort;\n }\n const res = await payload.find(findArgs);\n result = { docs: res.docs.slice(spill, spill + limit), totalDocs: res.totalDocs };\n }\n\n const transformedResult =\n result?.docs.map(doc =>\n transformOutput({\n doc,\n model: model as ModelKey,\n })\n ) ?? [];\n\n debugLog([\n 'findMany result',\n {\n collectionSlug,\n transformedResult,\n duration: `${Date.now() - start}ms`,\n },\n ]);\n\n return transformedResult as R[];\n } catch (error) {\n if (error instanceof Error && 'status' in error && error.status === 404) {\n return [] as R[];\n }\n errorLog(['Error in findMany: ', error]);\n return [] as R[];\n }\n },\n async update<R>({\n model,\n where,\n update,\n }: {\n model: string;\n where: Where[];\n // Better Auth update data has dynamic structure that varies by model\n update: Record<string, unknown>;\n }): Promise<R | null> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const payloadWhere = convertWhereClause({\n idType: adapterConfig.idType,\n model: model as ModelKey,\n where: where ?? [],\n });\n\n const transformedInput = transformInput({\n data: update,\n model: model as ModelKey,\n idType: adapterConfig.idType,\n });\n\n debugLog(['update', { collectionSlug, update }]);\n\n try {\n let result: Model | null = null;\n const id = singleIdQuery(payloadWhere);\n\n if (id) {\n debugLog(['updateByID', { collectionSlug, id }]);\n const updateResponse = await payload.update({\n collection: collectionSlug,\n id,\n data: transformedInput,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({ model, operation: 'updateByID' }),\n });\n result = normalizePayloadDocumentResult(updateResponse as PayloadDeleteResult);\n } else {\n debugLog(['updateByWhere', { collectionSlug, payloadWhere }]);\n const updateResponse = await payload.update({\n collection: collectionSlug,\n where: payloadWhere,\n data: transformedInput,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({\n model,\n operation: 'updateByWhere',\n }),\n });\n result = normalizePayloadDocumentResult(updateResponse as PayloadDeleteResult);\n }\n\n const transformedResult = transformOutput<Model | null>({\n doc: result,\n model: model as ModelKey,\n });\n\n debugLog([\n 'update-result',\n {\n collectionSlug,\n transformedResult,\n duration: `${Date.now() - start}ms`,\n },\n ]);\n\n return transformedResult as R;\n } catch (error) {\n if (error instanceof Error && 'status' in error && error.status === 404) {\n return null;\n }\n errorLog(['Error in update: ', error]);\n return null;\n }\n },\n async updateMany({\n model,\n where,\n update,\n }: {\n model: string;\n where: Where[];\n // Better Auth update data has dynamic structure that varies by model\n update: Record<string, unknown>;\n }): Promise<number> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const payloadWhere = convertWhereClause({\n idType: adapterConfig.idType,\n model: model as ModelKey,\n where: where ?? [],\n });\n\n const transformedInput = transformInput({\n data: update,\n model: model as ModelKey,\n idType: adapterConfig.idType,\n });\n\n debugLog(['updateMany', { collectionSlug, payloadWhere, update }]);\n\n try {\n const updateResponse = await payload.update({\n collection: collectionSlug,\n where: payloadWhere,\n data: transformedInput,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({ model, operation: 'updateMany' }),\n });\n\n // PayloadCMS updateMany can return docs array with dynamic document structures\n // Using Record<string, unknown> because document structure varies by collection and cannot be strictly typed\n const updateDocs =\n updateResponse &&\n typeof updateResponse === 'object' &&\n 'docs' in updateResponse &&\n Array.isArray(\n (\n updateResponse as {\n docs?: Array<\n /* Using Record<string, unknown> because document structure varies by collection */ Record<\n string,\n unknown\n >\n >;\n }\n ).docs\n )\n ? ((\n updateResponse as {\n docs?: Array<\n /* Using Record<string, unknown> because document structure varies by collection */ Record<\n string,\n unknown\n >\n >;\n }\n ).docs ?? [])\n : [];\n\n debugLog([\n 'updateMany result',\n {\n collectionSlug,\n result: updateDocs,\n duration: `${Date.now() - start}ms`,\n },\n ]);\n\n return updateDocs.length;\n } catch (error) {\n if (error instanceof Error && 'status' in error && error.status === 404) {\n return 0;\n }\n errorLog(['Error in updateMany: ', error]);\n return 0;\n }\n },\n async delete({ model, where }: { model: string; where: Where[] }): Promise<void> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const payloadWhere = convertWhereClause({\n idType: adapterConfig.idType,\n model: model as ModelKey,\n where: where ?? [],\n });\n\n debugLog(['delete', { collectionSlug }]);\n\n try {\n let deleteResult: {\n doc: Model | null;\n errors: unknown[];\n } | null = null;\n\n const singleId = singleIdQuery(payloadWhere);\n if (singleId) {\n debugLog(['deleteByID', { collectionSlug, id: singleId }]);\n const deleteResponse = await payload.delete({\n collection: collectionSlug,\n id: singleId,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({ model, operation: 'deleteByID' }),\n });\n const deletedDoc = normalizePayloadDocumentResult(\n deleteResponse as PayloadDeleteResult\n );\n deleteResult = { doc: deletedDoc as Model | null, errors: [] };\n } else {\n debugLog(['deleteByWhere', { collectionSlug, payloadWhere }]);\n const deleteResponse = await payload.delete({\n collection: collectionSlug,\n where: payloadWhere,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({\n model,\n operation: 'deleteByWhere',\n }),\n });\n const deletedDoc = normalizePayloadDocumentResult(\n deleteResponse as PayloadDeleteResult\n );\n deleteResult = { doc: deletedDoc as Model | null, errors: [] };\n }\n\n debugLog([\n 'delete result',\n {\n collectionSlug,\n result: deleteResult,\n duration: `${Date.now() - start}ms`,\n },\n ]);\n } catch (error) {\n if (error instanceof Error && 'status' in error && error.status === 404) {\n return;\n }\n errorLog(['Error in delete: ', error]);\n }\n },\n async deleteMany({ model, where }: { model: string; where: Where[] }): Promise<number> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const payloadWhere = convertWhereClause({\n idType: adapterConfig.idType,\n model: model as ModelKey,\n where: where ?? [],\n });\n\n debugLog(['deleteMany', { collectionSlug, payloadWhere }]);\n\n try {\n const deleteResponse = await payload.delete({\n collection: collectionSlug,\n where: payloadWhere,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({ model, operation: 'deleteMany' }),\n });\n\n const deleteDocsLength = (() => {\n if (!deleteResponse) {\n return 0;\n }\n // PayloadCMS deleteMany can return docs array with dynamic document structures\n // Using Record<string, unknown> because document structure varies by collection and cannot be strictly typed\n if (\n typeof deleteResponse === 'object' &&\n 'docs' in deleteResponse &&\n Array.isArray(\n (\n deleteResponse as {\n docs?: Array<\n /* Using Record<string, unknown> because document structure varies by collection */ Record<\n string,\n unknown\n >\n >;\n }\n ).docs\n )\n ) {\n return (\n (\n deleteResponse as {\n docs?: Array<\n /* Using Record<string, unknown> because document structure varies by collection */ Record<\n string,\n unknown\n >\n >;\n }\n ).docs ?? []\n ).length;\n }\n return 1;\n })();\n\n debugLog([\n 'deleteMany result',\n {\n collectionSlug,\n result: deleteResponse,\n duration: `${Date.now() - start}ms`,\n },\n ]);\n\n return deleteDocsLength;\n } catch (error) {\n if (error instanceof Error && 'status' in error && error.status === 404) {\n return 0;\n }\n errorLog(['Error in deleteMany: ', error]);\n return 0;\n }\n },\n async count({ model, where }: { model: string; where?: Where[] }): Promise<number> {\n const start = Date.now();\n const payload = await resolvePayloadClient();\n const collectionSlug = getCollectionSlug(model as ModelKey);\n\n // Validate collection exists before proceeding\n await validateCollection(payload, collectionSlug, model);\n\n const payloadWhere = convertWhereClause({\n idType: adapterConfig.idType,\n model: model as ModelKey,\n where: where ?? [],\n });\n\n debugLog(['count', { collectionSlug, payloadWhere }]);\n\n try {\n const result = await payload.count({\n collection: collectionSlug,\n where: payloadWhere,\n depth: PAYLOAD_QUERY_DEPTH,\n context: createAdapterContext({ model, operation: 'count' }),\n });\n\n debugLog([\n 'count result',\n {\n collectionSlug,\n result: { totalDocs: result.totalDocs },\n duration: `${Date.now() - start}ms`,\n },\n ]);\n\n return result.totalDocs;\n } catch (error) {\n if (error instanceof Error && 'status' in error && error.status === 404) {\n return 0;\n }\n errorLog(['Error in count: ', error]);\n return 0;\n }\n },\n createSchema: async (options, file) => {\n const schemaCode = await generateSchema(options);\n return {\n code: schemaCode,\n path: file || 'schema.ts',\n append: false,\n overwrite: true,\n };\n },\n };\n };\n};\n\nexport { generateSchema, payloadAdapter };\n"],"names":["BetterAuthError","generateSchema","createTransform","BETTER_AUTH_CONTEXT_KEY","PAYLOAD_QUERY_DEPTH","DEBUG_LOG_PREFIX","payloadAdapter","payloadClient","adapterConfig","debugLog","message","enableDebugLogs","payload","logger","debug","console","log","errorLog","error","collectionSlugError","model","normalizePayloadDocumentResult","response","docs","Array","isArray","length","validateCollection","collectionSlug","collections","createAdapterContext","data","resolvePayloadClient","config","custom","hasBetterAuthPlugin","options","transformInput","transformOutput","convertWhereClause","convertSelect","convertSort","getCollectionSlug","singleIdQuery","id","transaction","callback","create","values","select","start","Date","now","transformedInput","idType","createOptions","collection","context","operation","depth","convertedSelect","rawResult","transformedResult","doc","duration","findOne","where","payloadWhere","singleId","result","findByIdOptions","findByID","findOptions","limit","find","Error","status","findMany","sortBy","offset","totalDocs","spill","page","Math","floor","fetchLimit","convertedSort","findArgs","sort","res","slice","map","update","updateResponse","updateMany","updateDocs","delete","deleteResult","deleteResponse","deletedDoc","errors","deleteMany","deleteDocsLength","count","createSchema","file","schemaCode","code","path","append","overwrite"],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { betterAuth } from "../..";
|
|
2
|
+
import { afterAll, beforeAll, describe, expect, it } from "vitest";
|
|
3
|
+
import { payloadAdapter } from "../index";
|
|
4
|
+
import { runBaseCollectionsNumberIdTests, runBaseCollectionsTests } from "./base-collections-tests";
|
|
5
|
+
import { getPayload } from "./dev";
|
|
6
|
+
describe('Handle Payload Adapter', async ()=>{
|
|
7
|
+
it('should successfully add the Payload Adapter', async ()=>{
|
|
8
|
+
const payload = await getPayload();
|
|
9
|
+
const auth = betterAuth({
|
|
10
|
+
database: payloadAdapter({
|
|
11
|
+
payloadClient: payload,
|
|
12
|
+
idType: 'number'
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
expect(auth).toBeDefined();
|
|
16
|
+
expect(auth.options.database).toBeDefined();
|
|
17
|
+
expect(auth.options.database({}).id).toEqual('payload-adapter');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
function deleteAll(payload) {
|
|
21
|
+
beforeAll(async ()=>{
|
|
22
|
+
await payload.delete({
|
|
23
|
+
collection: 'users',
|
|
24
|
+
where: {
|
|
25
|
+
id: {
|
|
26
|
+
exists: true
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
await payload.delete({
|
|
31
|
+
collection: 'sessions',
|
|
32
|
+
where: {
|
|
33
|
+
id: {
|
|
34
|
+
exists: true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
await payload.delete({
|
|
39
|
+
collection: 'accounts',
|
|
40
|
+
where: {
|
|
41
|
+
id: {
|
|
42
|
+
exists: true
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
await payload.delete({
|
|
47
|
+
collection: 'verifications',
|
|
48
|
+
where: {
|
|
49
|
+
id: {
|
|
50
|
+
exists: true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
afterAll(async ()=>{
|
|
56
|
+
await payload.delete({
|
|
57
|
+
collection: 'sessions',
|
|
58
|
+
where: {
|
|
59
|
+
id: {
|
|
60
|
+
exists: true
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
await payload.delete({
|
|
65
|
+
collection: 'accounts',
|
|
66
|
+
where: {
|
|
67
|
+
id: {
|
|
68
|
+
exists: true
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
await payload.delete({
|
|
73
|
+
collection: 'users',
|
|
74
|
+
where: {
|
|
75
|
+
id: {
|
|
76
|
+
exists: true
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
await payload.delete({
|
|
81
|
+
collection: 'verifications',
|
|
82
|
+
where: {
|
|
83
|
+
id: {
|
|
84
|
+
exists: true
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
describe('Run BetterAuth Base Collections Adapter tests', async ()=>{
|
|
91
|
+
const payload = await getPayload();
|
|
92
|
+
deleteAll(payload);
|
|
93
|
+
const adapter = payloadAdapter({
|
|
94
|
+
payloadClient: payload,
|
|
95
|
+
idType: 'number'
|
|
96
|
+
});
|
|
97
|
+
await runBaseCollectionsTests({
|
|
98
|
+
getAdapter: async (customOptions = {
|
|
99
|
+
...payload.betterAuth.options
|
|
100
|
+
})=>{
|
|
101
|
+
return adapter({
|
|
102
|
+
...customOptions
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
disableTests: {
|
|
106
|
+
SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: true
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
describe('Run BetterAuth Base Collections Adapter tests with number id', async ()=>{
|
|
111
|
+
const payload = await getPayload();
|
|
112
|
+
deleteAll(payload);
|
|
113
|
+
const adapter = payloadAdapter({
|
|
114
|
+
payloadClient: payload,
|
|
115
|
+
idType: 'number'
|
|
116
|
+
});
|
|
117
|
+
await runBaseCollectionsNumberIdTests({
|
|
118
|
+
getAdapter: async (customOptions = {
|
|
119
|
+
...payload.betterAuth.options,
|
|
120
|
+
advanced: {
|
|
121
|
+
database: {
|
|
122
|
+
useNumberId: true
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
})=>{
|
|
126
|
+
return adapter({
|
|
127
|
+
...customOptions
|
|
128
|
+
});
|
|
129
|
+
},
|
|
130
|
+
disableTests: {
|
|
131
|
+
SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: true
|
|
132
|
+
}
|
|
133
|
+
}, {
|
|
134
|
+
predefinedOptions: {
|
|
135
|
+
...payload.betterAuth.options,
|
|
136
|
+
advanced: {
|
|
137
|
+
database: {
|
|
138
|
+
useNumberId: true
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
describe('Authentication Flow Tests', async ()=>{
|
|
145
|
+
const testUser = {
|
|
146
|
+
email: 'test-email@email.com',
|
|
147
|
+
password: 'password12345',
|
|
148
|
+
name: 'Test Name'
|
|
149
|
+
};
|
|
150
|
+
const payload = await getPayload();
|
|
151
|
+
deleteAll(payload);
|
|
152
|
+
it('should successfully sign up a new user', async ()=>{
|
|
153
|
+
const user = await payload.betterAuth.api.signUpEmail({
|
|
154
|
+
body: {
|
|
155
|
+
email: testUser.email,
|
|
156
|
+
password: testUser.password,
|
|
157
|
+
name: testUser.name
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
expect(user).toBeDefined();
|
|
161
|
+
});
|
|
162
|
+
it('should successfully sign in an existing user', async ()=>{
|
|
163
|
+
await new Promise((resolve)=>setTimeout(resolve, 2000));
|
|
164
|
+
const user = await payload.betterAuth.api.signInEmail({
|
|
165
|
+
body: {
|
|
166
|
+
email: testUser.email,
|
|
167
|
+
password: testUser.password
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
expect(user.user).toBeDefined();
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
//# sourceMappingURL=adapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/better-auth/adapter/tests/adapter.test.ts"],"sourcesContent":["import { type BetterAuthOptions, betterAuth } from 'better-auth';\nimport type { BasePayload } from 'payload';\nimport { afterAll, beforeAll, describe, expect, it, test } from 'vitest';\nimport { payloadAdapter } from '../index';\nimport { runBaseCollectionsNumberIdTests, runBaseCollectionsTests } from './base-collections-tests';\nimport { getPayload } from './dev';\n\ndescribe('Handle Payload Adapter', async () => {\n it('should successfully add the Payload Adapter', async () => {\n const payload = await getPayload();\n\n const auth = betterAuth({\n database: payloadAdapter({\n payloadClient: payload,\n idType: 'number',\n }),\n });\n\n expect(auth).toBeDefined();\n expect(auth.options.database).toBeDefined();\n expect(auth.options.database({}).id).toEqual('payload-adapter');\n });\n});\n\nfunction deleteAll(payload: BasePayload) {\n beforeAll(async () => {\n await payload.delete({\n collection: 'users',\n where: {\n id: {\n exists: true,\n },\n },\n });\n\n await payload.delete({\n collection: 'sessions',\n where: {\n id: {\n exists: true,\n },\n },\n });\n\n await payload.delete({\n collection: 'accounts',\n where: {\n id: {\n exists: true,\n },\n },\n });\n\n await payload.delete({\n collection: 'verifications',\n where: {\n id: {\n exists: true,\n },\n },\n });\n });\n afterAll(async () => {\n await payload.delete({\n collection: 'sessions',\n where: {\n id: {\n exists: true,\n },\n },\n });\n\n await payload.delete({\n collection: 'accounts',\n where: {\n id: {\n exists: true,\n },\n },\n });\n await payload.delete({\n collection: 'users',\n where: {\n id: {\n exists: true,\n },\n },\n });\n\n await payload.delete({\n collection: 'verifications',\n where: {\n id: {\n exists: true,\n },\n },\n });\n });\n}\n\ndescribe('Run BetterAuth Base Collections Adapter tests', async () => {\n const payload = await getPayload();\n\n deleteAll(payload);\n\n const adapter = payloadAdapter({\n payloadClient: payload,\n idType: 'number',\n });\n\n await runBaseCollectionsTests({\n getAdapter: async (\n customOptions = {\n ...payload.betterAuth.options,\n }\n ) => {\n return adapter({ ...customOptions });\n },\n disableTests: {\n SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: true,\n },\n });\n});\n\ndescribe('Run BetterAuth Base Collections Adapter tests with number id', async () => {\n const payload = await getPayload();\n\n deleteAll(payload);\n\n const adapter = payloadAdapter({\n payloadClient: payload,\n idType: 'number',\n });\n\n await runBaseCollectionsNumberIdTests(\n {\n getAdapter: async (\n customOptions = {\n ...payload.betterAuth.options,\n advanced: {\n database: {\n useNumberId: true,\n },\n },\n }\n ) => {\n return adapter({ ...customOptions });\n },\n disableTests: {\n SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: true,\n },\n },\n {\n predefinedOptions: {\n ...payload.betterAuth.options,\n advanced: {\n database: {\n useNumberId: true,\n },\n },\n },\n }\n );\n});\n\ndescribe('Authentication Flow Tests', async () => {\n const testUser = {\n email: 'test-email@email.com',\n password: 'password12345',\n name: 'Test Name',\n };\n const payload = await getPayload();\n\n deleteAll(payload);\n\n it('should successfully sign up a new user', async () => {\n const user = await payload.betterAuth.api.signUpEmail({\n body: {\n email: testUser.email,\n password: testUser.password,\n name: testUser.name,\n },\n });\n expect(user).toBeDefined();\n });\n\n it('should successfully sign in an existing user', async () => {\n await new Promise(resolve => setTimeout(resolve, 2000));\n const user = await payload.betterAuth.api.signInEmail({\n body: {\n email: testUser.email,\n password: testUser.password,\n },\n });\n\n expect(user.user).toBeDefined();\n });\n});\n"],"names":["betterAuth","afterAll","beforeAll","describe","expect","it","payloadAdapter","runBaseCollectionsNumberIdTests","runBaseCollectionsTests","getPayload","payload","auth","database","payloadClient","idType","toBeDefined","options","id","toEqual","deleteAll","delete","collection","where","exists","adapter","getAdapter","customOptions","disableTests","SHOULD_PREFER_GENERATE_ID_IF_PROVIDED","advanced","useNumberId","predefinedOptions","testUser","email","password","name","user","api","signUpEmail","body","Promise","resolve","setTimeout","signInEmail"],"mappings":"AAAA,SAAiCA,UAAU,QAAQ,QAAc;AAEjE,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAc,SAAS;AACzE,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,+BAA+B,EAAEC,uBAAuB,QAAQ,2BAA2B;AACpG,SAASC,UAAU,QAAQ,QAAQ;AAEnCN,SAAS,0BAA0B;IACjCE,GAAG,+CAA+C;QAChD,MAAMK,UAAU,MAAMD;QAEtB,MAAME,OAAOX,WAAW;YACtBY,UAAUN,eAAe;gBACvBO,eAAeH;gBACfI,QAAQ;YACV;QACF;QAEAV,OAAOO,MAAMI,WAAW;QACxBX,OAAOO,KAAKK,OAAO,CAACJ,QAAQ,EAAEG,WAAW;QACzCX,OAAOO,KAAKK,OAAO,CAACJ,QAAQ,CAAC,CAAC,GAAGK,EAAE,EAAEC,OAAO,CAAC;IAC/C;AACF;AAEA,SAASC,UAAUT,OAAoB;IACrCR,UAAU;QACR,MAAMQ,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;QAEA,MAAMb,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;QAEA,MAAMb,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;QAEA,MAAMb,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;IACF;IACAtB,SAAS;QACP,MAAMS,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;QAEA,MAAMb,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;QACA,MAAMb,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;QAEA,MAAMb,QAAQU,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLL,IAAI;oBACFM,QAAQ;gBACV;YACF;QACF;IACF;AACF;AAEApB,SAAS,iDAAiD;IACxD,MAAMO,UAAU,MAAMD;IAEtBU,UAAUT;IAEV,MAAMc,UAAUlB,eAAe;QAC7BO,eAAeH;QACfI,QAAQ;IACV;IAEA,MAAMN,wBAAwB;QAC5BiB,YAAY,OACVC,gBAAgB;YACd,GAAGhB,QAAQV,UAAU,CAACgB,OAAO;QAC/B,CAAC;YAED,OAAOQ,QAAQ;gBAAE,GAAGE,aAAa;YAAC;QACpC;QACAC,cAAc;YACZC,uCAAuC;QACzC;IACF;AACF;AAEAzB,SAAS,gEAAgE;IACvE,MAAMO,UAAU,MAAMD;IAEtBU,UAAUT;IAEV,MAAMc,UAAUlB,eAAe;QAC7BO,eAAeH;QACfI,QAAQ;IACV;IAEA,MAAMP,gCACJ;QACEkB,YAAY,OACVC,gBAAgB;YACd,GAAGhB,QAAQV,UAAU,CAACgB,OAAO;YAC7Ba,UAAU;gBACRjB,UAAU;oBACRkB,aAAa;gBACf;YACF;QACF,CAAC;YAED,OAAON,QAAQ;gBAAE,GAAGE,aAAa;YAAC;QACpC;QACAC,cAAc;YACZC,uCAAuC;QACzC;IACF,GACA;QACEG,mBAAmB;YACjB,GAAGrB,QAAQV,UAAU,CAACgB,OAAO;YAC7Ba,UAAU;gBACRjB,UAAU;oBACRkB,aAAa;gBACf;YACF;QACF;IACF;AAEJ;AAEA3B,SAAS,6BAA6B;IACpC,MAAM6B,WAAW;QACfC,OAAO;QACPC,UAAU;QACVC,MAAM;IACR;IACA,MAAMzB,UAAU,MAAMD;IAEtBU,UAAUT;IAEVL,GAAG,0CAA0C;QAC3C,MAAM+B,OAAO,MAAM1B,QAAQV,UAAU,CAACqC,GAAG,CAACC,WAAW,CAAC;YACpDC,MAAM;gBACJN,OAAOD,SAASC,KAAK;gBACrBC,UAAUF,SAASE,QAAQ;gBAC3BC,MAAMH,SAASG,IAAI;YACrB;QACF;QACA/B,OAAOgC,MAAMrB,WAAW;IAC1B;IAEAV,GAAG,gDAAgD;QACjD,MAAM,IAAImC,QAAQC,CAAAA,UAAWC,WAAWD,SAAS;QACjD,MAAML,OAAO,MAAM1B,QAAQV,UAAU,CAACqC,GAAG,CAACM,WAAW,CAAC;YACpDJ,MAAM;gBACJN,OAAOD,SAASC,KAAK;gBACrBC,UAAUF,SAASE,QAAQ;YAC7B;QACF;QAEA9B,OAAOgC,KAAKA,IAAI,EAAErB,WAAW;IAC/B;AACF"}
|