better-auth 1.7.20 → 1.7.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.mjs +1 -2
- package/dist/adapters/index.d.mts +0 -2
- package/dist/adapters/index.mjs +1 -2
- package/dist/api/dispatch.d.mts +1 -3
- package/dist/api/dispatch.mjs +1 -2
- package/dist/api/index.d.mts +5 -4
- package/dist/api/index.mjs +9 -9
- package/dist/api/middlewares/authorization.d.mts +1 -3
- package/dist/api/middlewares/authorization.mjs +1 -2
- package/dist/api/middlewares/origin-check.d.mts +1 -3
- package/dist/api/middlewares/origin-check.mjs +2 -3
- package/dist/api/rate-limiter/index.mjs +1 -2
- package/dist/api/routes/account.d.mts +1 -3
- package/dist/api/routes/account.mjs +10 -10
- package/dist/api/routes/callback.d.mts +1 -3
- package/dist/api/routes/callback.mjs +5 -6
- package/dist/api/routes/email-verification.d.mts +1 -3
- package/dist/api/routes/email-verification.mjs +4 -5
- package/dist/api/routes/error.d.mts +1 -3
- package/dist/api/routes/error.mjs +1 -2
- package/dist/api/routes/ok.d.mts +1 -3
- package/dist/api/routes/ok.mjs +1 -2
- package/dist/api/routes/password.d.mts +1 -3
- package/dist/api/routes/password.mjs +3 -4
- package/dist/api/routes/session.d.mts +2 -3
- package/dist/api/routes/session.mjs +10 -6
- package/dist/api/routes/sign-in.d.mts +0 -2
- package/dist/api/routes/sign-in.mjs +6 -7
- package/dist/api/routes/sign-out.d.mts +1 -3
- package/dist/api/routes/sign-out.mjs +1 -2
- package/dist/api/routes/sign-up.d.mts +1 -3
- package/dist/api/routes/sign-up.mjs +26 -16
- package/dist/api/routes/update-session.d.mts +1 -3
- package/dist/api/routes/update-session.mjs +2 -3
- package/dist/api/routes/update-user.d.mts +1 -3
- package/dist/api/routes/update-user.mjs +31 -28
- package/dist/api/state/oauth.d.mts +0 -2
- package/dist/api/state/oauth.mjs +1 -2
- package/dist/api/state/session-source.d.mts +1 -3
- package/dist/api/state/session-source.mjs +1 -2
- package/dist/api/state/should-session-refresh.d.mts +0 -2
- package/dist/api/state/should-session-refresh.mjs +1 -2
- package/dist/api/to-auth-endpoints.mjs +2 -3
- package/dist/auth/base.mjs +3 -9
- package/dist/auth/full.d.mts +1 -3
- package/dist/auth/full.mjs +1 -2
- package/dist/auth/minimal.d.mts +0 -2
- package/dist/auth/minimal.mjs +2 -3
- package/dist/auth/trusted-origins.mjs +2 -3
- package/dist/client/broadcast-channel.d.mts +1 -3
- package/dist/client/broadcast-channel.mjs +4 -4
- package/dist/client/config.d.mts +1 -3
- package/dist/client/config.mjs +2 -3
- package/dist/client/equality.d.mts +1 -3
- package/dist/client/equality.mjs +1 -2
- package/dist/client/fetch-plugins.mjs +1 -2
- package/dist/client/focus-manager.d.mts +1 -3
- package/dist/client/focus-manager.mjs +4 -4
- package/dist/client/index.d.mts +5 -7
- package/dist/client/index.mjs +1 -2
- package/dist/client/lynx/index.d.mts +1 -3
- package/dist/client/lynx/index.mjs +1 -2
- package/dist/client/lynx/lynx-store.d.mts +0 -2
- package/dist/client/lynx/lynx-store.mjs +1 -2
- package/dist/client/online-manager.d.mts +1 -3
- package/dist/client/online-manager.mjs +7 -7
- package/dist/client/parser.d.mts +0 -2
- package/dist/client/parser.mjs +1 -2
- package/dist/client/path-to-object.d.mts +0 -2
- package/dist/client/plugins/index.d.mts +6 -6
- package/dist/client/plugins/infer-plugin.d.mts +1 -3
- package/dist/client/plugins/infer-plugin.mjs +1 -2
- package/dist/client/proxy.mjs +1 -2
- package/dist/client/query-atom.mjs +1 -2
- package/dist/client/query.d.mts +1 -3
- package/dist/client/query.mjs +1 -2
- package/dist/client/react/index.d.mts +1 -3
- package/dist/client/react/index.mjs +1 -2
- package/dist/client/react/react-store.d.mts +0 -2
- package/dist/client/react/react-store.mjs +1 -2
- package/dist/client/session-atom.d.mts +1 -3
- package/dist/client/session-atom.mjs +2 -2
- package/dist/client/session-refresh.d.mts +1 -3
- package/dist/client/session-refresh.mjs +3 -3
- package/dist/client/solid/index.d.mts +1 -3
- package/dist/client/solid/index.mjs +1 -2
- package/dist/client/solid/solid-store.mjs +1 -2
- package/dist/client/svelte/index.d.mts +1 -3
- package/dist/client/svelte/index.mjs +1 -2
- package/dist/client/types.d.mts +2 -4
- package/dist/client/vanilla.d.mts +1 -3
- package/dist/client/vanilla.mjs +1 -2
- package/dist/client/vue/index.d.mts +1 -3
- package/dist/client/vue/index.mjs +1 -2
- package/dist/client/vue/vue-store.mjs +1 -2
- package/dist/context/create-context.mjs +8 -9
- package/dist/context/helpers.mjs +3 -4
- package/dist/context/init-minimal.mjs +1 -2
- package/dist/context/init.mjs +1 -2
- package/dist/context/secret-utils.mjs +1 -2
- package/dist/context/store-capabilities.mjs +1 -2
- package/dist/cookies/cache.mjs +1 -2
- package/dist/cookies/cookie-utils.d.mts +0 -2
- package/dist/cookies/cookie-utils.mjs +1 -2
- package/dist/cookies/index.d.mts +0 -2
- package/dist/cookies/index.mjs +2 -3
- package/dist/cookies/jwt.mjs +1 -2
- package/dist/cookies/session-store.d.mts +0 -2
- package/dist/cookies/session-store.mjs +1 -2
- package/dist/crypto/buffer.d.mts +1 -3
- package/dist/crypto/buffer.mjs +1 -2
- package/dist/crypto/index.d.mts +0 -2
- package/dist/crypto/index.mjs +2 -3
- package/dist/crypto/jwt.d.mts +1 -3
- package/dist/crypto/jwt.mjs +1 -2
- package/dist/crypto/password.d.mts +0 -2
- package/dist/crypto/password.mjs +1 -2
- package/dist/crypto/purpose.mjs +1 -2
- package/dist/crypto/random.d.mts +1 -3
- package/dist/crypto/random.mjs +1 -2
- package/dist/db/adapter-base.d.mts +1 -3
- package/dist/db/adapter-base.mjs +1 -2
- package/dist/db/adapter-kysely.d.mts +1 -3
- package/dist/db/adapter-kysely.mjs +1 -2
- package/dist/db/field-converter.d.mts +1 -3
- package/dist/db/field-converter.mjs +1 -2
- package/dist/db/field.d.mts +0 -2
- package/dist/db/get-migration.d.mts +1 -3
- package/dist/db/get-migration.mjs +10 -13
- package/dist/db/get-schema.d.mts +1 -3
- package/dist/db/get-schema.mjs +1 -2
- package/dist/db/index.d.mts +1 -1
- package/dist/db/index.mjs +4 -5
- package/dist/db/internal-adapter.d.mts +1 -3
- package/dist/db/internal-adapter.mjs +25 -11
- package/dist/db/revoke-unproven-account-access.d.mts +1 -3
- package/dist/db/revoke-unproven-account-access.mjs +1 -2
- package/dist/db/schema.d.mts +1 -3
- package/dist/db/schema.mjs +1 -2
- package/dist/db/to-zod.d.mts +0 -2
- package/dist/db/to-zod.mjs +1 -2
- package/dist/db/verification-token-storage.mjs +1 -2
- package/dist/db/with-hooks.d.mts +1 -3
- package/dist/db/with-hooks.mjs +1 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/integrations/cookie-plugin-guard.mjs +1 -2
- package/dist/integrations/next-js.d.mts +1 -3
- package/dist/integrations/next-js.mjs +2 -3
- package/dist/integrations/node.d.mts +1 -3
- package/dist/integrations/node.mjs +1 -2
- package/dist/integrations/solid-start.d.mts +1 -3
- package/dist/integrations/solid-start.mjs +1 -2
- package/dist/integrations/svelte-kit.d.mts +1 -3
- package/dist/integrations/svelte-kit.mjs +1 -2
- package/dist/integrations/tanstack-start-solid.d.mts +1 -3
- package/dist/integrations/tanstack-start-solid.mjs +1 -2
- package/dist/integrations/tanstack-start.d.mts +1 -3
- package/dist/integrations/tanstack-start.mjs +1 -2
- package/dist/oauth2/account-key.mjs +1 -2
- package/dist/oauth2/callback.mjs +1 -2
- package/dist/oauth2/errors.mjs +1 -2
- package/dist/oauth2/index.d.mts +1 -1
- package/dist/oauth2/index.mjs +1 -1
- package/dist/oauth2/link-account.d.mts +1 -3
- package/dist/oauth2/link-account.mjs +18 -13
- package/dist/oauth2/state.d.mts +1 -3
- package/dist/oauth2/state.mjs +3 -4
- package/dist/oauth2/utils.d.mts +1 -3
- package/dist/oauth2/utils.mjs +1 -2
- package/dist/package.mjs +2 -3
- package/dist/plugins/access/access.d.mts +1 -3
- package/dist/plugins/access/access.mjs +1 -2
- package/dist/plugins/access/index.d.mts +1 -1
- package/dist/plugins/access/types.d.mts +1 -3
- package/dist/plugins/additional-fields/client.d.mts +1 -3
- package/dist/plugins/additional-fields/client.mjs +1 -2
- package/dist/plugins/admin/access/statement.d.mts +1 -3
- package/dist/plugins/admin/access/statement.mjs +1 -2
- package/dist/plugins/admin/admin.d.mts +1 -3
- package/dist/plugins/admin/admin.mjs +2 -3
- package/dist/plugins/admin/client.d.mts +2 -4
- package/dist/plugins/admin/client.mjs +1 -2
- package/dist/plugins/admin/error-codes.d.mts +1 -3
- package/dist/plugins/admin/error-codes.mjs +1 -2
- package/dist/plugins/admin/has-permission.mjs +1 -2
- package/dist/plugins/admin/index.d.mts +1 -1
- package/dist/plugins/admin/routes.mjs +3 -4
- package/dist/plugins/admin/schema.d.mts +1 -3
- package/dist/plugins/admin/schema.mjs +1 -2
- package/dist/plugins/admin/types.d.mts +1 -3
- package/dist/plugins/anonymous/client.d.mts +1 -3
- package/dist/plugins/anonymous/client.mjs +1 -2
- package/dist/plugins/anonymous/error-codes.d.mts +1 -3
- package/dist/plugins/anonymous/error-codes.mjs +1 -2
- package/dist/plugins/anonymous/index.d.mts +0 -2
- package/dist/plugins/anonymous/index.mjs +3 -4
- package/dist/plugins/anonymous/schema.d.mts +1 -3
- package/dist/plugins/anonymous/schema.mjs +1 -2
- package/dist/plugins/anonymous/types.d.mts +1 -3
- package/dist/plugins/bearer/index.d.mts +1 -3
- package/dist/plugins/bearer/index.mjs +1 -2
- package/dist/plugins/captcha/constants.d.mts +1 -3
- package/dist/plugins/captcha/constants.mjs +1 -2
- package/dist/plugins/captcha/error-codes.mjs +1 -2
- package/dist/plugins/captcha/index.d.mts +0 -2
- package/dist/plugins/captcha/index.mjs +2 -3
- package/dist/plugins/captcha/types.d.mts +1 -3
- package/dist/plugins/captcha/utils.mjs +1 -2
- package/dist/plugins/captcha/verify-handlers/captchafox.mjs +1 -2
- package/dist/plugins/captcha/verify-handlers/cloudflare-turnstile.mjs +1 -2
- package/dist/plugins/captcha/verify-handlers/google-recaptcha.mjs +1 -2
- package/dist/plugins/captcha/verify-handlers/h-captcha.mjs +1 -2
- package/dist/plugins/captcha/verify-handlers/vercel-botid.mjs +1 -2
- package/dist/plugins/custom-session/client.d.mts +1 -3
- package/dist/plugins/custom-session/client.mjs +1 -2
- package/dist/plugins/custom-session/index.d.mts +1 -3
- package/dist/plugins/custom-session/index.mjs +3 -4
- package/dist/plugins/device-authorization/client.d.mts +1 -3
- package/dist/plugins/device-authorization/client.mjs +1 -2
- package/dist/plugins/device-authorization/error-codes.mjs +1 -2
- package/dist/plugins/device-authorization/index.d.mts +1 -3
- package/dist/plugins/device-authorization/index.mjs +2 -3
- package/dist/plugins/device-authorization/routes.d.mts +4 -6
- package/dist/plugins/device-authorization/routes.mjs +18 -4
- package/dist/plugins/device-authorization/schema.d.mts +0 -2
- package/dist/plugins/device-authorization/schema.mjs +1 -2
- package/dist/plugins/email-otp/client.d.mts +0 -2
- package/dist/plugins/email-otp/client.mjs +1 -2
- package/dist/plugins/email-otp/error-codes.d.mts +1 -3
- package/dist/plugins/email-otp/error-codes.mjs +1 -2
- package/dist/plugins/email-otp/index.d.mts +0 -2
- package/dist/plugins/email-otp/index.mjs +4 -5
- package/dist/plugins/email-otp/otp-token.mjs +3 -4
- package/dist/plugins/email-otp/routes.mjs +6 -7
- package/dist/plugins/email-otp/types.d.mts +1 -3
- package/dist/plugins/email-otp/utils.mjs +1 -2
- package/dist/plugins/generic-oauth/error-codes.mjs +1 -2
- package/dist/plugins/generic-oauth/index.d.mts +1 -6
- package/dist/plugins/generic-oauth/index.mjs +43 -30
- package/dist/plugins/generic-oauth/providers/auth0.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/auth0.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/gumroad.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/gumroad.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/hubspot.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/hubspot.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/keycloak.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/keycloak.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/line.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/line.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/microsoft-entra-id.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/microsoft-entra-id.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/okta.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/okta.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/patreon.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/patreon.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/slack.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/slack.mjs +1 -2
- package/dist/plugins/generic-oauth/providers/yandex.d.mts +1 -3
- package/dist/plugins/generic-oauth/providers/yandex.mjs +1 -2
- package/dist/plugins/generic-oauth/types.d.mts +6 -5
- package/dist/plugins/haveibeenpwned/index.d.mts +1 -3
- package/dist/plugins/haveibeenpwned/index.mjs +2 -3
- package/dist/plugins/index.d.mts +5 -5
- package/dist/plugins/jwt/adapter.mjs +1 -2
- package/dist/plugins/jwt/client.d.mts +1 -3
- package/dist/plugins/jwt/client.mjs +1 -2
- package/dist/plugins/jwt/cookie-cache.mjs +1 -2
- package/dist/plugins/jwt/index.d.mts +1 -3
- package/dist/plugins/jwt/index.mjs +5 -6
- package/dist/plugins/jwt/schema.d.mts +1 -3
- package/dist/plugins/jwt/schema.mjs +1 -2
- package/dist/plugins/jwt/sign.d.mts +0 -2
- package/dist/plugins/jwt/sign.mjs +1 -2
- package/dist/plugins/jwt/types.d.mts +1 -3
- package/dist/plugins/jwt/utils.d.mts +1 -3
- package/dist/plugins/jwt/utils.mjs +2 -3
- package/dist/plugins/jwt/verify.d.mts +1 -3
- package/dist/plugins/jwt/verify.mjs +1 -2
- package/dist/plugins/last-login-method/client.d.mts +1 -3
- package/dist/plugins/last-login-method/client.mjs +1 -2
- package/dist/plugins/last-login-method/index.d.mts +1 -3
- package/dist/plugins/last-login-method/index.mjs +1 -2
- package/dist/plugins/magic-link/client.d.mts +1 -3
- package/dist/plugins/magic-link/client.mjs +1 -2
- package/dist/plugins/magic-link/index.d.mts +1 -3
- package/dist/plugins/magic-link/index.mjs +4 -5
- package/dist/plugins/magic-link/utils.mjs +1 -2
- package/dist/plugins/multi-session/client.d.mts +0 -2
- package/dist/plugins/multi-session/client.mjs +1 -2
- package/dist/plugins/multi-session/error-codes.d.mts +1 -3
- package/dist/plugins/multi-session/error-codes.mjs +1 -2
- package/dist/plugins/multi-session/index.d.mts +0 -2
- package/dist/plugins/multi-session/index.mjs +3 -4
- package/dist/plugins/oauth-popup/client.d.mts +0 -2
- package/dist/plugins/oauth-popup/client.mjs +1 -2
- package/dist/plugins/oauth-popup/constants.d.mts +1 -3
- package/dist/plugins/oauth-popup/constants.mjs +1 -2
- package/dist/plugins/oauth-popup/error-codes.d.mts +1 -3
- package/dist/plugins/oauth-popup/error-codes.mjs +1 -2
- package/dist/plugins/oauth-popup/index.d.mts +0 -2
- package/dist/plugins/oauth-popup/index.mjs +5 -6
- package/dist/plugins/oauth-popup/types.d.mts +1 -3
- package/dist/plugins/oauth-proxy/index.d.mts +1 -3
- package/dist/plugins/oauth-proxy/index.mjs +7 -8
- package/dist/plugins/oauth-proxy/utils.mjs +1 -2
- package/dist/plugins/one-tap/client.d.mts +1 -3
- package/dist/plugins/one-tap/client.mjs +1 -2
- package/dist/plugins/one-tap/index.d.mts +1 -3
- package/dist/plugins/one-tap/index.mjs +7 -8
- package/dist/plugins/one-time-token/client.d.mts +0 -2
- package/dist/plugins/one-time-token/client.mjs +1 -2
- package/dist/plugins/one-time-token/index.d.mts +1 -3
- package/dist/plugins/one-time-token/index.mjs +3 -4
- package/dist/plugins/one-time-token/utils.mjs +1 -2
- package/dist/plugins/open-api/generator.d.mts +0 -2
- package/dist/plugins/open-api/generator.mjs +2 -3
- package/dist/plugins/open-api/index.d.mts +0 -2
- package/dist/plugins/open-api/index.mjs +2 -3
- package/dist/plugins/open-api/logo.mjs +1 -2
- package/dist/plugins/organization/access/statement.d.mts +1 -3
- package/dist/plugins/organization/access/statement.mjs +1 -2
- package/dist/plugins/organization/adapter.d.mts +3 -5
- package/dist/plugins/organization/adapter.mjs +2 -3
- package/dist/plugins/organization/call.mjs +1 -2
- package/dist/plugins/organization/client.d.mts +9 -11
- package/dist/plugins/organization/client.mjs +2 -3
- package/dist/plugins/organization/error-codes.d.mts +1 -3
- package/dist/plugins/organization/error-codes.mjs +1 -2
- package/dist/plugins/organization/has-permission.d.mts +1 -3
- package/dist/plugins/organization/has-permission.mjs +2 -3
- package/dist/plugins/organization/index.d.mts +3 -3
- package/dist/plugins/organization/organization.d.mts +3 -5
- package/dist/plugins/organization/organization.mjs +3 -4
- package/dist/plugins/organization/permission.d.mts +1 -3
- package/dist/plugins/organization/permission.mjs +1 -2
- package/dist/plugins/organization/roles.d.mts +1 -3
- package/dist/plugins/organization/roles.mjs +1 -2
- package/dist/plugins/organization/routes/crud-access-control.d.mts +2 -4
- package/dist/plugins/organization/routes/crud-access-control.mjs +3 -4
- package/dist/plugins/organization/routes/crud-invites.d.mts +4 -6
- package/dist/plugins/organization/routes/crud-invites.mjs +5 -6
- package/dist/plugins/organization/routes/crud-members.d.mts +4 -6
- package/dist/plugins/organization/routes/crud-members.mjs +4 -5
- package/dist/plugins/organization/routes/crud-org.d.mts +4 -6
- package/dist/plugins/organization/routes/crud-org.mjs +8 -9
- package/dist/plugins/organization/routes/crud-team.d.mts +4 -6
- package/dist/plugins/organization/routes/crud-team.mjs +3 -4
- package/dist/plugins/organization/schema.d.mts +0 -2
- package/dist/plugins/organization/schema.mjs +1 -2
- package/dist/plugins/organization/types.d.mts +1 -3
- package/dist/plugins/phone-number/client.d.mts +1 -3
- package/dist/plugins/phone-number/client.mjs +1 -2
- package/dist/plugins/phone-number/error-codes.d.mts +1 -3
- package/dist/plugins/phone-number/error-codes.mjs +1 -2
- package/dist/plugins/phone-number/index.d.mts +0 -2
- package/dist/plugins/phone-number/index.mjs +1 -2
- package/dist/plugins/phone-number/routes.mjs +6 -7
- package/dist/plugins/phone-number/schema.d.mts +1 -3
- package/dist/plugins/phone-number/schema.mjs +1 -2
- package/dist/plugins/phone-number/types.d.mts +2 -4
- package/dist/plugins/siwe/client.d.mts +1 -3
- package/dist/plugins/siwe/client.mjs +1 -2
- package/dist/plugins/siwe/index.d.mts +1 -3
- package/dist/plugins/siwe/index.mjs +6 -7
- package/dist/plugins/siwe/parse-message.mjs +1 -2
- package/dist/plugins/siwe/schema.d.mts +1 -3
- package/dist/plugins/siwe/schema.mjs +1 -2
- package/dist/plugins/siwe/types.d.mts +0 -2
- package/dist/plugins/test-utils/auth-helpers.mjs +1 -2
- package/dist/plugins/test-utils/cookie-builder.mjs +1 -2
- package/dist/plugins/test-utils/db-helpers.mjs +1 -2
- package/dist/plugins/test-utils/factories.mjs +1 -2
- package/dist/plugins/test-utils/index.d.mts +0 -2
- package/dist/plugins/test-utils/index.mjs +2 -3
- package/dist/plugins/test-utils/otp-sink.mjs +1 -2
- package/dist/plugins/test-utils/types.d.mts +1 -3
- package/dist/plugins/two-factor/backup-codes/index.d.mts +1 -3
- package/dist/plugins/two-factor/backup-codes/index.mjs +4 -5
- package/dist/plugins/two-factor/client.d.mts +2 -4
- package/dist/plugins/two-factor/client.mjs +1 -2
- package/dist/plugins/two-factor/constant.mjs +1 -2
- package/dist/plugins/two-factor/error-code.d.mts +1 -3
- package/dist/plugins/two-factor/error-code.mjs +1 -2
- package/dist/plugins/two-factor/index.d.mts +0 -2
- package/dist/plugins/two-factor/index.mjs +9 -10
- package/dist/plugins/two-factor/otp/index.d.mts +1 -3
- package/dist/plugins/two-factor/otp/index.mjs +4 -5
- package/dist/plugins/two-factor/schema.d.mts +1 -3
- package/dist/plugins/two-factor/schema.mjs +1 -2
- package/dist/plugins/two-factor/totp/index.d.mts +1 -3
- package/dist/plugins/two-factor/totp/index.mjs +3 -4
- package/dist/plugins/two-factor/types.d.mts +1 -3
- package/dist/plugins/two-factor/utils.mjs +1 -2
- package/dist/plugins/two-factor/verify-two-factor.mjs +5 -6
- package/dist/plugins/username/client.d.mts +0 -2
- package/dist/plugins/username/client.mjs +1 -2
- package/dist/plugins/username/error-codes.d.mts +1 -3
- package/dist/plugins/username/error-codes.mjs +1 -2
- package/dist/plugins/username/index.d.mts +0 -2
- package/dist/plugins/username/index.mjs +4 -5
- package/dist/plugins/username/schema.d.mts +1 -3
- package/dist/plugins/username/schema.mjs +1 -2
- package/dist/state.d.mts +2 -7
- package/dist/state.mjs +3 -7
- package/dist/test-utils/headers.d.mts +1 -3
- package/dist/test-utils/headers.mjs +1 -2
- package/dist/test-utils/http-test-instance.d.mts +0 -2
- package/dist/test-utils/http-test-instance.mjs +1 -2
- package/dist/test-utils/index.d.mts +1 -1
- package/dist/test-utils/index.mjs +1 -1
- package/dist/test-utils/test-instance.d.mts +4 -6
- package/dist/test-utils/test-instance.mjs +5 -6
- package/dist/types/api.d.mts +1 -3
- package/dist/types/auth.d.mts +2 -4
- package/dist/types/helper.d.mts +1 -3
- package/dist/types/index.d.mts +2 -2
- package/dist/types/models.d.mts +0 -2
- package/dist/types/plugins.d.mts +0 -2
- package/dist/utils/constants.mjs +1 -2
- package/dist/utils/date.mjs +1 -2
- package/dist/utils/hashing.mjs +1 -2
- package/dist/utils/hide-metadata.d.mts +2 -5
- package/dist/utils/hide-metadata.mjs +1 -4
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/is-atom.mjs +1 -2
- package/dist/utils/is-promise.mjs +1 -2
- package/dist/utils/middleware-response.mjs +1 -2
- package/dist/utils/password.mjs +1 -2
- package/dist/utils/plugin-helper.mjs +1 -2
- package/dist/utils/request.mjs +1 -2
- package/dist/utils/shim.mjs +1 -2
- package/dist/utils/time.d.mts +0 -2
- package/dist/utils/time.mjs +1 -2
- package/dist/utils/url.d.mts +1 -3
- package/dist/utils/url.mjs +1 -2
- package/dist/utils/validate-user-info.mjs +1 -2
- package/dist/utils/wildcard.mjs +1 -2
- package/dist/version.mjs +1 -2
- package/package.json +10 -10
- package/dist/utils/boolean.mjs +0 -6
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { setSessionCookie } from "../../cookies/index.mjs";
|
|
1
|
+
import { APIError as APIError$1 } from "../../api/index.mjs";
|
|
3
2
|
import { getAwaitableValue } from "../../context/helpers.mjs";
|
|
3
|
+
import { setSessionCookie } from "../../cookies/index.mjs";
|
|
4
|
+
import { parseUserOutput } from "../../db/schema.mjs";
|
|
4
5
|
import { toOAuthProfileRecord } from "../../oauth2/account-key.mjs";
|
|
5
6
|
import { OAUTH_CALLBACK_ERROR_CODES } from "../../oauth2/errors.mjs";
|
|
6
|
-
import { toBoolean } from "../../utils/boolean.mjs";
|
|
7
7
|
import { handleOAuthUserInfo } from "../../oauth2/link-account.mjs";
|
|
8
|
-
import { APIError as APIError$1 } from "../../api/index.mjs";
|
|
9
8
|
import { PACKAGE_VERSION } from "../../version.mjs";
|
|
10
9
|
import { BASE_ERROR_CODES } from "@better-auth/core/error";
|
|
10
|
+
import { parseStringBoolean } from "@better-auth/core/oauth2";
|
|
11
11
|
import { isGoogleHostedDomainAllowed, verifyGoogleIdToken } from "@better-auth/core/social-providers";
|
|
12
12
|
import { createAuthEndpoint } from "@better-auth/core/api";
|
|
13
13
|
import * as z from "zod";
|
|
14
|
-
|
|
14
|
+
// src/plugins/one-tap/index.ts
|
|
15
15
|
const oneTapCallbackBodySchema = z.object({
|
|
16
16
|
idToken: z.string().meta({ description: "Google ID token, which the client obtains from the One Tap API" }),
|
|
17
17
|
/**
|
|
@@ -66,7 +66,7 @@ const oneTap = (options) => ({
|
|
|
66
66
|
name: payload.name,
|
|
67
67
|
email: payload.email,
|
|
68
68
|
image: payload.picture,
|
|
69
|
-
emailVerified:
|
|
69
|
+
emailVerified: parseStringBoolean(payload.email_verified) ?? false
|
|
70
70
|
},
|
|
71
71
|
data: payload
|
|
72
72
|
};
|
|
@@ -77,7 +77,7 @@ const oneTap = (options) => ({
|
|
|
77
77
|
if (typeof rawEmail !== "string" || !rawEmail) throw new APIError$1("BAD_REQUEST", { message: "Email not available in token" });
|
|
78
78
|
if (typeof sub !== "string" || !sub) throw new APIError$1("BAD_REQUEST", { message: "invalid id token" });
|
|
79
79
|
const email = rawEmail.toLowerCase();
|
|
80
|
-
const emailVerified =
|
|
80
|
+
const emailVerified = parseStringBoolean(providerUser.emailVerified) ?? false;
|
|
81
81
|
const result = await handleOAuthUserInfo(ctx, {
|
|
82
82
|
userInfo: {
|
|
83
83
|
...providerUser,
|
|
@@ -115,5 +115,4 @@ const oneTap = (options) => ({
|
|
|
115
115
|
}) },
|
|
116
116
|
options
|
|
117
117
|
});
|
|
118
|
-
//#endregion
|
|
119
118
|
export { oneTap };
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { OneTimeTokenOptions, oneTimeToken } from "./index.mjs";
|
|
2
|
-
//#region src/plugins/one-time-token/client.d.ts
|
|
3
2
|
export declare const oneTimeTokenClient: () => {
|
|
4
3
|
id: "one-time-token";
|
|
5
4
|
version: string;
|
|
6
5
|
$InferServerPlugin: ReturnType<typeof oneTimeToken>;
|
|
7
6
|
};
|
|
8
|
-
//#endregion
|
|
9
7
|
export type { OneTimeTokenOptions };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PACKAGE_VERSION } from "../../version.mjs";
|
|
2
|
-
|
|
2
|
+
// src/plugins/one-time-token/client.ts
|
|
3
3
|
const oneTimeTokenClient = () => {
|
|
4
4
|
return {
|
|
5
5
|
id: "one-time-token",
|
|
@@ -7,5 +7,4 @@ const oneTimeTokenClient = () => {
|
|
|
7
7
|
$InferServerPlugin: {}
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
-
//#endregion
|
|
11
10
|
export { oneTimeTokenClient };
|
|
@@ -2,7 +2,6 @@ import { Session, User } from "../../types/models.mjs";
|
|
|
2
2
|
import "../../types/index.mjs";
|
|
3
3
|
import { GenericEndpointContext } from "@better-auth/core";
|
|
4
4
|
import * as z from "zod";
|
|
5
|
-
//#region src/plugins/one-time-token/index.d.ts
|
|
6
5
|
declare module "@better-auth/core" {
|
|
7
6
|
interface BetterAuthPluginRegistry<AuthOptions, Options> {
|
|
8
7
|
"one-time-token": {
|
|
@@ -126,5 +125,4 @@ export declare const oneTimeToken: (options?: OneTimeTokenOptions | undefined) =
|
|
|
126
125
|
}[];
|
|
127
126
|
};
|
|
128
127
|
options: OneTimeTokenOptions | undefined;
|
|
129
|
-
};
|
|
130
|
-
//#endregion
|
|
128
|
+
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { generateRandomString } from "../../crypto/random.mjs";
|
|
2
|
-
import { setSessionCookie } from "../../cookies/index.mjs";
|
|
3
1
|
import { sessionMiddleware } from "../../api/routes/session.mjs";
|
|
2
|
+
import { setSessionCookie } from "../../cookies/index.mjs";
|
|
3
|
+
import { generateRandomString } from "../../crypto/random.mjs";
|
|
4
4
|
import { PACKAGE_VERSION } from "../../version.mjs";
|
|
5
5
|
import { defaultKeyHasher } from "./utils.mjs";
|
|
6
6
|
import { createAuthEndpoint, createAuthMiddleware } from "@better-auth/core/api";
|
|
7
7
|
import * as z from "zod";
|
|
8
|
-
|
|
8
|
+
// src/plugins/one-time-token/index.ts
|
|
9
9
|
const verifyOneTimeTokenBodySchema = z.object({ token: z.string().meta({ description: "The token to verify. Eg: \"some-token\"" }) });
|
|
10
10
|
const oneTimeToken = (options) => {
|
|
11
11
|
const opts = {
|
|
@@ -103,5 +103,4 @@ const oneTimeToken = (options) => {
|
|
|
103
103
|
options
|
|
104
104
|
};
|
|
105
105
|
};
|
|
106
|
-
//#endregion
|
|
107
106
|
export { oneTimeToken };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { base64Url } from "@better-auth/utils/base64";
|
|
2
2
|
import { createHash } from "@better-auth/utils/hash";
|
|
3
|
-
|
|
3
|
+
// src/plugins/one-time-token/utils.ts
|
|
4
4
|
const defaultKeyHasher = async (token) => {
|
|
5
5
|
const hash = await createHash("SHA-256").digest(new TextEncoder().encode(token));
|
|
6
6
|
return base64Url.encode(new Uint8Array(hash), { padding: false });
|
|
7
7
|
};
|
|
8
|
-
//#endregion
|
|
9
8
|
export { defaultKeyHasher };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AuthContext, BetterAuthOptions } from "@better-auth/core";
|
|
2
2
|
import { DBFieldAttributeConfig, DBFieldType } from "@better-auth/core/db";
|
|
3
3
|
import { OpenAPIParameter, OpenAPISchemaType } from "better-call";
|
|
4
|
-
//#region src/plugins/open-api/generator.d.ts
|
|
5
4
|
export interface Path {
|
|
6
5
|
get?: OpenAPIOperation | undefined;
|
|
7
6
|
post?: OpenAPIOperation | undefined;
|
|
@@ -122,5 +121,4 @@ export declare function generator(ctx: AuthContext, options: BetterAuthOptions):
|
|
|
122
121
|
}[];
|
|
123
122
|
paths: Record<string, Path>;
|
|
124
123
|
}>;
|
|
125
|
-
//#endregion
|
|
126
124
|
export { OpenAPIParameter$1 as OpenAPIParameter };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { db_exports } from "../../db/index.mjs";
|
|
2
1
|
import { getEndpoints } from "../../api/index.mjs";
|
|
2
|
+
import { db_exports } from "../../db/index.mjs";
|
|
3
3
|
import * as z from "zod";
|
|
4
|
-
|
|
4
|
+
// src/plugins/open-api/generator.ts
|
|
5
5
|
const OPEN_API_SCHEMA_TYPES = /* @__PURE__ */ new Set([
|
|
6
6
|
"string",
|
|
7
7
|
"number",
|
|
@@ -554,5 +554,4 @@ async function generator(ctx, options) {
|
|
|
554
554
|
paths
|
|
555
555
|
};
|
|
556
556
|
}
|
|
557
|
-
//#endregion
|
|
558
557
|
export { generator };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FieldSchema, OpenAPIModelSchema, OpenAPIParameter, OpenAPISchema, Path, generator } from "./generator.mjs";
|
|
2
2
|
import { LiteralString } from "@better-auth/core";
|
|
3
|
-
//#region src/plugins/open-api/index.d.ts
|
|
4
3
|
declare module "@better-auth/core" {
|
|
5
4
|
interface BetterAuthPluginRegistry<AuthOptions, Options> {
|
|
6
5
|
"open-api": {
|
|
@@ -91,5 +90,4 @@ export declare const openAPI: <O extends OpenAPIOptions>(options?: O | undefined
|
|
|
91
90
|
};
|
|
92
91
|
options: NoInfer<O>;
|
|
93
92
|
};
|
|
94
|
-
//#endregion
|
|
95
93
|
export type { FieldSchema, OpenAPIModelSchema, OpenAPIParameter, OpenAPISchema, Path, generator };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { HIDE_METADATA } from "../../utils/hide-metadata.mjs";
|
|
2
1
|
import { APIError } from "../../api/index.mjs";
|
|
2
|
+
import { HIDE_METADATA } from "../../utils/hide-metadata.mjs";
|
|
3
3
|
import { PACKAGE_VERSION } from "../../version.mjs";
|
|
4
4
|
import { generator } from "./generator.mjs";
|
|
5
5
|
import { logo } from "./logo.mjs";
|
|
6
6
|
import { createAuthEndpoint } from "@better-auth/core/api";
|
|
7
|
-
|
|
7
|
+
// src/plugins/open-api/index.ts
|
|
8
8
|
const getHTML = (apiReference, theme, nonce) => {
|
|
9
9
|
const nonceAttr = nonce ? `nonce="${nonce}"` : "";
|
|
10
10
|
return `<!doctype html>
|
|
@@ -61,5 +61,4 @@ const openAPI = (options) => {
|
|
|
61
61
|
options
|
|
62
62
|
};
|
|
63
63
|
};
|
|
64
|
-
//#endregion
|
|
65
64
|
export { openAPI };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/plugins/open-api/logo.ts
|
|
2
2
|
const logo = `<svg width="75" height="75" viewBox="0 0 75 75" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
3
|
<rect width="75" height="75" fill="url(#pattern0_21_12)"/>
|
|
4
4
|
<defs>
|
|
@@ -9,5 +9,4 @@ const logo = `<svg width="75" height="75" viewBox="0 0 75 75" fill="none" xmlns=
|
|
|
9
9
|
</defs>
|
|
10
10
|
</svg>
|
|
11
11
|
`;
|
|
12
|
-
//#endregion
|
|
13
12
|
export { logo };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ExactRoleStatements, Role, RoleInput, Statements } from "../../access/types.mjs";
|
|
2
2
|
import "../../index.mjs";
|
|
3
|
-
//#region src/plugins/organization/access/statement.d.ts
|
|
4
3
|
export declare const defaultStatements: {
|
|
5
4
|
readonly organization: readonly ["update", "delete"];
|
|
6
5
|
readonly member: readonly ["create", "update", "delete"];
|
|
@@ -109,5 +108,4 @@ export declare const defaultRoles: {
|
|
|
109
108
|
readonly team: readonly ["create", "update", "delete"];
|
|
110
109
|
readonly ac: readonly ["create", "read", "update", "delete"];
|
|
111
110
|
}>;
|
|
112
|
-
};
|
|
113
|
-
//#endregion
|
|
111
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createAccessControl } from "../../access/access.mjs";
|
|
2
|
-
|
|
2
|
+
// src/plugins/organization/access/statement.ts
|
|
3
3
|
const defaultStatements = {
|
|
4
4
|
organization: ["update", "delete"],
|
|
5
5
|
member: [
|
|
@@ -73,5 +73,4 @@ const defaultRoles = {
|
|
|
73
73
|
owner: ownerAc,
|
|
74
74
|
member: memberAc
|
|
75
75
|
};
|
|
76
|
-
//#endregion
|
|
77
76
|
export { adminAc, defaultAc, defaultRoles, defaultStatements, memberAc, ownerAc };
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { FieldAttributeToObject, InferAdditionalFieldsFromPluginOptions, RemoveFieldsWithReturnedFalse } from "../../db/field.mjs";
|
|
2
2
|
import { User } from "../../types/models.mjs";
|
|
3
|
-
import "
|
|
3
|
+
import { InferInvitation, InferMember, InferOrganization, InferOrganizationRolesFromOption, InferTeam, InvitationStatus, MemberInput, OrganizationInput, TeamInput, TeamMember } from "./schema.mjs";
|
|
4
4
|
import "../../db/index.mjs";
|
|
5
|
+
import "../../types/index.mjs";
|
|
5
6
|
import { OrganizationOptions } from "./types.mjs";
|
|
6
|
-
import { InferInvitation, InferMember, InferOrganization, InferOrganizationRolesFromOption, InferTeam, InvitationStatus, MemberInput, OrganizationInput, TeamInput, TeamMember } from "./schema.mjs";
|
|
7
7
|
import { AuthContext, GenericEndpointContext } from "@better-auth/core";
|
|
8
8
|
import { WhereOperator } from "@better-auth/core/db/adapter";
|
|
9
|
-
//#region src/plugins/organization/adapter.d.ts
|
|
10
9
|
export declare const getOrgAdapter: <O extends OrganizationOptions>(context: AuthContext, options?: O | undefined) => {
|
|
11
10
|
findOrganizationBySlug: (slug: string) => Promise<InferOrganization<O> | null>;
|
|
12
11
|
createOrganization: (data: {
|
|
@@ -784,5 +783,4 @@ export declare const getOrgAdapter: <O extends OrganizationOptions>(context: Aut
|
|
|
784
783
|
additionalFields: infer Field extends Record<string, import("@better-auth/core/db").DBFieldAttribute>;
|
|
785
784
|
} | undefined;
|
|
786
785
|
} ? FieldAttributeToObject<Field> : {}) extends (infer T) ? { [K in keyof T]: T[K]; } : never) | null>;
|
|
787
|
-
};
|
|
788
|
-
//#endregion
|
|
786
|
+
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { getDate } from "../../utils/date.mjs";
|
|
2
1
|
import { parseJSON } from "../../client/parser.mjs";
|
|
2
|
+
import { getDate } from "../../utils/date.mjs";
|
|
3
3
|
import { getCurrentAdapter, runWithTransaction } from "@better-auth/core/context";
|
|
4
4
|
import { BetterAuthError } from "@better-auth/core/error";
|
|
5
5
|
import { filterOutputFields } from "@better-auth/core/utils/db";
|
|
6
6
|
import { base64Url } from "@better-auth/utils/base64";
|
|
7
7
|
import { createHash } from "@better-auth/utils/hash";
|
|
8
|
-
|
|
8
|
+
// src/plugins/organization/adapter.ts
|
|
9
9
|
async function computeTeamMembershipKey(data) {
|
|
10
10
|
const digest = await createHash("SHA-256").digest(new TextEncoder().encode(JSON.stringify([data.teamId, data.userId])));
|
|
11
11
|
return base64Url.encode(new Uint8Array(digest), { padding: false });
|
|
@@ -818,5 +818,4 @@ const getOrgAdapter = (context, options) => {
|
|
|
818
818
|
}
|
|
819
819
|
};
|
|
820
820
|
};
|
|
821
|
-
//#endregion
|
|
822
821
|
export { getOrgAdapter };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sessionMiddleware } from "../../api/routes/session.mjs";
|
|
2
2
|
import { createAuthMiddleware } from "@better-auth/core/api";
|
|
3
|
-
|
|
3
|
+
// src/plugins/organization/call.ts
|
|
4
4
|
const orgMiddleware = createAuthMiddleware(async () => {
|
|
5
5
|
return {};
|
|
6
6
|
});
|
|
@@ -11,5 +11,4 @@ const orgMiddleware = createAuthMiddleware(async () => {
|
|
|
11
11
|
const orgSessionMiddleware = createAuthMiddleware({ use: [sessionMiddleware] }, async (ctx) => {
|
|
12
12
|
return { session: ctx.context.session };
|
|
13
13
|
});
|
|
14
|
-
//#endregion
|
|
15
14
|
export { orgMiddleware, orgSessionMiddleware };
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { FieldAttributeToObject, RemoveFieldsWithReturnedFalse } from "../../db/field.mjs";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import "../../db/index.mjs";
|
|
3
|
+
import "../index.mjs";
|
|
4
4
|
import { AuthQueryAtom } from "../../client/query.mjs";
|
|
5
5
|
import { AccessControl, ArrayElement, Role, Statements } from "../access/types.mjs";
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import { OrganizationOptions } from "./types.mjs";
|
|
6
|
+
import "../../client/index.mjs";
|
|
7
|
+
import "./index.mjs";
|
|
9
8
|
import { InferInvitation, InferMember, InferOrganization, InferOrganizationRolesFromOption, InferOrganizationZodRolesFromOption, InferTeam, Invitation, InvitationInput, InvitationStatus, Member, MemberInput, Organization, OrganizationInput, OrganizationRole, OrganizationSchema, Team, TeamInput, TeamMember, TeamMemberInput, defaultRolesSchema, invitationSchema, invitationStatus, memberSchema, organizationRoleSchema, organizationSchema, roleSchema, teamMemberSchema, teamSchema } from "./schema.mjs";
|
|
10
|
-
import "
|
|
9
|
+
import { BetterAuthOptions } from "../../types/index.mjs";
|
|
10
|
+
import { Prettify } from "../../types/helper.mjs";
|
|
11
11
|
import { ORGANIZATION_ERROR_CODES } from "./error-codes.mjs";
|
|
12
|
-
import
|
|
12
|
+
import "../access/index.mjs";
|
|
13
13
|
import { OrganizationPlugin } from "./organization.mjs";
|
|
14
|
-
import "./
|
|
15
|
-
import "
|
|
14
|
+
import { HasPermissionBaseInput } from "./permission.mjs";
|
|
15
|
+
import { OrganizationOptions } from "./types.mjs";
|
|
16
16
|
import { DBFieldAttribute } from "@better-auth/core/db";
|
|
17
17
|
import { BetterFetch } from "@better-fetch/fetch";
|
|
18
|
-
//#region src/plugins/organization/client.d.ts
|
|
19
18
|
/**
|
|
20
19
|
* Using the same `hasPermissionFn` function, but without the need for a `ctx` parameter or the `organizationId` parameter.
|
|
21
20
|
*/
|
|
@@ -373,5 +372,4 @@ export declare const inferOrgAdditionalFields: <O extends {
|
|
|
373
372
|
} | undefined ? { [K in keyof S_1 as S_1[K] extends {
|
|
374
373
|
additionalFields: unknown;
|
|
375
374
|
} ? K : never]: S_1[K]; } : undefined : undefined : undefined : S;
|
|
376
|
-
//#endregion
|
|
377
375
|
export { type InferInvitation, type InferMember, type InferOrganization, type InferOrganizationRolesFromOption, type InferOrganizationZodRolesFromOption, type InferTeam, type Invitation, type InvitationInput, type InvitationStatus, type Member, type MemberInput, ORGANIZATION_ERROR_CODES, type Organization, type OrganizationInput, type OrganizationRole, type OrganizationSchema, type Team, type TeamInput, type TeamMember, type TeamMemberInput, type defaultRolesSchema, type invitationSchema, type invitationStatus, type memberSchema, type organizationRoleSchema, type organizationSchema, type roleSchema, type teamMemberSchema, type teamSchema };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { PACKAGE_VERSION } from "../../version.mjs";
|
|
2
1
|
import { useAuthQuery } from "../../client/query.mjs";
|
|
3
2
|
import { matchesSessionSignal } from "../../client/config.mjs";
|
|
3
|
+
import { PACKAGE_VERSION } from "../../version.mjs";
|
|
4
4
|
import { adminAc, defaultRoles, memberAc, ownerAc } from "./access/statement.mjs";
|
|
5
5
|
import { ORGANIZATION_ERROR_CODES } from "./error-codes.mjs";
|
|
6
6
|
import { hasPermissionFn } from "./permission.mjs";
|
|
7
7
|
import { atom } from "nanostores";
|
|
8
|
-
|
|
8
|
+
// src/plugins/organization/client.ts
|
|
9
9
|
/**
|
|
10
10
|
* Using the same `hasPermissionFn` function, but without the need for a `ctx` parameter or the `organizationId` parameter.
|
|
11
11
|
*/
|
|
@@ -105,5 +105,4 @@ const organizationClient = (options) => {
|
|
|
105
105
|
const inferOrgAdditionalFields = (schema) => {
|
|
106
106
|
return {};
|
|
107
107
|
};
|
|
108
|
-
//#endregion
|
|
109
108
|
export { ORGANIZATION_ERROR_CODES, clientSideHasPermission, inferOrgAdditionalFields, organizationClient };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/plugins/organization/error-codes.d.ts
|
|
2
1
|
export declare const ORGANIZATION_ERROR_CODES: {
|
|
3
2
|
YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_ORGANIZATION: import("@better-auth/core/utils/error-codes").RawError<"YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_ORGANIZATION">;
|
|
4
3
|
YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_ORGANIZATIONS: import("@better-auth/core/utils/error-codes").RawError<"YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_ORGANIZATIONS">;
|
|
@@ -60,5 +59,4 @@ export declare const ORGANIZATION_ERROR_CODES: {
|
|
|
60
59
|
CANNOT_DELETE_A_PRE_DEFINED_ROLE: import("@better-auth/core/utils/error-codes").RawError<"CANNOT_DELETE_A_PRE_DEFINED_ROLE">;
|
|
61
60
|
ROLE_IS_ASSIGNED_TO_MEMBERS: import("@better-auth/core/utils/error-codes").RawError<"ROLE_IS_ASSIGNED_TO_MEMBERS">;
|
|
62
61
|
INVALID_TEAM_ID: import("@better-auth/core/utils/error-codes").RawError<"INVALID_TEAM_ID">;
|
|
63
|
-
};
|
|
64
|
-
//#endregion
|
|
62
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineErrorCodes } from "@better-auth/core/utils/error-codes";
|
|
2
|
-
|
|
2
|
+
// src/plugins/organization/error-codes.ts
|
|
3
3
|
const ORGANIZATION_ERROR_CODES = defineErrorCodes({
|
|
4
4
|
YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_ORGANIZATION: "You are not allowed to create a new organization",
|
|
5
5
|
YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_ORGANIZATIONS: "You have reached the maximum number of organizations",
|
|
@@ -62,5 +62,4 @@ const ORGANIZATION_ERROR_CODES = defineErrorCodes({
|
|
|
62
62
|
ROLE_IS_ASSIGNED_TO_MEMBERS: "Cannot delete a role that is assigned to members. Please reassign the members to a different role first",
|
|
63
63
|
INVALID_TEAM_ID: "Team id contains a reserved character"
|
|
64
64
|
});
|
|
65
|
-
//#endregion
|
|
66
65
|
export { ORGANIZATION_ERROR_CODES };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { HasPermissionBaseInput } from "./permission.mjs";
|
|
2
2
|
import { GenericEndpointContext } from "@better-auth/core";
|
|
3
|
-
//#region src/plugins/organization/has-permission.d.ts
|
|
4
3
|
export declare const hasPermission: (input: {
|
|
5
4
|
organizationId: string;
|
|
6
5
|
/**
|
|
@@ -10,5 +9,4 @@ export declare const hasPermission: (input: {
|
|
|
10
9
|
* @default false
|
|
11
10
|
*/
|
|
12
11
|
useMemoryCache?: boolean | undefined;
|
|
13
|
-
} & HasPermissionBaseInput, ctx: GenericEndpointContext) => Promise<boolean>;
|
|
14
|
-
//#endregion
|
|
12
|
+
} & HasPermissionBaseInput, ctx: GenericEndpointContext) => Promise<boolean>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { APIError } from "../../api/index.mjs";
|
|
2
2
|
import { defaultRoles } from "./access/statement.mjs";
|
|
3
|
-
import { parseRoleList } from "./roles.mjs";
|
|
4
3
|
import { hasPermissionFn } from "./permission.mjs";
|
|
4
|
+
import { parseRoleList } from "./roles.mjs";
|
|
5
5
|
import { defineRequestState, hasRequestState } from "@better-auth/core/context";
|
|
6
6
|
import * as z from "zod";
|
|
7
|
-
|
|
7
|
+
// src/plugins/organization/has-permission.ts
|
|
8
8
|
const rolePermissionsSchema = z.record(z.string(), z.array(z.string()));
|
|
9
9
|
/**
|
|
10
10
|
* Request-scoped role cache, isolated by adapter and organization options before
|
|
@@ -69,5 +69,4 @@ const withoutCreatorRoleInvitations = (invitations, input) => {
|
|
|
69
69
|
if (parseRoleList(input.role).includes(creatorRole)) return invitations;
|
|
70
70
|
return invitations.filter((invitation) => !parseRoleList(invitation.role).includes(creatorRole));
|
|
71
71
|
};
|
|
72
|
-
//#endregion
|
|
73
72
|
export { canViewInvitations, hasPermission, withoutCreatorRoleInvitations };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { OrganizationOptions } from "./types.mjs";
|
|
2
|
-
import { InferInvitation, InferMember, InferOrganization, InferOrganizationRolesFromOption, InferOrganizationZodRolesFromOption, InferTeam, Invitation, InvitationInput, InvitationStatus, Member, MemberInput, Organization, OrganizationInput, OrganizationRole, OrganizationSchema, Team, TeamInput, TeamMember, TeamMemberInput, defaultRolesSchema, invitationSchema, invitationStatus, memberSchema, organizationRoleSchema, organizationSchema, roleSchema, teamMemberSchema, teamSchema } from "./schema.mjs";
|
|
3
1
|
import { getOrgAdapter } from "./adapter.mjs";
|
|
2
|
+
import { DefaultOrganizationPlugin, DynamicAccessControlEndpoints, OrganizationCreator, OrganizationEndpoints, OrganizationPlugin, TeamEndpoints, organization } from "./organization.mjs";
|
|
3
|
+
import { InferInvitation, InferMember, InferOrganization, InferOrganizationRolesFromOption, InferOrganizationZodRolesFromOption, InferTeam, Invitation, InvitationInput, InvitationStatus, Member, MemberInput, Organization, OrganizationInput, OrganizationRole, OrganizationSchema, Team, TeamInput, TeamMember, TeamMemberInput, defaultRolesSchema, invitationSchema, invitationStatus, memberSchema, organizationRoleSchema, organizationSchema, roleSchema, teamMemberSchema, teamSchema } from "./schema.mjs";
|
|
4
4
|
import { hasPermission } from "./has-permission.mjs";
|
|
5
5
|
import { parseRoles } from "./roles.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import { OrganizationOptions } from "./types.mjs";
|
|
7
7
|
export { DefaultOrganizationPlugin, DynamicAccessControlEndpoints, type InferInvitation, type InferMember, type InferOrganization, type InferOrganizationRolesFromOption, type InferOrganizationZodRolesFromOption, type InferTeam, type Invitation, type InvitationInput, type InvitationStatus, type Member, type MemberInput, type Organization, OrganizationCreator, OrganizationEndpoints, type OrganizationInput, type OrganizationOptions, OrganizationPlugin, type OrganizationRole, type OrganizationSchema, type Team, TeamEndpoints, type TeamInput, type TeamMember, type TeamMemberInput, type defaultRolesSchema, getOrgAdapter, hasPermission, type invitationSchema, type invitationStatus, type memberSchema, organization, type organizationRoleSchema, type organizationSchema, parseRoles, type roleSchema, type teamMemberSchema, type teamSchema };
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { AccessControl, ArrayElement, Statements } from "../access/types.mjs";
|
|
2
|
-
import "../access/index.mjs";
|
|
3
|
-
import { OrganizationOptions } from "./types.mjs";
|
|
4
|
-
import { InferInvitation, InferMember, InferOrganization, InferTeam, OrganizationSchema, TeamMember } from "./schema.mjs";
|
|
5
2
|
import "../index.mjs";
|
|
3
|
+
import "../access/index.mjs";
|
|
6
4
|
import { ORGANIZATION_ERROR_CODES } from "./error-codes.mjs";
|
|
7
5
|
import { createOrgRole, deleteOrgRole, getOrgRole, listOrgRoles, updateOrgRole } from "./routes/crud-access-control.mjs";
|
|
8
6
|
import { acceptInvitation, cancelInvitation, createInvitation, getInvitation, listInvitations, listUserInvitations, rejectInvitation } from "./routes/crud-invites.mjs";
|
|
9
7
|
import { addMember, getActiveMember, getActiveMemberRole, leaveOrganization, listMembers, removeMember, updateMemberRole } from "./routes/crud-members.mjs";
|
|
10
8
|
import { checkOrganizationSlug, createOrganization, deleteOrganization, getFullOrganization, getOrganization, listOrganizations, setActiveOrganization, updateOrganization } from "./routes/crud-org.mjs";
|
|
11
9
|
import { addTeamMember, createTeam, listOrganizationTeams, listTeamMembers, listUserTeams, removeTeam, removeTeamMember, setActiveTeam, updateTeam } from "./routes/crud-team.mjs";
|
|
10
|
+
import { InferInvitation, InferMember, InferOrganization, InferTeam, OrganizationSchema, TeamMember } from "./schema.mjs";
|
|
11
|
+
import { OrganizationOptions } from "./types.mjs";
|
|
12
12
|
import { hasPermission } from "./has-permission.mjs";
|
|
13
13
|
import { parseRoles } from "./roles.mjs";
|
|
14
14
|
import * as z from "zod";
|
|
15
|
-
//#region src/plugins/organization/organization.d.ts
|
|
16
15
|
declare module "@better-auth/core" {
|
|
17
16
|
interface BetterAuthPluginRegistry<AuthOptions, Options> {
|
|
18
17
|
organization: {
|
|
@@ -416,5 +415,4 @@ export declare function organization<O extends OrganizationOptions & {
|
|
|
416
415
|
options: NoInfer<O>;
|
|
417
416
|
};
|
|
418
417
|
export declare function organization<O extends OrganizationOptions>(options?: O | undefined): DefaultOrganizationPlugin<O>;
|
|
419
|
-
//#endregion
|
|
420
418
|
export { type OrganizationOptions, hasPermission, parseRoles };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { getSessionFromCtx } from "../../api/routes/session.mjs";
|
|
2
|
+
import { shimContext } from "../../utils/shim.mjs";
|
|
2
3
|
import { PACKAGE_VERSION } from "../../version.mjs";
|
|
3
4
|
import { defaultRoles } from "./access/statement.mjs";
|
|
4
|
-
import { ORGANIZATION_ERROR_CODES } from "./error-codes.mjs";
|
|
5
5
|
import { parseRoles } from "./roles.mjs";
|
|
6
6
|
import { getOrgAdapter } from "./adapter.mjs";
|
|
7
|
-
import { shimContext } from "../../utils/shim.mjs";
|
|
8
7
|
import { orgSessionMiddleware } from "./call.mjs";
|
|
8
|
+
import { ORGANIZATION_ERROR_CODES } from "./error-codes.mjs";
|
|
9
9
|
import { hasPermission } from "./has-permission.mjs";
|
|
10
10
|
import { createOrgRole, deleteOrgRole, getOrgRole, listOrgRoles, updateOrgRole } from "./routes/crud-access-control.mjs";
|
|
11
11
|
import { acceptInvitation, cancelInvitation, createInvitation, getInvitation, listInvitations, listUserInvitations, rejectInvitation } from "./routes/crud-invites.mjs";
|
|
@@ -15,7 +15,7 @@ import { addTeamMember, createTeam, listOrganizationTeams, listTeamMembers, list
|
|
|
15
15
|
import { APIError } from "@better-auth/core/error";
|
|
16
16
|
import { createAuthEndpoint } from "@better-auth/core/api";
|
|
17
17
|
import * as z from "zod";
|
|
18
|
-
|
|
18
|
+
// src/plugins/organization/organization.ts
|
|
19
19
|
const createHasPermissionBodySchema = z.object({ organizationId: z.string().optional() }).and(z.xor([z.object({ permission: z.record(z.string(), z.array(z.string())) }), z.object({ permissions: z.record(z.string(), z.array(z.string())) })]));
|
|
20
20
|
const createHasPermission = (options) => {
|
|
21
21
|
return createAuthEndpoint("/organization/has-permission", {
|
|
@@ -885,5 +885,4 @@ function organization(options) {
|
|
|
885
885
|
options: opts
|
|
886
886
|
};
|
|
887
887
|
}
|
|
888
|
-
//#endregion
|
|
889
888
|
export { hasPermission, organization, parseRoles };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import "../access/index.mjs";
|
|
2
2
|
import { OrganizationOptions } from "./types.mjs";
|
|
3
|
-
//#region src/plugins/organization/permission.d.ts
|
|
4
3
|
export type PermissionExclusive = {
|
|
5
4
|
permissions: {
|
|
6
5
|
[key: string]: string[];
|
|
@@ -10,5 +9,4 @@ export type HasPermissionBaseInput = {
|
|
|
10
9
|
role: string;
|
|
11
10
|
options: OrganizationOptions;
|
|
12
11
|
allowCreatorAllPermissions?: boolean | undefined;
|
|
13
|
-
} & PermissionExclusive;
|
|
14
|
-
//#endregion
|
|
12
|
+
} & PermissionExclusive;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseRoleList } from "./roles.mjs";
|
|
2
|
-
|
|
2
|
+
// src/plugins/organization/permission.ts
|
|
3
3
|
const hasPermissionFn = (input, acRoles) => {
|
|
4
4
|
if (!input.permissions) return false;
|
|
5
5
|
const roles = parseRoleList(input.role);
|
|
@@ -10,5 +10,4 @@ const hasPermissionFn = (input, acRoles) => {
|
|
|
10
10
|
for (const role of roles) if ((acRoles[role]?.authorize(input.permissions))?.success) return true;
|
|
11
11
|
return false;
|
|
12
12
|
};
|
|
13
|
-
//#endregion
|
|
14
13
|
export { hasPermissionFn };
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
//#region src/plugins/organization/roles.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Normalizes a role value into the comma separated string that is stored in
|
|
4
3
|
* the database. Whitespace around each role name is removed and empty entries
|
|
5
4
|
* are dropped.
|
|
6
5
|
*/
|
|
7
|
-
export declare function parseRoles(roles: string | string[]): string;
|
|
8
|
-
//#endregion
|
|
6
|
+
export declare function parseRoles(roles: string | string[]): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/plugins/organization/roles.ts
|
|
2
2
|
/**
|
|
3
3
|
* Splits a role value into a list of trimmed, non-empty role names.
|
|
4
4
|
*
|
|
@@ -22,5 +22,4 @@ function parseRoleList(roles) {
|
|
|
22
22
|
function parseRoles(roles) {
|
|
23
23
|
return parseRoleList(roles).join(",");
|
|
24
24
|
}
|
|
25
|
-
//#endregion
|
|
26
25
|
export { parseRoleList, parseRoles };
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { InferAdditionalFieldsFromPluginOptions } from "../../../db/field.mjs";
|
|
2
2
|
import { ExactRoleStatements } from "../../access/types.mjs";
|
|
3
|
+
import "../../index.mjs";
|
|
3
4
|
import "../../../db/index.mjs";
|
|
4
|
-
import { OrganizationOptions } from "../types.mjs";
|
|
5
5
|
import { OrganizationRole } from "../schema.mjs";
|
|
6
|
-
import "
|
|
6
|
+
import { OrganizationOptions } from "../types.mjs";
|
|
7
7
|
import * as z from "zod";
|
|
8
|
-
//#region src/plugins/organization/routes/crud-access-control.d.ts
|
|
9
8
|
type IsExactlyEmptyObject<T> = keyof T extends never ? T extends {} ? {} extends T ? true : false : false : false;
|
|
10
9
|
export declare const createOrgRole: <O extends OrganizationOptions>(options: O) => import("better-call").StrictEndpoint<"/organization/create-role", {
|
|
11
10
|
method: "POST";
|
|
@@ -507,5 +506,4 @@ export declare const updateOrgRole: <O extends OrganizationOptions>(options: O)
|
|
|
507
506
|
success: boolean;
|
|
508
507
|
roleData: OrganizationRole & InferAdditionalFieldsFromPluginOptions<"organizationRole", O, false>;
|
|
509
508
|
}>;
|
|
510
|
-
//#endregion
|
|
511
509
|
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { toZodSchema } from "../../../db/to-zod.mjs";
|
|
2
|
-
import { ORGANIZATION_ERROR_CODES } from "../error-codes.mjs";
|
|
3
|
-
import { parseRoleList } from "../roles.mjs";
|
|
4
2
|
import { orgSessionMiddleware } from "../call.mjs";
|
|
3
|
+
import { ORGANIZATION_ERROR_CODES } from "../error-codes.mjs";
|
|
5
4
|
import { hasPermission } from "../has-permission.mjs";
|
|
5
|
+
import { parseRoleList } from "../roles.mjs";
|
|
6
6
|
import { APIError } from "@better-auth/core/error";
|
|
7
7
|
import { createAuthEndpoint } from "@better-auth/core/api";
|
|
8
8
|
import * as z from "zod";
|
|
9
|
-
|
|
9
|
+
// src/plugins/organization/routes/crud-access-control.ts
|
|
10
10
|
const normalizeRoleName = (role) => role.toLowerCase();
|
|
11
11
|
const DEFAULT_MAXIMUM_ROLES_PER_ORGANIZATION = Number.POSITIVE_INFINITY;
|
|
12
12
|
const getAdditionalFields = (options, shouldBePartial = false) => {
|
|
@@ -671,5 +671,4 @@ async function checkIfRoleNameIsTakenByRoleInDB({ organizationId, role, ctx }) {
|
|
|
671
671
|
throw APIError.from("BAD_REQUEST", ORGANIZATION_ERROR_CODES.ROLE_NAME_IS_ALREADY_TAKEN);
|
|
672
672
|
}
|
|
673
673
|
}
|
|
674
|
-
//#endregion
|
|
675
674
|
export { createOrgRole, deleteOrgRole, getOrgRole, listOrgRoles, updateOrgRole };
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { FieldAttributeToObject, InferAdditionalFieldsFromPluginOptions, RemoveFieldsWithReturnedFalse } from "../../../db/field.mjs";
|
|
2
2
|
import { Role } from "../../access/types.mjs";
|
|
3
|
-
import "../../../db/index.mjs";
|
|
4
|
-
import { OrganizationOptions } from "../types.mjs";
|
|
5
|
-
import { InferOrganizationRolesFromOption, InvitationStatus } from "../schema.mjs";
|
|
6
3
|
import "../../index.mjs";
|
|
7
|
-
import { defaultRoles } from "../access/statement.mjs";
|
|
8
4
|
import "../index.mjs";
|
|
5
|
+
import "../../../db/index.mjs";
|
|
6
|
+
import { defaultRoles } from "../access/statement.mjs";
|
|
7
|
+
import { InferOrganizationRolesFromOption, InvitationStatus } from "../schema.mjs";
|
|
8
|
+
import { OrganizationOptions } from "../types.mjs";
|
|
9
9
|
import { LiteralString } from "@better-auth/core";
|
|
10
10
|
import * as z from "zod";
|
|
11
|
-
//#region src/plugins/organization/routes/crud-invites.d.ts
|
|
12
11
|
type DynamicOrganizationRole<O extends OrganizationOptions> = O extends {
|
|
13
12
|
dynamicAccessControl: {
|
|
14
13
|
enabled: true;
|
|
@@ -1149,5 +1148,4 @@ export declare const listUserInvitations: <O extends OrganizationOptions>(option
|
|
|
1149
1148
|
} | undefined;
|
|
1150
1149
|
} ? FieldAttributeToObject<Field> : {}))["name"];
|
|
1151
1150
|
})[]>;
|
|
1152
|
-
//#endregion
|
|
1153
1151
|
export {};
|