better-auth 1.4.6-beta.6 → 1.4.7-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-DieNfLhd.mjs → _virtual/rolldown_runtime.mjs} +1 -12
- package/dist/adapters/drizzle-adapter/drizzle-adapter.d.mts +48 -0
- package/dist/adapters/drizzle-adapter/drizzle-adapter.mjs +286 -0
- package/dist/adapters/drizzle-adapter/drizzle-adapter.mjs.map +1 -0
- package/dist/adapters/drizzle-adapter/index.d.mts +1 -46
- package/dist/adapters/drizzle-adapter/index.mjs +1 -283
- package/dist/adapters/index.d.mts +2 -1
- package/dist/adapters/index.mjs +2 -1
- package/dist/adapters/index.mjs.map +1 -0
- package/dist/{bun-sqlite-dialect-BGIIaWxx.mjs → adapters/kysely-adapter/bun-sqlite-dialect.mjs} +2 -1
- package/dist/adapters/kysely-adapter/bun-sqlite-dialect.mjs.map +1 -0
- package/dist/adapters/kysely-adapter/dialect.d.mts +18 -0
- package/dist/{dialect-BHuPIP4Z.mjs → adapters/kysely-adapter/dialect.mjs} +4 -3
- package/dist/adapters/kysely-adapter/dialect.mjs.map +1 -0
- package/dist/adapters/kysely-adapter/index.d.mts +3 -46
- package/dist/adapters/kysely-adapter/index.mjs +2 -294
- package/dist/adapters/kysely-adapter/kysely-adapter.d.mts +36 -0
- package/dist/adapters/kysely-adapter/kysely-adapter.mjs +296 -0
- package/dist/adapters/kysely-adapter/kysely-adapter.mjs.map +1 -0
- package/dist/{node-sqlite-dialect-DL3qojbZ.mjs → adapters/kysely-adapter/node-sqlite-dialect.mjs} +2 -1
- package/dist/adapters/kysely-adapter/node-sqlite-dialect.mjs.map +1 -0
- package/dist/{types-Bde2wFm4.d.mts → adapters/kysely-adapter/types.d.mts} +2 -1
- package/dist/adapters/memory-adapter/index.d.mts +1 -13
- package/dist/adapters/memory-adapter/index.mjs +1 -210
- package/dist/adapters/memory-adapter/memory-adapter.d.mts +15 -0
- package/dist/adapters/memory-adapter/memory-adapter.mjs +213 -0
- package/dist/adapters/memory-adapter/memory-adapter.mjs.map +1 -0
- package/dist/adapters/mongodb-adapter/index.d.mts +1 -34
- package/dist/adapters/mongodb-adapter/index.mjs +1 -388
- package/dist/adapters/mongodb-adapter/mongodb-adapter.d.mts +36 -0
- package/dist/adapters/mongodb-adapter/mongodb-adapter.mjs +391 -0
- package/dist/adapters/mongodb-adapter/mongodb-adapter.mjs.map +1 -0
- package/dist/adapters/prisma-adapter/index.d.mts +1 -33
- package/dist/adapters/prisma-adapter/index.mjs +1 -215
- package/dist/adapters/prisma-adapter/prisma-adapter.d.mts +35 -0
- package/dist/adapters/prisma-adapter/prisma-adapter.mjs +218 -0
- package/dist/adapters/prisma-adapter/prisma-adapter.mjs.map +1 -0
- package/dist/adapters/test.d.mts +2 -1
- package/dist/adapters/test.mjs +3 -3
- package/dist/adapters/test.mjs.map +1 -0
- package/dist/api/index.d.mts +3860 -3
- package/dist/api/index.mjs +200 -11
- package/dist/api/index.mjs.map +1 -0
- package/dist/api/middlewares/index.d.mts +2 -0
- package/dist/api/middlewares/index.mjs +4 -0
- package/dist/api/middlewares/oauth.d.mts +18 -0
- package/dist/api/middlewares/oauth.mjs +8 -0
- package/dist/api/middlewares/oauth.mjs.map +1 -0
- package/dist/api/middlewares/origin-check.d.mts +14 -0
- package/dist/api/middlewares/origin-check.mjs +53 -0
- package/dist/api/middlewares/origin-check.mjs.map +1 -0
- package/dist/api/rate-limiter/index.mjs +160 -0
- package/dist/api/rate-limiter/index.mjs.map +1 -0
- package/dist/api/routes/account.d.mts +429 -0
- package/dist/api/routes/account.mjs +454 -0
- package/dist/api/routes/account.mjs.map +1 -0
- package/dist/api/routes/callback.d.mts +33 -0
- package/dist/api/routes/callback.mjs +176 -0
- package/dist/api/routes/callback.mjs.map +1 -0
- package/dist/api/routes/email-verification.d.mts +162 -0
- package/dist/api/routes/email-verification.mjs +291 -0
- package/dist/api/routes/email-verification.mjs.map +1 -0
- package/dist/api/routes/error.d.mts +30 -0
- package/dist/api/routes/error.mjs +386 -0
- package/dist/api/routes/error.mjs.map +1 -0
- package/dist/api/routes/index.d.mts +11 -0
- package/dist/api/routes/index.mjs +13 -0
- package/dist/api/routes/ok.d.mts +38 -0
- package/dist/api/routes/ok.mjs +30 -0
- package/dist/api/routes/ok.mjs.map +1 -0
- package/dist/api/routes/reset-password.d.mts +133 -0
- package/dist/api/routes/reset-password.mjs +169 -0
- package/dist/api/routes/reset-password.mjs.map +1 -0
- package/dist/api/routes/session.d.mts +415 -0
- package/dist/{session-DzeN0NAi.mjs → api/routes/session.mjs} +9 -4
- package/dist/api/routes/session.mjs.map +1 -0
- package/dist/api/routes/sign-in.d.mts +174 -0
- package/dist/api/routes/sign-in.mjs +252 -0
- package/dist/api/routes/sign-in.mjs.map +1 -0
- package/dist/api/routes/sign-out.d.mts +38 -0
- package/dist/api/routes/sign-out.mjs +33 -0
- package/dist/api/routes/sign-out.mjs.map +1 -0
- package/dist/api/routes/sign-up.d.mts +153 -0
- package/dist/api/routes/sign-up.mjs +218 -0
- package/dist/api/routes/sign-up.mjs.map +1 -0
- package/dist/api/routes/update-user.d.mts +452 -0
- package/dist/api/routes/update-user.mjs +494 -0
- package/dist/api/routes/update-user.mjs.map +1 -0
- package/dist/api/to-auth-endpoints.mjs +179 -0
- package/dist/api/to-auth-endpoints.mjs.map +1 -0
- package/dist/auth/auth.d.mts +15 -0
- package/dist/auth/auth.mjs +16 -0
- package/dist/auth/auth.mjs.map +1 -0
- package/dist/auth/base.mjs +43 -0
- package/dist/auth/base.mjs.map +1 -0
- package/dist/auth/index.d.mts +1 -0
- package/dist/auth/index.mjs +3 -0
- package/dist/auth/minimal.d.mts +4 -3
- package/dist/auth/minimal.mjs +4 -28
- package/dist/auth/minimal.mjs.map +1 -0
- package/dist/auth/trusted-origins.mjs +31 -0
- package/dist/auth/trusted-origins.mjs.map +1 -0
- package/dist/client/broadcast-channel.d.mts +20 -0
- package/dist/client/broadcast-channel.mjs +46 -0
- package/dist/client/broadcast-channel.mjs.map +1 -0
- package/dist/client/config.mjs +89 -0
- package/dist/client/config.mjs.map +1 -0
- package/dist/client/fetch-plugins.mjs +18 -0
- package/dist/client/fetch-plugins.mjs.map +1 -0
- package/dist/client/focus-manager.d.mts +11 -0
- package/dist/client/focus-manager.mjs +32 -0
- package/dist/client/focus-manager.mjs.map +1 -0
- package/dist/client/index.d.mts +18 -211
- package/dist/client/index.mjs +20 -5
- package/dist/client/index.mjs.map +1 -0
- package/dist/client/lynx/index.d.mts +5 -48
- package/dist/client/lynx/index.mjs +5 -48
- package/dist/client/lynx/index.mjs.map +1 -0
- package/dist/client/lynx/lynx-store.d.mts +47 -0
- package/dist/client/lynx/lynx-store.mjs +47 -0
- package/dist/client/lynx/lynx-store.mjs.map +1 -0
- package/dist/client/online-manager.d.mts +12 -0
- package/dist/client/online-manager.mjs +35 -0
- package/dist/client/online-manager.mjs.map +1 -0
- package/dist/{parser-g6CH-tVp.mjs → client/parser.mjs} +2 -1
- package/dist/client/parser.mjs.map +1 -0
- package/dist/client/path-to-object.d.mts +53 -0
- package/dist/client/plugins/index.d.mts +46 -841
- package/dist/client/plugins/index.mjs +21 -504
- package/dist/client/plugins/infer-plugin.d.mts +16 -0
- package/dist/client/plugins/infer-plugin.mjs +11 -0
- package/dist/client/plugins/infer-plugin.mjs.map +1 -0
- package/dist/client/proxy.mjs +76 -0
- package/dist/client/proxy.mjs.map +1 -0
- package/dist/client/query.d.mts +22 -0
- package/dist/client/query.mjs +98 -0
- package/dist/client/query.mjs.map +1 -0
- package/dist/client/react/index.d.mts +5 -48
- package/dist/client/react/index.mjs +5 -48
- package/dist/client/react/index.mjs.map +1 -0
- package/dist/client/react/react-store.d.mts +47 -0
- package/dist/client/react/react-store.mjs +47 -0
- package/dist/client/react/react-store.mjs.map +1 -0
- package/dist/client/session-atom.mjs +29 -0
- package/dist/client/session-atom.mjs.map +1 -0
- package/dist/client/session-refresh.d.mts +22 -0
- package/dist/client/session-refresh.mjs +122 -0
- package/dist/client/session-refresh.mjs.map +1 -0
- package/dist/client/solid/index.d.mts +4 -4
- package/dist/client/solid/index.mjs +5 -25
- package/dist/client/solid/index.mjs.map +1 -0
- package/dist/client/solid/solid-store.mjs +24 -0
- package/dist/client/solid/solid-store.mjs.map +1 -0
- package/dist/client/svelte/index.d.mts +4 -4
- package/dist/client/svelte/index.mjs +4 -4
- package/dist/client/svelte/index.mjs.map +1 -0
- package/dist/client/types.d.mts +55 -0
- package/dist/client/vanilla.d.mts +123 -0
- package/dist/{client-BJRbyWu7.mjs → client/vanilla.mjs} +4 -14
- package/dist/client/vanilla.mjs.map +1 -0
- package/dist/client/vue/index.d.mts +4 -4
- package/dist/client/vue/index.mjs +5 -27
- package/dist/client/vue/index.mjs.map +1 -0
- package/dist/client/vue/vue-store.mjs +26 -0
- package/dist/client/vue/vue-store.mjs.map +1 -0
- package/dist/{base-DXLar-6_.mjs → context/create-context.mjs} +15 -133
- package/dist/context/create-context.mjs.map +1 -0
- package/dist/context/helpers.mjs +59 -0
- package/dist/context/helpers.mjs.map +1 -0
- package/dist/context/init-minimal.mjs +21 -0
- package/dist/context/init-minimal.mjs.map +1 -0
- package/dist/{auth-CyEpSXRo.mjs → context/init.mjs} +6 -15
- package/dist/context/init.mjs.map +1 -0
- package/dist/cookies/cookie-utils.d.mts +19 -0
- package/dist/cookies/cookie-utils.mjs +66 -0
- package/dist/cookies/cookie-utils.mjs.map +1 -0
- package/dist/cookies/index.d.mts +66 -4
- package/dist/cookies/index.mjs +280 -5
- package/dist/cookies/index.mjs.map +1 -0
- package/dist/cookies/session-store.d.mts +36 -0
- package/dist/cookies/session-store.mjs +200 -0
- package/dist/cookies/session-store.mjs.map +1 -0
- package/dist/crypto/buffer.d.mts +8 -0
- package/dist/crypto/buffer.mjs +18 -0
- package/dist/crypto/buffer.mjs.map +1 -0
- package/dist/crypto/index.d.mts +7 -26
- package/dist/crypto/index.mjs +23 -2
- package/dist/crypto/index.mjs.map +1 -0
- package/dist/crypto/jwt.d.mts +8 -0
- package/dist/crypto/jwt.mjs +95 -0
- package/dist/crypto/jwt.mjs.map +1 -0
- package/dist/crypto/password.d.mts +12 -0
- package/dist/crypto/password.mjs +36 -0
- package/dist/crypto/password.mjs.map +1 -0
- package/dist/crypto/random.d.mts +5 -0
- package/dist/crypto/random.mjs +8 -0
- package/dist/crypto/random.mjs.map +1 -0
- package/dist/db/adapter-base.d.mts +8 -0
- package/dist/db/adapter-base.mjs +28 -0
- package/dist/db/adapter-base.mjs.map +1 -0
- package/dist/db/adapter-kysely.d.mts +8 -0
- package/dist/db/adapter-kysely.mjs +21 -0
- package/dist/db/adapter-kysely.mjs.map +1 -0
- package/dist/db/field-converter.d.mts +8 -0
- package/dist/db/field-converter.mjs +21 -0
- package/dist/db/field-converter.mjs.map +1 -0
- package/dist/db/field.d.mts +78 -0
- package/dist/db/field.mjs +11 -0
- package/dist/db/field.mjs.map +1 -0
- package/dist/db/get-migration.d.mts +23 -0
- package/dist/db/get-migration.mjs +339 -0
- package/dist/db/get-migration.mjs.map +1 -0
- package/dist/db/get-schema.d.mts +11 -0
- package/dist/db/get-schema.mjs +39 -0
- package/dist/db/get-schema.mjs.map +1 -0
- package/dist/db/index.d.mts +10 -2
- package/dist/db/index.mjs +40 -5
- package/dist/db/index.mjs.map +1 -0
- package/dist/db/internal-adapter.d.mts +14 -0
- package/dist/db/internal-adapter.mjs +560 -0
- package/dist/db/internal-adapter.mjs.map +1 -0
- package/dist/db/schema.d.mts +80 -0
- package/dist/{schema-dfOF7vRb.mjs → db/schema.mjs} +2 -7
- package/dist/db/schema.mjs.map +1 -0
- package/dist/db/to-zod.d.mts +36 -0
- package/dist/db/to-zod.mjs +26 -0
- package/dist/db/to-zod.mjs.map +1 -0
- package/dist/db/with-hooks.d.mts +33 -0
- package/dist/db/with-hooks.mjs +148 -0
- package/dist/db/with-hooks.mjs.map +1 -0
- package/dist/index.d.mts +37 -4
- package/dist/index.mjs +6 -14
- package/dist/integrations/next-js.d.mts +6 -5
- package/dist/integrations/next-js.mjs +5 -6
- package/dist/integrations/next-js.mjs.map +1 -0
- package/dist/integrations/node.d.mts +4 -3
- package/dist/integrations/node.mjs +2 -1
- package/dist/integrations/node.mjs.map +1 -0
- package/dist/integrations/solid-start.d.mts +2 -1
- package/dist/integrations/solid-start.mjs +2 -1
- package/dist/integrations/solid-start.mjs.map +1 -0
- package/dist/integrations/svelte-kit.d.mts +5 -5
- package/dist/integrations/svelte-kit.mjs +5 -6
- package/dist/integrations/svelte-kit.mjs.map +1 -0
- package/dist/integrations/tanstack-start.d.mts +6 -5
- package/dist/integrations/tanstack-start.mjs +5 -6
- package/dist/integrations/tanstack-start.mjs.map +1 -0
- package/dist/oauth2/index.d.mts +3 -50
- package/dist/oauth2/index.mjs +3 -10
- package/dist/oauth2/link-account.d.mts +48 -0
- package/dist/oauth2/link-account.mjs +141 -0
- package/dist/oauth2/link-account.mjs.map +1 -0
- package/dist/oauth2/state.d.mts +26 -0
- package/dist/{utils-C4Ub_EYH.mjs → oauth2/state.mjs} +5 -12
- package/dist/oauth2/state.mjs.map +1 -0
- package/dist/oauth2/utils.d.mts +8 -0
- package/dist/oauth2/utils.mjs +22 -0
- package/dist/oauth2/utils.mjs.map +1 -0
- package/dist/{index-B1fASdrI.d.mts → plugins/access/access.d.mts} +3 -14
- package/dist/{access-BCQibqkF.mjs → plugins/access/access.mjs} +2 -1
- package/dist/plugins/access/access.mjs.map +1 -0
- package/dist/plugins/access/index.d.mts +2 -1
- package/dist/plugins/access/index.mjs +1 -1
- package/dist/plugins/access/types.d.mts +17 -0
- package/dist/plugins/additional-fields/client.d.mts +96 -0
- package/dist/plugins/additional-fields/client.mjs +11 -0
- package/dist/plugins/additional-fields/client.mjs.map +1 -0
- package/dist/plugins/admin/access/index.d.mts +1 -136
- package/dist/plugins/admin/access/index.mjs +1 -2
- package/dist/plugins/admin/access/statement.d.mts +118 -0
- package/dist/{access-DZRRE6Tq.mjs → plugins/admin/access/statement.mjs} +4 -2
- package/dist/plugins/admin/access/statement.mjs.map +1 -0
- package/dist/plugins/admin/admin.d.mts +851 -0
- package/dist/plugins/admin/admin.mjs +96 -0
- package/dist/plugins/admin/admin.mjs.map +1 -0
- package/dist/plugins/admin/client.d.mts +66 -0
- package/dist/plugins/admin/client.mjs +34 -0
- package/dist/plugins/admin/client.mjs.map +1 -0
- package/dist/plugins/admin/error-codes.mjs +29 -0
- package/dist/plugins/admin/error-codes.mjs.map +1 -0
- package/dist/{has-permission-BxveqtYZ.mjs → plugins/admin/has-permission.mjs} +4 -2
- package/dist/plugins/admin/has-permission.mjs.map +1 -0
- package/dist/plugins/admin/index.d.mts +2 -22
- package/dist/plugins/admin/index.mjs +1 -15
- package/dist/{admin-B7ejdSlw.mjs → plugins/admin/routes.mjs} +11 -151
- package/dist/plugins/admin/routes.mjs.map +1 -0
- package/dist/plugins/admin/schema.d.mts +40 -0
- package/dist/plugins/admin/schema.mjs +34 -0
- package/dist/plugins/admin/schema.mjs.map +1 -0
- package/dist/plugins/admin/types.d.mts +88 -0
- package/dist/plugins/anonymous/client.d.mts +19 -0
- package/dist/plugins/anonymous/client.mjs +16 -0
- package/dist/plugins/anonymous/client.mjs.map +1 -0
- package/dist/plugins/anonymous/error-codes.mjs +13 -0
- package/dist/plugins/anonymous/error-codes.mjs.map +1 -0
- package/dist/plugins/anonymous/index.d.mts +77 -4
- package/dist/plugins/anonymous/index.mjs +109 -12
- package/dist/plugins/anonymous/index.mjs.map +1 -0
- package/dist/plugins/anonymous/schema.d.mts +16 -0
- package/dist/plugins/anonymous/schema.mjs +11 -0
- package/dist/plugins/anonymous/schema.mjs.map +1 -0
- package/dist/plugins/anonymous/types.d.mts +60 -0
- package/dist/plugins/api-key/adapter.mjs +311 -0
- package/dist/plugins/api-key/adapter.mjs.map +1 -0
- package/dist/plugins/api-key/client.d.mts +17 -0
- package/dist/plugins/api-key/client.mjs +16 -0
- package/dist/plugins/api-key/client.mjs.map +1 -0
- package/dist/plugins/api-key/index.d.mts +1112 -0
- package/dist/plugins/api-key/index.mjs +158 -0
- package/dist/plugins/api-key/index.mjs.map +1 -0
- package/dist/plugins/api-key/rate-limit.mjs +73 -0
- package/dist/plugins/api-key/rate-limit.mjs.map +1 -0
- package/dist/plugins/api-key/routes/create-api-key.mjs +250 -0
- package/dist/plugins/api-key/routes/create-api-key.mjs.map +1 -0
- package/dist/plugins/api-key/routes/delete-all-expired-api-keys.mjs +27 -0
- package/dist/plugins/api-key/routes/delete-all-expired-api-keys.mjs.map +1 -0
- package/dist/plugins/api-key/routes/delete-api-key.mjs +72 -0
- package/dist/plugins/api-key/routes/delete-api-key.mjs.map +1 -0
- package/dist/plugins/api-key/routes/get-api-key.mjs +155 -0
- package/dist/plugins/api-key/routes/get-api-key.mjs.map +1 -0
- package/dist/plugins/api-key/routes/index.mjs +71 -0
- package/dist/plugins/api-key/routes/index.mjs.map +1 -0
- package/dist/plugins/api-key/routes/list-api-keys.mjs +159 -0
- package/dist/plugins/api-key/routes/list-api-keys.mjs.map +1 -0
- package/dist/plugins/api-key/routes/update-api-key.mjs +245 -0
- package/dist/plugins/api-key/routes/update-api-key.mjs.map +1 -0
- package/dist/plugins/api-key/routes/verify-api-key.mjs +204 -0
- package/dist/plugins/api-key/routes/verify-api-key.mjs.map +1 -0
- package/dist/plugins/api-key/schema.d.mts +199 -0
- package/dist/plugins/api-key/schema.mjs +130 -0
- package/dist/plugins/api-key/schema.mjs.map +1 -0
- package/dist/plugins/api-key/types.d.mts +331 -0
- package/dist/plugins/bearer/index.d.mts +37 -2
- package/dist/plugins/bearer/index.mjs +64 -6
- package/dist/plugins/bearer/index.mjs.map +1 -0
- package/dist/plugins/captcha/constants.d.mts +11 -0
- package/dist/plugins/captcha/constants.mjs +22 -0
- package/dist/plugins/captcha/constants.mjs.map +1 -0
- package/dist/plugins/captcha/error-codes.mjs +16 -0
- package/dist/plugins/captcha/error-codes.mjs.map +1 -0
- package/dist/plugins/captcha/index.d.mts +13 -2
- package/dist/plugins/captcha/index.mjs +58 -3
- package/dist/plugins/captcha/index.mjs.map +1 -0
- package/dist/{index-CNMCZNM-.d.mts → plugins/captcha/types.d.mts} +3 -18
- package/dist/plugins/captcha/utils.mjs +11 -0
- package/dist/plugins/captcha/utils.mjs.map +1 -0
- package/dist/plugins/captcha/verify-handlers/captchafox.mjs +27 -0
- package/dist/plugins/captcha/verify-handlers/captchafox.mjs.map +1 -0
- package/dist/plugins/captcha/verify-handlers/cloudflare-turnstile.mjs +25 -0
- package/dist/plugins/captcha/verify-handlers/cloudflare-turnstile.mjs.map +1 -0
- package/dist/plugins/captcha/verify-handlers/google-recaptcha.mjs +29 -0
- package/dist/plugins/captcha/verify-handlers/google-recaptcha.mjs.map +1 -0
- package/dist/plugins/captcha/verify-handlers/h-captcha.mjs +27 -0
- package/dist/plugins/captcha/verify-handlers/h-captcha.mjs.map +1 -0
- package/dist/plugins/captcha/verify-handlers/index.mjs +6 -0
- package/dist/plugins/custom-session/client.d.mts +17 -0
- package/dist/plugins/custom-session/client.mjs +11 -0
- package/dist/plugins/custom-session/client.mjs.map +1 -0
- package/dist/plugins/custom-session/index.d.mts +67 -4
- package/dist/plugins/custom-session/index.mjs +68 -13
- package/dist/plugins/custom-session/index.mjs.map +1 -0
- package/dist/plugins/device-authorization/client.d.mts +17 -0
- package/dist/plugins/device-authorization/client.mjs +18 -0
- package/dist/plugins/device-authorization/client.mjs.map +1 -0
- package/dist/plugins/device-authorization/error-codes.mjs +21 -0
- package/dist/plugins/device-authorization/error-codes.mjs.map +1 -0
- package/dist/plugins/device-authorization/index.d.mts +394 -2
- package/dist/plugins/device-authorization/index.mjs +47 -10
- package/dist/plugins/device-authorization/index.mjs.map +1 -0
- package/dist/{device-authorization-B51s2iTw.mjs → plugins/device-authorization/routes.mjs} +6 -113
- package/dist/plugins/device-authorization/routes.mjs.map +1 -0
- package/dist/plugins/device-authorization/schema.mjs +57 -0
- package/dist/plugins/device-authorization/schema.mjs.map +1 -0
- package/dist/plugins/email-otp/client.d.mts +14 -0
- package/dist/plugins/email-otp/client.mjs +15 -0
- package/dist/plugins/email-otp/client.mjs.map +1 -0
- package/dist/plugins/email-otp/index.d.mts +391 -2
- package/dist/plugins/email-otp/index.mjs +105 -13
- package/dist/plugins/email-otp/index.mjs.map +1 -0
- package/dist/plugins/email-otp/otp-token.mjs +29 -0
- package/dist/plugins/email-otp/otp-token.mjs.map +1 -0
- package/dist/{email-otp-DO0Vrg6W.mjs → plugins/email-otp/routes.mjs} +14 -144
- package/dist/plugins/email-otp/routes.mjs.map +1 -0
- package/dist/plugins/email-otp/types.d.mts +74 -0
- package/dist/plugins/email-otp/utils.mjs +17 -0
- package/dist/plugins/email-otp/utils.mjs.map +1 -0
- package/dist/plugins/generic-oauth/client.d.mts +19 -0
- package/dist/plugins/generic-oauth/client.mjs +11 -0
- package/dist/plugins/generic-oauth/client.mjs.map +1 -0
- package/dist/plugins/generic-oauth/error-codes.mjs +15 -0
- package/dist/plugins/generic-oauth/error-codes.mjs.map +1 -0
- package/dist/plugins/generic-oauth/index.d.mts +194 -2
- package/dist/plugins/generic-oauth/index.mjs +133 -12
- package/dist/plugins/generic-oauth/index.mjs.map +1 -0
- package/dist/plugins/generic-oauth/providers/auth0.d.mts +37 -0
- package/dist/plugins/generic-oauth/providers/auth0.mjs +62 -0
- package/dist/plugins/generic-oauth/providers/auth0.mjs.map +1 -0
- package/dist/plugins/generic-oauth/providers/hubspot.d.mts +37 -0
- package/dist/plugins/generic-oauth/providers/hubspot.mjs +60 -0
- package/dist/plugins/generic-oauth/providers/hubspot.mjs.map +1 -0
- package/dist/plugins/generic-oauth/providers/index.d.mts +7 -0
- package/dist/plugins/generic-oauth/providers/index.mjs +9 -0
- package/dist/plugins/generic-oauth/providers/keycloak.d.mts +37 -0
- package/dist/plugins/generic-oauth/providers/keycloak.mjs +62 -0
- package/dist/plugins/generic-oauth/providers/keycloak.mjs.map +1 -0
- package/dist/plugins/generic-oauth/providers/line.d.mts +55 -0
- package/dist/plugins/generic-oauth/providers/line.mjs +91 -0
- package/dist/plugins/generic-oauth/providers/line.mjs.map +1 -0
- package/dist/plugins/generic-oauth/providers/microsoft-entra-id.d.mts +37 -0
- package/dist/plugins/generic-oauth/providers/microsoft-entra-id.mjs +66 -0
- package/dist/plugins/generic-oauth/providers/microsoft-entra-id.mjs.map +1 -0
- package/dist/plugins/generic-oauth/providers/okta.d.mts +37 -0
- package/dist/plugins/generic-oauth/providers/okta.mjs +62 -0
- package/dist/plugins/generic-oauth/providers/okta.mjs.map +1 -0
- package/dist/plugins/generic-oauth/providers/slack.d.mts +30 -0
- package/dist/plugins/generic-oauth/providers/slack.mjs +61 -0
- package/dist/plugins/generic-oauth/providers/slack.mjs.map +1 -0
- package/dist/plugins/generic-oauth/routes.mjs +394 -0
- package/dist/plugins/generic-oauth/routes.mjs.map +1 -0
- package/dist/plugins/generic-oauth/types.d.mts +145 -0
- package/dist/plugins/haveibeenpwned/index.d.mts +37 -2
- package/dist/plugins/haveibeenpwned/index.mjs +53 -12
- package/dist/plugins/haveibeenpwned/index.mjs.map +1 -0
- package/dist/plugins/index.d.mts +61 -24
- package/dist/plugins/index.mjs +44 -41
- package/dist/plugins/jwt/adapter.mjs +27 -0
- package/dist/plugins/jwt/adapter.mjs.map +1 -0
- package/dist/plugins/jwt/client.d.mts +40 -0
- package/dist/plugins/jwt/client.mjs +19 -0
- package/dist/plugins/jwt/client.mjs.map +1 -0
- package/dist/plugins/jwt/index.d.mts +227 -4
- package/dist/plugins/jwt/index.mjs +207 -12
- package/dist/plugins/jwt/index.mjs.map +1 -0
- package/dist/plugins/jwt/schema.d.mts +26 -0
- package/dist/plugins/jwt/schema.mjs +23 -0
- package/dist/plugins/jwt/schema.mjs.map +1 -0
- package/dist/plugins/jwt/sign.d.mts +9 -0
- package/dist/plugins/jwt/sign.mjs +66 -0
- package/dist/plugins/jwt/sign.mjs.map +1 -0
- package/dist/plugins/jwt/types.d.mts +194 -0
- package/dist/plugins/jwt/utils.d.mts +33 -0
- package/dist/plugins/jwt/utils.mjs +64 -0
- package/dist/plugins/jwt/utils.mjs.map +1 -0
- package/dist/plugins/jwt/verify.d.mts +13 -0
- package/dist/plugins/jwt/verify.mjs +43 -0
- package/dist/plugins/jwt/verify.mjs.map +1 -0
- package/dist/plugins/last-login-method/client.d.mts +38 -0
- package/dist/plugins/last-login-method/client.mjs +32 -0
- package/dist/plugins/last-login-method/client.mjs.map +1 -0
- package/dist/plugins/last-login-method/index.d.mts +110 -0
- package/dist/plugins/last-login-method/index.mjs +81 -0
- package/dist/plugins/last-login-method/index.mjs.map +1 -0
- package/dist/plugins/magic-link/client.d.mts +10 -0
- package/dist/plugins/magic-link/client.mjs +11 -0
- package/dist/plugins/magic-link/client.mjs.map +1 -0
- package/dist/plugins/magic-link/index.d.mts +183 -2
- package/dist/plugins/magic-link/index.mjs +172 -12
- package/dist/plugins/magic-link/index.mjs.map +1 -0
- package/dist/plugins/magic-link/utils.mjs +12 -0
- package/dist/plugins/magic-link/utils.mjs.map +1 -0
- package/dist/plugins/mcp/authorize.mjs +133 -0
- package/dist/plugins/mcp/authorize.mjs.map +1 -0
- package/dist/plugins/mcp/index.d.mts +464 -0
- package/dist/plugins/mcp/index.mjs +709 -0
- package/dist/plugins/mcp/index.mjs.map +1 -0
- package/dist/plugins/multi-session/client.d.mts +14 -0
- package/dist/plugins/multi-session/client.mjs +17 -0
- package/dist/plugins/multi-session/client.mjs.map +1 -0
- package/dist/plugins/multi-session/index.d.mts +198 -2
- package/dist/plugins/multi-session/index.mjs +149 -12
- package/dist/plugins/multi-session/index.mjs.map +1 -0
- package/dist/plugins/oauth-proxy/index.d.mts +87 -2
- package/dist/plugins/oauth-proxy/index.mjs +292 -13
- package/dist/plugins/oauth-proxy/index.mjs.map +1 -0
- package/dist/plugins/oauth-proxy/utils.mjs +37 -0
- package/dist/plugins/oauth-proxy/utils.mjs.map +1 -0
- package/dist/plugins/oidc-provider/authorize.mjs +194 -0
- package/dist/plugins/oidc-provider/authorize.mjs.map +1 -0
- package/dist/plugins/oidc-provider/client.d.mts +12 -0
- package/dist/plugins/oidc-provider/client.mjs +11 -0
- package/dist/plugins/oidc-provider/client.mjs.map +1 -0
- package/dist/plugins/oidc-provider/error.mjs +17 -0
- package/dist/plugins/oidc-provider/error.mjs.map +1 -0
- package/dist/plugins/oidc-provider/index.d.mts +711 -23
- package/dist/plugins/oidc-provider/index.mjs +1087 -13
- package/dist/plugins/oidc-provider/index.mjs.map +1 -0
- package/dist/plugins/oidc-provider/schema.d.mts +160 -0
- package/dist/plugins/oidc-provider/schema.mjs +132 -0
- package/dist/plugins/oidc-provider/schema.mjs.map +1 -0
- package/dist/plugins/oidc-provider/types.d.mts +517 -0
- package/dist/plugins/oidc-provider/utils/prompt.mjs +19 -0
- package/dist/plugins/oidc-provider/utils/prompt.mjs.map +1 -0
- package/dist/plugins/oidc-provider/utils.mjs +15 -0
- package/dist/plugins/oidc-provider/utils.mjs.map +1 -0
- package/dist/plugins/one-tap/client.d.mts +104 -0
- package/dist/plugins/one-tap/client.mjs +155 -0
- package/dist/plugins/one-tap/client.mjs.map +1 -0
- package/dist/plugins/one-tap/index.d.mts +77 -2
- package/dist/plugins/one-tap/index.mjs +109 -12
- package/dist/plugins/one-tap/index.mjs.map +1 -0
- package/dist/plugins/one-time-token/client.d.mts +10 -0
- package/dist/plugins/one-time-token/client.mjs +11 -0
- package/dist/plugins/one-time-token/client.mjs.map +1 -0
- package/dist/plugins/one-time-token/index.d.mts +115 -4
- package/dist/plugins/one-time-token/index.mjs +59 -12
- package/dist/plugins/one-time-token/index.mjs.map +1 -0
- package/dist/plugins/one-time-token/utils.mjs +12 -0
- package/dist/plugins/one-time-token/utils.mjs.map +1 -0
- package/dist/{index-DZ8eC6CZ.d.mts → plugins/open-api/generator.d.mts} +2 -90
- package/dist/plugins/open-api/generator.mjs +299 -0
- package/dist/plugins/open-api/generator.mjs.map +1 -0
- package/dist/plugins/open-api/index.d.mts +93 -2
- package/dist/plugins/open-api/index.mjs +63 -12
- package/dist/plugins/open-api/index.mjs.map +1 -0
- package/dist/{open-api-BPImNq0U.mjs → plugins/open-api/logo.mjs} +2 -356
- package/dist/plugins/open-api/logo.mjs.map +1 -0
- package/dist/plugins/organization/access/index.d.mts +1 -22
- package/dist/plugins/organization/access/index.mjs +1 -2
- package/dist/plugins/organization/access/statement.d.mts +249 -0
- package/dist/{access-BktEfzR6.mjs → plugins/organization/access/statement.mjs} +4 -2
- package/dist/plugins/organization/access/statement.mjs.map +1 -0
- package/dist/plugins/organization/adapter.mjs +614 -0
- package/dist/plugins/organization/adapter.mjs.map +1 -0
- package/dist/plugins/organization/call.mjs +19 -0
- package/dist/plugins/organization/call.mjs.map +1 -0
- package/dist/plugins/organization/client.d.mts +357 -0
- package/dist/plugins/organization/client.mjs +105 -0
- package/dist/plugins/organization/client.mjs.map +1 -0
- package/dist/plugins/organization/error-codes.d.mts +62 -0
- package/dist/plugins/organization/error-codes.mjs +65 -0
- package/dist/plugins/organization/error-codes.mjs.map +1 -0
- package/dist/plugins/organization/has-permission.mjs +35 -0
- package/dist/plugins/organization/has-permission.mjs.map +1 -0
- package/dist/plugins/organization/index.d.mts +5 -22
- package/dist/plugins/organization/index.mjs +1 -14
- package/dist/plugins/organization/organization.d.mts +387 -0
- package/dist/plugins/organization/organization.mjs +427 -0
- package/dist/plugins/organization/organization.mjs.map +1 -0
- package/dist/plugins/organization/permission.d.mts +26 -0
- package/dist/{permission-BZUPzNK6.mjs → plugins/organization/permission.mjs} +2 -1
- package/dist/plugins/organization/permission.mjs.map +1 -0
- package/dist/plugins/organization/routes/crud-access-control.d.mts +322 -0
- package/dist/plugins/organization/routes/crud-access-control.mjs +655 -0
- package/dist/plugins/organization/routes/crud-access-control.mjs.map +1 -0
- package/dist/plugins/organization/routes/crud-invites.d.mts +776 -0
- package/dist/plugins/organization/routes/crud-invites.mjs +531 -0
- package/dist/plugins/organization/routes/crud-invites.mjs.map +1 -0
- package/dist/plugins/organization/routes/crud-members.d.mts +703 -0
- package/dist/plugins/organization/routes/crud-members.mjs +486 -0
- package/dist/plugins/organization/routes/crud-members.mjs.map +1 -0
- package/dist/plugins/organization/routes/crud-org.d.mts +522 -0
- package/dist/plugins/organization/routes/crud-org.mjs +442 -0
- package/dist/plugins/organization/routes/crud-org.mjs.map +1 -0
- package/dist/plugins/organization/routes/crud-team.d.mts +805 -0
- package/dist/plugins/organization/routes/crud-team.mjs +682 -0
- package/dist/plugins/organization/routes/crud-team.mjs.map +1 -0
- package/dist/plugins/organization/schema.d.mts +373 -0
- package/dist/plugins/organization/schema.mjs +68 -0
- package/dist/plugins/organization/schema.mjs.map +1 -0
- package/dist/plugins/organization/types.d.mts +719 -0
- package/dist/plugins/phone-number/client.d.mts +15 -0
- package/dist/plugins/phone-number/client.mjs +17 -0
- package/dist/plugins/phone-number/client.mjs.map +1 -0
- package/dist/plugins/phone-number/error-codes.mjs +21 -0
- package/dist/plugins/phone-number/error-codes.mjs.map +1 -0
- package/dist/plugins/phone-number/index.d.mts +311 -4
- package/dist/plugins/phone-number/index.mjs +47 -12
- package/dist/plugins/phone-number/index.mjs.map +1 -0
- package/dist/{phone-number-Blz1Bfdf.mjs → plugins/phone-number/routes.mjs} +15 -87
- package/dist/plugins/phone-number/routes.mjs.map +1 -0
- package/dist/plugins/phone-number/schema.d.mts +23 -0
- package/dist/plugins/phone-number/schema.mjs +20 -0
- package/dist/plugins/phone-number/schema.mjs.map +1 -0
- package/dist/plugins/phone-number/types.d.mts +119 -0
- package/dist/plugins/siwe/client.d.mts +10 -0
- package/dist/plugins/siwe/client.mjs +11 -0
- package/dist/plugins/siwe/client.mjs.map +1 -0
- package/dist/plugins/siwe/index.d.mts +88 -4
- package/dist/plugins/siwe/index.mjs +201 -12
- package/dist/plugins/siwe/index.mjs.map +1 -0
- package/dist/plugins/siwe/schema.d.mts +35 -0
- package/dist/plugins/siwe/schema.mjs +32 -0
- package/dist/plugins/siwe/schema.mjs.map +1 -0
- package/dist/plugins/siwe/types.d.mts +45 -0
- package/dist/plugins/two-factor/backup-codes/index.d.mts +287 -0
- package/dist/plugins/two-factor/backup-codes/index.mjs +277 -0
- package/dist/plugins/two-factor/backup-codes/index.mjs.map +1 -0
- package/dist/plugins/two-factor/client.d.mts +38 -0
- package/dist/{client-7xkXfvW4.mjs → plugins/two-factor/client.mjs} +2 -1
- package/dist/plugins/two-factor/client.mjs.map +1 -0
- package/dist/plugins/two-factor/constant.mjs +8 -0
- package/dist/plugins/two-factor/constant.mjs.map +1 -0
- package/dist/plugins/two-factor/error-code.d.mts +15 -0
- package/dist/plugins/two-factor/error-code.mjs +18 -0
- package/dist/plugins/two-factor/error-code.mjs.map +1 -0
- package/dist/plugins/two-factor/index.d.mts +680 -4
- package/dist/plugins/two-factor/index.mjs +207 -14
- package/dist/plugins/two-factor/index.mjs.map +1 -0
- package/dist/plugins/two-factor/otp/index.d.mts +217 -0
- package/dist/plugins/two-factor/otp/index.mjs +201 -0
- package/dist/plugins/two-factor/otp/index.mjs.map +1 -0
- package/dist/plugins/two-factor/schema.d.mts +41 -0
- package/dist/plugins/two-factor/schema.mjs +36 -0
- package/dist/plugins/two-factor/schema.mjs.map +1 -0
- package/dist/plugins/two-factor/totp/index.d.mts +213 -0
- package/dist/plugins/two-factor/totp/index.mjs +152 -0
- package/dist/plugins/two-factor/totp/index.mjs.map +1 -0
- package/dist/plugins/two-factor/types.d.mts +57 -0
- package/dist/plugins/two-factor/utils.mjs +12 -0
- package/dist/plugins/two-factor/utils.mjs.map +1 -0
- package/dist/plugins/two-factor/verify-two-factor.mjs +88 -0
- package/dist/plugins/two-factor/verify-two-factor.mjs.map +1 -0
- package/dist/plugins/username/client.d.mts +14 -0
- package/dist/plugins/username/client.mjs +15 -0
- package/dist/plugins/username/client.mjs.map +1 -0
- package/dist/plugins/username/error-codes.d.mts +14 -0
- package/dist/plugins/username/error-codes.mjs +17 -0
- package/dist/plugins/username/error-codes.mjs.map +1 -0
- package/dist/plugins/username/index.d.mts +245 -3
- package/dist/plugins/username/index.mjs +255 -12
- package/dist/plugins/username/index.mjs.map +1 -0
- package/dist/plugins/username/schema.d.mts +33 -0
- package/dist/plugins/username/schema.mjs +26 -0
- package/dist/plugins/username/schema.mjs.map +1 -0
- package/dist/test-utils/headers.d.mts +9 -0
- package/dist/test-utils/headers.mjs +24 -0
- package/dist/test-utils/headers.mjs.map +1 -0
- package/dist/test-utils/index.d.mts +2 -11870
- package/dist/test-utils/index.mjs +2 -264
- package/dist/test-utils/test-instance.d.mts +11871 -0
- package/dist/test-utils/test-instance.mjs +212 -0
- package/dist/test-utils/test-instance.mjs.map +1 -0
- package/dist/types/adapter.d.mts +25 -0
- package/dist/types/api.d.mts +30 -0
- package/dist/types/auth.d.mts +30 -0
- package/dist/{helper-BBvhhJRX.d.mts → types/helper.d.mts} +2 -1
- package/dist/types/index.d.mts +9 -4
- package/dist/types/models.d.mts +18 -0
- package/dist/{plugins-DLdyc73z.d.mts → types/plugins.d.mts} +3 -2
- package/dist/utils/boolean.mjs +8 -0
- package/dist/utils/boolean.mjs.map +1 -0
- package/dist/utils/constants.mjs +6 -0
- package/dist/utils/constants.mjs.map +1 -0
- package/dist/utils/date.mjs +8 -0
- package/dist/utils/date.mjs.map +1 -0
- package/dist/utils/get-request-ip.d.mts +7 -0
- package/dist/{get-request-ip-G2Tcmzbb.mjs → utils/get-request-ip.mjs} +2 -1
- package/dist/utils/get-request-ip.mjs.map +1 -0
- package/dist/utils/hashing.mjs +21 -0
- package/dist/utils/hashing.mjs.map +1 -0
- package/dist/utils/hide-metadata.d.mts +7 -0
- package/dist/utils/hide-metadata.mjs +6 -0
- package/dist/utils/hide-metadata.mjs.map +1 -0
- package/dist/utils/index.d.mts +4 -0
- package/dist/utils/index.mjs +5 -0
- package/dist/utils/is-atom.mjs +8 -0
- package/dist/utils/is-atom.mjs.map +1 -0
- package/dist/utils/is-promise.mjs +8 -0
- package/dist/utils/is-promise.mjs.map +1 -0
- package/dist/utils/middleware-response.mjs +6 -0
- package/dist/utils/middleware-response.mjs.map +1 -0
- package/dist/{password-BRmR7rWA.mjs → utils/password.mjs} +2 -1
- package/dist/utils/password.mjs.map +1 -0
- package/dist/{plugin-helper-BneBaGtD.mjs → utils/plugin-helper.mjs} +2 -1
- package/dist/utils/plugin-helper.mjs.map +1 -0
- package/dist/utils/shim.mjs +24 -0
- package/dist/utils/shim.mjs.map +1 -0
- package/dist/utils/time.mjs +59 -0
- package/dist/utils/time.mjs.map +1 -0
- package/dist/{url-B7VXiggp.mjs → utils/url.mjs} +6 -5
- package/dist/utils/url.mjs.map +1 -0
- package/dist/utils/wildcard.mjs +108 -0
- package/dist/utils/wildcard.mjs.map +1 -0
- package/package.json +43 -5
- package/dist/anonymous-DtDX1Tt1.mjs +0 -124
- package/dist/api-Btgd2bgm.mjs +0 -3225
- package/dist/bearer-C79h5z5t.mjs +0 -63
- package/dist/captcha-av_BAGRz.mjs +0 -178
- package/dist/cookies-C9MZZaJ2.mjs +0 -523
- package/dist/crypto-DgVHxgLL.mjs +0 -164
- package/dist/custom-session-CjpmKFme.mjs +0 -67
- package/dist/esm-CyZgw_uF.mjs +0 -4090
- package/dist/generic-oauth-BNvAoIN9.mjs +0 -954
- package/dist/get-migration-CDvYpogu.mjs +0 -1190
- package/dist/haveibeenpwned-DEA7QGzT.mjs +0 -53
- package/dist/index-7_n2Onxy.d.mts +0 -9319
- package/dist/index-B3CSW56D.d.mts +0 -197
- package/dist/index-B6HepD87.d.mts +0 -1503
- package/dist/index-B9_77v0f.d.mts +0 -460
- package/dist/index-BwB7s4Pk.d.mts +0 -86
- package/dist/index-C4YXDQqI.d.mts +0 -160
- package/dist/index-C6JlLkZw.d.mts +0 -6319
- package/dist/index-CTZv2mQK.d.mts +0 -283
- package/dist/index-CU9sNB4D.d.mts +0 -444
- package/dist/index-C_t-hZXK.d.mts +0 -559
- package/dist/index-CfASVIzV.d.mts +0 -471
- package/dist/index-Cg12btK0.d.mts +0 -76
- package/dist/index-CliPP00E.d.mts +0 -110
- package/dist/index-DAWHK5U0.d.mts +0 -113
- package/dist/index-Dn7rFwsf.d.mts +0 -36
- package/dist/index-DozBmQMU.d.mts +0 -393
- package/dist/index-Dv8SEq_Z.d.mts +0 -144
- package/dist/index-Dvwu5Hj9.d.mts +0 -65
- package/dist/index-NphISEhZ.d.mts +0 -182
- package/dist/index-tiYKFe5k.d.mts +0 -36
- package/dist/jwt-gFa83_p0.mjs +0 -461
- package/dist/magic-link-zRf-3e5H.mjs +0 -175
- package/dist/multi-session-Bvamjr7i.mjs +0 -148
- package/dist/oauth-proxy-Blgslqyg.mjs +0 -322
- package/dist/oidc-provider--yoKG1Rw.mjs +0 -1429
- package/dist/one-tap-1XvovR3W.mjs +0 -114
- package/dist/one-time-token-CrBN7B6D.mjs +0 -65
- package/dist/organization-BnyWu4xx.mjs +0 -3937
- package/dist/plugins-Kx4OCNqR.mjs +0 -2662
- package/dist/promise-CL99vzc3.mjs +0 -23147
- package/dist/proxy-DNjQepc2.mjs +0 -521
- package/dist/siwe-B0GnyaM0.mjs +0 -247
- package/dist/two-factor-CMqf0Z5n.mjs +0 -929
- package/dist/username-CXCisLFK.mjs +0 -289
|
@@ -1,285 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BetterAuthError } from "@better-auth/core/error";
|
|
3
|
-
import { createAdapterFactory } from "@better-auth/core/db/adapter";
|
|
4
|
-
import { and, asc, count, desc, eq, gt, gte, inArray, like, lt, lte, ne, notInArray, or, sql } from "drizzle-orm";
|
|
1
|
+
import { drizzleAdapter } from "./drizzle-adapter.mjs";
|
|
5
2
|
|
|
6
|
-
//#region src/adapters/drizzle-adapter/drizzle-adapter.ts
|
|
7
|
-
const drizzleAdapter = (db, config) => {
|
|
8
|
-
let lazyOptions = null;
|
|
9
|
-
const createCustomAdapter = (db$1) => ({ getFieldName, options }) => {
|
|
10
|
-
function getSchema(model) {
|
|
11
|
-
const schema = config.schema || db$1._.fullSchema;
|
|
12
|
-
if (!schema) throw new BetterAuthError("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");
|
|
13
|
-
const schemaModel = schema[model];
|
|
14
|
-
if (!schemaModel) throw new BetterAuthError(`[# Drizzle Adapter]: The model "${model}" was not found in the schema object. Please pass the schema directly to the adapter options.`);
|
|
15
|
-
return schemaModel;
|
|
16
|
-
}
|
|
17
|
-
const withReturning = async (model, builder, data, where) => {
|
|
18
|
-
if (config.provider !== "mysql") return (await builder.returning())[0];
|
|
19
|
-
await builder.execute();
|
|
20
|
-
const schemaModel = getSchema(model);
|
|
21
|
-
const builderVal = builder.config?.values;
|
|
22
|
-
if (where?.length) {
|
|
23
|
-
const clause = convertWhereClause(where.map((w) => {
|
|
24
|
-
if (data[w.field] !== void 0) return {
|
|
25
|
-
...w,
|
|
26
|
-
value: data[w.field]
|
|
27
|
-
};
|
|
28
|
-
return w;
|
|
29
|
-
}), model);
|
|
30
|
-
return (await db$1.select().from(schemaModel).where(...clause))[0];
|
|
31
|
-
} else if (builderVal && builderVal[0]?.id?.value) {
|
|
32
|
-
let tId = builderVal[0]?.id?.value;
|
|
33
|
-
if (!tId) tId = (await db$1.select({ id: sql`LAST_INSERT_ID()` }).from(schemaModel).orderBy(desc(schemaModel.id)).limit(1))[0].id;
|
|
34
|
-
return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, tId)).limit(1).execute())[0];
|
|
35
|
-
} else if (data.id) return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, data.id)).limit(1).execute())[0];
|
|
36
|
-
else {
|
|
37
|
-
if (!("id" in schemaModel)) throw new BetterAuthError(`The model "${model}" does not have an "id" field. Please use the "id" field as your primary key.`);
|
|
38
|
-
return (await db$1.select().from(schemaModel).orderBy(desc(schemaModel.id)).limit(1).execute())[0];
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
function convertWhereClause(where, model) {
|
|
42
|
-
const schemaModel = getSchema(model);
|
|
43
|
-
if (!where) return [];
|
|
44
|
-
if (where.length === 1) {
|
|
45
|
-
const w = where[0];
|
|
46
|
-
if (!w) return [];
|
|
47
|
-
const field = getFieldName({
|
|
48
|
-
model,
|
|
49
|
-
field: w.field
|
|
50
|
-
});
|
|
51
|
-
if (!schemaModel[field]) throw new BetterAuthError(`The field "${w.field}" does not exist in the schema for the model "${model}". Please update your schema.`);
|
|
52
|
-
if (w.operator === "in") {
|
|
53
|
-
if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
|
|
54
|
-
return [inArray(schemaModel[field], w.value)];
|
|
55
|
-
}
|
|
56
|
-
if (w.operator === "not_in") {
|
|
57
|
-
if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
|
|
58
|
-
return [notInArray(schemaModel[field], w.value)];
|
|
59
|
-
}
|
|
60
|
-
if (w.operator === "contains") return [like(schemaModel[field], `%${w.value}%`)];
|
|
61
|
-
if (w.operator === "starts_with") return [like(schemaModel[field], `${w.value}%`)];
|
|
62
|
-
if (w.operator === "ends_with") return [like(schemaModel[field], `%${w.value}`)];
|
|
63
|
-
if (w.operator === "lt") return [lt(schemaModel[field], w.value)];
|
|
64
|
-
if (w.operator === "lte") return [lte(schemaModel[field], w.value)];
|
|
65
|
-
if (w.operator === "ne") return [ne(schemaModel[field], w.value)];
|
|
66
|
-
if (w.operator === "gt") return [gt(schemaModel[field], w.value)];
|
|
67
|
-
if (w.operator === "gte") return [gte(schemaModel[field], w.value)];
|
|
68
|
-
return [eq(schemaModel[field], w.value)];
|
|
69
|
-
}
|
|
70
|
-
const andGroup = where.filter((w) => w.connector === "AND" || !w.connector);
|
|
71
|
-
const orGroup = where.filter((w) => w.connector === "OR");
|
|
72
|
-
const andClause = and(...andGroup.map((w) => {
|
|
73
|
-
const field = getFieldName({
|
|
74
|
-
model,
|
|
75
|
-
field: w.field
|
|
76
|
-
});
|
|
77
|
-
if (w.operator === "in") {
|
|
78
|
-
if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
|
|
79
|
-
return inArray(schemaModel[field], w.value);
|
|
80
|
-
}
|
|
81
|
-
if (w.operator === "not_in") {
|
|
82
|
-
if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
|
|
83
|
-
return notInArray(schemaModel[field], w.value);
|
|
84
|
-
}
|
|
85
|
-
if (w.operator === "contains") return like(schemaModel[field], `%${w.value}%`);
|
|
86
|
-
if (w.operator === "starts_with") return like(schemaModel[field], `${w.value}%`);
|
|
87
|
-
if (w.operator === "ends_with") return like(schemaModel[field], `%${w.value}`);
|
|
88
|
-
if (w.operator === "lt") return lt(schemaModel[field], w.value);
|
|
89
|
-
if (w.operator === "lte") return lte(schemaModel[field], w.value);
|
|
90
|
-
if (w.operator === "gt") return gt(schemaModel[field], w.value);
|
|
91
|
-
if (w.operator === "gte") return gte(schemaModel[field], w.value);
|
|
92
|
-
if (w.operator === "ne") return ne(schemaModel[field], w.value);
|
|
93
|
-
return eq(schemaModel[field], w.value);
|
|
94
|
-
}));
|
|
95
|
-
const orClause = or(...orGroup.map((w) => {
|
|
96
|
-
const field = getFieldName({
|
|
97
|
-
model,
|
|
98
|
-
field: w.field
|
|
99
|
-
});
|
|
100
|
-
if (w.operator === "in") {
|
|
101
|
-
if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
|
|
102
|
-
return inArray(schemaModel[field], w.value);
|
|
103
|
-
}
|
|
104
|
-
if (w.operator === "not_in") {
|
|
105
|
-
if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
|
|
106
|
-
return notInArray(schemaModel[field], w.value);
|
|
107
|
-
}
|
|
108
|
-
if (w.operator === "contains") return like(schemaModel[field], `%${w.value}%`);
|
|
109
|
-
if (w.operator === "starts_with") return like(schemaModel[field], `${w.value}%`);
|
|
110
|
-
if (w.operator === "ends_with") return like(schemaModel[field], `%${w.value}`);
|
|
111
|
-
if (w.operator === "lt") return lt(schemaModel[field], w.value);
|
|
112
|
-
if (w.operator === "lte") return lte(schemaModel[field], w.value);
|
|
113
|
-
if (w.operator === "gt") return gt(schemaModel[field], w.value);
|
|
114
|
-
if (w.operator === "gte") return gte(schemaModel[field], w.value);
|
|
115
|
-
if (w.operator === "ne") return ne(schemaModel[field], w.value);
|
|
116
|
-
return eq(schemaModel[field], w.value);
|
|
117
|
-
}));
|
|
118
|
-
const clause = [];
|
|
119
|
-
if (andGroup.length) clause.push(andClause);
|
|
120
|
-
if (orGroup.length) clause.push(orClause);
|
|
121
|
-
return clause;
|
|
122
|
-
}
|
|
123
|
-
function checkMissingFields(schema, model, values) {
|
|
124
|
-
if (!schema) throw new BetterAuthError("Drizzle adapter failed to initialize. Drizzle Schema not found. Please provide a schema object in the adapter options object.");
|
|
125
|
-
for (const key in values) if (!schema[key]) throw new BetterAuthError(`The field "${key}" does not exist in the "${model}" Drizzle schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli@latest generate".`);
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
async create({ model, data: values }) {
|
|
129
|
-
const schemaModel = getSchema(model);
|
|
130
|
-
checkMissingFields(schemaModel, model, values);
|
|
131
|
-
return await withReturning(model, db$1.insert(schemaModel).values(values), values);
|
|
132
|
-
},
|
|
133
|
-
async findOne({ model, where, join }) {
|
|
134
|
-
const schemaModel = getSchema(model);
|
|
135
|
-
const clause = convertWhereClause(where, model);
|
|
136
|
-
if (options.experimental?.joins) if (!db$1.query || !db$1.query[model]) {
|
|
137
|
-
logger.error(`[# Drizzle Adapter]: The model "${model}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx @better-auth/cli@latest generate".`);
|
|
138
|
-
logger.info("Falling back to regular query");
|
|
139
|
-
} else {
|
|
140
|
-
let includes;
|
|
141
|
-
const pluralJoinResults = [];
|
|
142
|
-
if (join) {
|
|
143
|
-
includes = {};
|
|
144
|
-
const joinEntries = Object.entries(join);
|
|
145
|
-
for (const [model$1, joinAttr] of joinEntries) {
|
|
146
|
-
const limit = joinAttr.limit ?? options.advanced?.database?.defaultFindManyLimit ?? 100;
|
|
147
|
-
const isUnique = joinAttr.relation === "one-to-one";
|
|
148
|
-
const pluralSuffix = isUnique || config.usePlural ? "" : "s";
|
|
149
|
-
includes[`${model$1}${pluralSuffix}`] = isUnique ? true : { limit };
|
|
150
|
-
if (!isUnique) pluralJoinResults.push(`${model$1}${pluralSuffix}`);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
const res$1 = await db$1.query[model].findFirst({
|
|
154
|
-
where: clause[0],
|
|
155
|
-
with: includes
|
|
156
|
-
});
|
|
157
|
-
if (res$1) for (const pluralJoinResult of pluralJoinResults) {
|
|
158
|
-
let singularKey = !config.usePlural ? pluralJoinResult.slice(0, -1) : pluralJoinResult;
|
|
159
|
-
res$1[singularKey] = res$1[pluralJoinResult];
|
|
160
|
-
if (pluralJoinResult !== singularKey) delete res$1[pluralJoinResult];
|
|
161
|
-
}
|
|
162
|
-
return res$1;
|
|
163
|
-
}
|
|
164
|
-
const res = await db$1.select().from(schemaModel).where(...clause);
|
|
165
|
-
if (!res.length) return null;
|
|
166
|
-
return res[0];
|
|
167
|
-
},
|
|
168
|
-
async findMany({ model, where, sortBy, limit, offset, join }) {
|
|
169
|
-
const schemaModel = getSchema(model);
|
|
170
|
-
const clause = where ? convertWhereClause(where, model) : [];
|
|
171
|
-
const sortFn = sortBy?.direction === "desc" ? desc : asc;
|
|
172
|
-
if (options.experimental?.joins) if (!db$1.query[model]) {
|
|
173
|
-
logger.error(`[# Drizzle Adapter]: The model "${model}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx @better-auth/cli@latest generate".`);
|
|
174
|
-
logger.info("Falling back to regular query");
|
|
175
|
-
} else {
|
|
176
|
-
let includes;
|
|
177
|
-
const pluralJoinResults = [];
|
|
178
|
-
if (join) {
|
|
179
|
-
includes = {};
|
|
180
|
-
const joinEntries = Object.entries(join);
|
|
181
|
-
for (const [model$1, joinAttr] of joinEntries) {
|
|
182
|
-
const isUnique = joinAttr.relation === "one-to-one";
|
|
183
|
-
const limit$1 = joinAttr.limit ?? options.advanced?.database?.defaultFindManyLimit ?? 100;
|
|
184
|
-
let pluralSuffix = isUnique || config.usePlural ? "" : "s";
|
|
185
|
-
includes[`${model$1}${pluralSuffix}`] = isUnique ? true : { limit: limit$1 };
|
|
186
|
-
if (!isUnique) pluralJoinResults.push(`${model$1}${pluralSuffix}`);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
let orderBy = void 0;
|
|
190
|
-
if (sortBy?.field) orderBy = [sortFn(schemaModel[getFieldName({
|
|
191
|
-
model,
|
|
192
|
-
field: sortBy?.field
|
|
193
|
-
})])];
|
|
194
|
-
let res = await db$1.query[model].findMany({
|
|
195
|
-
where: clause[0],
|
|
196
|
-
with: includes,
|
|
197
|
-
limit: limit ?? 100,
|
|
198
|
-
offset: offset ?? 0,
|
|
199
|
-
orderBy
|
|
200
|
-
});
|
|
201
|
-
if (res) for (const item of res) for (const pluralJoinResult of pluralJoinResults) {
|
|
202
|
-
const singularKey = !config.usePlural ? pluralJoinResult.slice(0, -1) : pluralJoinResult;
|
|
203
|
-
if (singularKey === pluralJoinResult) continue;
|
|
204
|
-
item[singularKey] = item[pluralJoinResult];
|
|
205
|
-
delete item[pluralJoinResult];
|
|
206
|
-
}
|
|
207
|
-
return res;
|
|
208
|
-
}
|
|
209
|
-
let builder = db$1.select().from(schemaModel);
|
|
210
|
-
const effectiveLimit = limit;
|
|
211
|
-
const effectiveOffset = offset;
|
|
212
|
-
if (typeof effectiveLimit !== "undefined") builder = builder.limit(effectiveLimit);
|
|
213
|
-
if (typeof effectiveOffset !== "undefined") builder = builder.offset(effectiveOffset);
|
|
214
|
-
if (sortBy?.field) builder = builder.orderBy(sortFn(schemaModel[getFieldName({
|
|
215
|
-
model,
|
|
216
|
-
field: sortBy?.field
|
|
217
|
-
})]));
|
|
218
|
-
return await builder.where(...clause);
|
|
219
|
-
},
|
|
220
|
-
async count({ model, where }) {
|
|
221
|
-
const schemaModel = getSchema(model);
|
|
222
|
-
const clause = where ? convertWhereClause(where, model) : [];
|
|
223
|
-
return (await db$1.select({ count: count() }).from(schemaModel).where(...clause))[0].count;
|
|
224
|
-
},
|
|
225
|
-
async update({ model, where, update: values }) {
|
|
226
|
-
const schemaModel = getSchema(model);
|
|
227
|
-
const clause = convertWhereClause(where, model);
|
|
228
|
-
return await withReturning(model, db$1.update(schemaModel).set(values).where(...clause), values, where);
|
|
229
|
-
},
|
|
230
|
-
async updateMany({ model, where, update: values }) {
|
|
231
|
-
const schemaModel = getSchema(model);
|
|
232
|
-
const clause = convertWhereClause(where, model);
|
|
233
|
-
return await db$1.update(schemaModel).set(values).where(...clause);
|
|
234
|
-
},
|
|
235
|
-
async delete({ model, where }) {
|
|
236
|
-
const schemaModel = getSchema(model);
|
|
237
|
-
const clause = convertWhereClause(where, model);
|
|
238
|
-
return await db$1.delete(schemaModel).where(...clause);
|
|
239
|
-
},
|
|
240
|
-
async deleteMany({ model, where }) {
|
|
241
|
-
const schemaModel = getSchema(model);
|
|
242
|
-
const clause = convertWhereClause(where, model);
|
|
243
|
-
const res = await db$1.delete(schemaModel).where(...clause);
|
|
244
|
-
let count$1 = 0;
|
|
245
|
-
if (res && "rowCount" in res) count$1 = res.rowCount;
|
|
246
|
-
else if (Array.isArray(res)) count$1 = res.length;
|
|
247
|
-
else if (res && ("affectedRows" in res || "rowsAffected" in res || "changes" in res)) count$1 = res.affectedRows ?? res.rowsAffected ?? res.changes;
|
|
248
|
-
if (typeof count$1 !== "number") logger.error("[Drizzle Adapter] The result of the deleteMany operation is not a number. This is likely a bug in the adapter. Please report this issue to the Better Auth team.", {
|
|
249
|
-
res,
|
|
250
|
-
model,
|
|
251
|
-
where
|
|
252
|
-
});
|
|
253
|
-
return count$1;
|
|
254
|
-
},
|
|
255
|
-
options: config
|
|
256
|
-
};
|
|
257
|
-
};
|
|
258
|
-
let adapterOptions = null;
|
|
259
|
-
adapterOptions = {
|
|
260
|
-
config: {
|
|
261
|
-
adapterId: "drizzle",
|
|
262
|
-
adapterName: "Drizzle Adapter",
|
|
263
|
-
usePlural: config.usePlural ?? false,
|
|
264
|
-
debugLogs: config.debugLogs ?? false,
|
|
265
|
-
supportsUUIDs: config.provider === "pg" ? true : false,
|
|
266
|
-
supportsJSON: config.provider === "pg" ? true : false,
|
|
267
|
-
supportsArrays: config.provider === "pg" ? true : false,
|
|
268
|
-
transaction: config.transaction ?? false ? (cb) => db.transaction((tx) => {
|
|
269
|
-
return cb(createAdapterFactory({
|
|
270
|
-
config: adapterOptions.config,
|
|
271
|
-
adapter: createCustomAdapter(tx)
|
|
272
|
-
})(lazyOptions));
|
|
273
|
-
}) : false
|
|
274
|
-
},
|
|
275
|
-
adapter: createCustomAdapter(db)
|
|
276
|
-
};
|
|
277
|
-
const adapter = createAdapterFactory(adapterOptions);
|
|
278
|
-
return (options) => {
|
|
279
|
-
lazyOptions = options;
|
|
280
|
-
return adapter(options);
|
|
281
|
-
};
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
//#endregion
|
|
285
3
|
export { drizzleAdapter };
|
|
@@ -23,4 +23,5 @@ type AdapterConfig = AdapterFactoryConfig;
|
|
|
23
23
|
*/
|
|
24
24
|
type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;
|
|
25
25
|
//#endregion
|
|
26
|
-
export { AdapterConfig, type AdapterFactory, type AdapterFactoryConfig, type AdapterFactoryCustomizeAdapterCreator, type AdapterFactoryOptions, type AdapterTestDebugLogs, CreateAdapterOptions, CreateCustomAdapter, type CustomAdapter, createAdapter, createAdapterFactory, initGetDefaultFieldName, initGetDefaultModelName, initGetFieldAttributes, initGetFieldName, initGetIdField, initGetModelName };
|
|
26
|
+
export { AdapterConfig, type AdapterFactory, type AdapterFactoryConfig, type AdapterFactoryCustomizeAdapterCreator, type AdapterFactoryOptions, type AdapterTestDebugLogs, CreateAdapterOptions, CreateCustomAdapter, type CustomAdapter, createAdapter, createAdapterFactory, initGetDefaultFieldName, initGetDefaultModelName, initGetFieldAttributes, initGetFieldName, initGetIdField, initGetModelName };
|
|
27
|
+
//# sourceMappingURL=index.d.mts.map
|
package/dist/adapters/index.mjs
CHANGED
|
@@ -9,4 +9,5 @@ export * from "@better-auth/core/db/adapter"
|
|
|
9
9
|
const createAdapter = createAdapterFactory;
|
|
10
10
|
|
|
11
11
|
//#endregion
|
|
12
|
-
export { createAdapter, createAdapterFactory, initGetDefaultFieldName, initGetDefaultModelName, initGetFieldAttributes, initGetFieldName, initGetIdField, initGetModelName };
|
|
12
|
+
export { createAdapter, createAdapterFactory, initGetDefaultFieldName, initGetDefaultModelName, initGetFieldAttributes, initGetFieldName, initGetIdField, initGetModelName };
|
|
13
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/adapters/index.ts"],"sourcesContent":["import type {\n\tAdapterFactory,\n\tAdapterFactoryConfig,\n\tAdapterFactoryCustomizeAdapterCreator,\n\tAdapterFactoryOptions,\n\tAdapterTestDebugLogs,\n\tCustomAdapter,\n} from \"@better-auth/core/db/adapter\";\nimport {\n\tcreateAdapterFactory,\n\tinitGetDefaultFieldName,\n\tinitGetDefaultModelName,\n\tinitGetFieldAttributes,\n\tinitGetFieldName,\n\tinitGetIdField,\n\tinitGetModelName,\n} from \"@better-auth/core/db/adapter\";\n\nexport * from \"@better-auth/core/db/adapter\";\n\nexport type {\n\tAdapterFactoryOptions,\n\tAdapterFactory,\n\tAdapterTestDebugLogs,\n\tAdapterFactoryConfig,\n\tCustomAdapter,\n\tAdapterFactoryCustomizeAdapterCreator,\n};\nexport {\n\tcreateAdapterFactory,\n\tinitGetDefaultFieldName,\n\tinitGetDefaultModelName,\n\tinitGetFieldName,\n\tinitGetModelName,\n\tinitGetFieldAttributes,\n\tinitGetIdField,\n};\n\n/**\n * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.\n */\nexport const createAdapter = createAdapterFactory;\n\n/**\n * @deprecated Use `AdapterFactoryOptions` instead. This export will be removed in the next major version.\n */\nexport type CreateAdapterOptions = AdapterFactoryOptions;\n\n/**\n * @deprecated Use `AdapterFactoryConfig` instead. This export will be removed in the next major version.\n */\nexport type AdapterConfig = AdapterFactoryConfig;\n\n/**\n * @deprecated Use `AdapterFactoryCustomizeAdapterCreator` instead. This export will be removed in the next major version.\n */\nexport type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;\n"],"mappings":";;;;;;;;AAyCA,MAAa,gBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun-sqlite-dialect.mjs","names":["#config","#connectionMutex","#db","#connection","sql","#promise","#resolve","#getTableMetadata"],"sources":["../../../src/adapters/kysely-adapter/bun-sqlite-dialect.ts"],"sourcesContent":["/**\n * @see {@link https://github.com/dylanblokhuis/kysely-bun-sqlite} - Fork of the original kysely-bun-sqlite package by @dylanblokhuis\n */\n\nimport type { Database } from \"bun:sqlite\";\nimport type {\n\tDatabaseConnection,\n\tDatabaseIntrospector,\n\tDatabaseMetadata,\n\tDatabaseMetadataOptions,\n\tDialect,\n\tDialectAdapter,\n\tDialectAdapterBase,\n\tDriver,\n\tKysely,\n\tQueryCompiler,\n\tQueryResult,\n\tSchemaMetadata,\n\tTableMetadata,\n} from \"kysely\";\nimport {\n\tCompiledQuery,\n\tDEFAULT_MIGRATION_LOCK_TABLE,\n\tDEFAULT_MIGRATION_TABLE,\n\tDefaultQueryCompiler,\n\tsql,\n} from \"kysely\";\n\nclass BunSqliteAdapter implements DialectAdapterBase {\n\tget supportsCreateIfNotExists(): boolean {\n\t\treturn true;\n\t}\n\n\tget supportsTransactionalDdl(): boolean {\n\t\treturn false;\n\t}\n\n\tget supportsReturning(): boolean {\n\t\treturn true;\n\t}\n\n\tasync acquireMigrationLock(): Promise<void> {\n\t\t// SQLite only has one connection that's reserved by the migration system\n\t\t// for the whole time between acquireMigrationLock and releaseMigrationLock.\n\t\t// We don't need to do anything here.\n\t}\n\n\tasync releaseMigrationLock(): Promise<void> {\n\t\t// SQLite only has one connection that's reserved by the migration system\n\t\t// for the whole time between acquireMigrationLock and releaseMigrationLock.\n\t\t// We don't need to do anything here.\n\t}\n\tget supportsOutput(): boolean {\n\t\treturn true;\n\t}\n}\n\n/**\n * Config for the SQLite dialect.\n */\nexport interface BunSqliteDialectConfig {\n\t/**\n\t * An sqlite Database instance or a function that returns one.\n\t */\n\tdatabase: Database;\n\n\t/**\n\t * Called once when the first query is executed.\n\t */\n\tonCreateConnection?:\n\t\t| ((connection: DatabaseConnection) => Promise<void>)\n\t\t| undefined;\n}\n\nclass BunSqliteDriver implements Driver {\n\treadonly #config: BunSqliteDialectConfig;\n\treadonly #connectionMutex = new ConnectionMutex();\n\n\t#db?: Database;\n\t#connection?: DatabaseConnection;\n\n\tconstructor(config: BunSqliteDialectConfig) {\n\t\tthis.#config = { ...config };\n\t}\n\n\tasync init(): Promise<void> {\n\t\tthis.#db = this.#config.database;\n\n\t\tthis.#connection = new BunSqliteConnection(this.#db);\n\n\t\tif (this.#config.onCreateConnection) {\n\t\t\tawait this.#config.onCreateConnection(this.#connection);\n\t\t}\n\t}\n\n\tasync acquireConnection(): Promise<DatabaseConnection> {\n\t\t// SQLite only has one single connection. We use a mutex here to wait\n\t\t// until the single connection has been released.\n\t\tawait this.#connectionMutex.lock();\n\t\treturn this.#connection!;\n\t}\n\n\tasync beginTransaction(connection: DatabaseConnection): Promise<void> {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"begin\"));\n\t}\n\n\tasync commitTransaction(connection: DatabaseConnection): Promise<void> {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"commit\"));\n\t}\n\n\tasync rollbackTransaction(connection: DatabaseConnection): Promise<void> {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"rollback\"));\n\t}\n\n\tasync releaseConnection(): Promise<void> {\n\t\tthis.#connectionMutex.unlock();\n\t}\n\n\tasync destroy(): Promise<void> {\n\t\tthis.#db?.close();\n\t}\n}\n\nclass BunSqliteConnection implements DatabaseConnection {\n\treadonly #db: Database;\n\n\tconstructor(db: Database) {\n\t\tthis.#db = db;\n\t}\n\n\texecuteQuery<O>(compiledQuery: CompiledQuery): Promise<QueryResult<O>> {\n\t\tconst { sql, parameters } = compiledQuery;\n\t\tconst stmt = this.#db.prepare(sql);\n\n\t\treturn Promise.resolve({\n\t\t\trows: stmt.all(parameters as any) as O[],\n\t\t});\n\t}\n\n\tasync *streamQuery() {\n\t\tthrow new Error(\"Streaming query is not supported by SQLite driver.\");\n\t}\n}\n\nclass ConnectionMutex {\n\t#promise?: Promise<void>;\n\t#resolve?: () => void;\n\n\tasync lock(): Promise<void> {\n\t\twhile (this.#promise) {\n\t\t\tawait this.#promise;\n\t\t}\n\n\t\tthis.#promise = new Promise((resolve) => {\n\t\t\tthis.#resolve = resolve;\n\t\t});\n\t}\n\n\tunlock(): void {\n\t\tconst resolve = this.#resolve;\n\n\t\tthis.#promise = undefined;\n\t\tthis.#resolve = undefined;\n\n\t\tresolve?.();\n\t}\n}\n\nclass BunSqliteIntrospector implements DatabaseIntrospector {\n\treadonly #db: Kysely<unknown>;\n\n\tconstructor(db: Kysely<unknown>) {\n\t\tthis.#db = db;\n\t}\n\n\tasync getSchemas(): Promise<SchemaMetadata[]> {\n\t\t// Sqlite doesn't support schemas.\n\t\treturn [];\n\t}\n\n\tasync getTables(\n\t\toptions: DatabaseMetadataOptions = { withInternalKyselyTables: false },\n\t): Promise<TableMetadata[]> {\n\t\tlet query = this.#db\n\t\t\t// @ts-expect-error\n\t\t\t.selectFrom(\"sqlite_schema\")\n\t\t\t// @ts-expect-error\n\t\t\t.where(\"type\", \"=\", \"table\")\n\t\t\t// @ts-expect-error\n\t\t\t.where(\"name\", \"not like\", \"sqlite_%\")\n\t\t\t.select(\"name\")\n\t\t\t.$castTo<{ name: string }>();\n\n\t\tif (!options.withInternalKyselyTables) {\n\t\t\tquery = query\n\t\t\t\t// @ts-expect-error\n\t\t\t\t.where(\"name\", \"!=\", DEFAULT_MIGRATION_TABLE)\n\t\t\t\t// @ts-expect-error\n\t\t\t\t.where(\"name\", \"!=\", DEFAULT_MIGRATION_LOCK_TABLE);\n\t\t}\n\n\t\tconst tables = await query.execute();\n\t\treturn Promise.all(tables.map(({ name }) => this.#getTableMetadata(name)));\n\t}\n\n\tasync getMetadata(\n\t\toptions?: DatabaseMetadataOptions | undefined,\n\t): Promise<DatabaseMetadata> {\n\t\treturn {\n\t\t\ttables: await this.getTables(options),\n\t\t};\n\t}\n\n\tasync #getTableMetadata(table: string): Promise<TableMetadata> {\n\t\tconst db = this.#db;\n\n\t\t// Get the SQL that was used to create the table.\n\t\tconst createSql = await db\n\t\t\t// @ts-expect-error\n\t\t\t.selectFrom(\"sqlite_master\")\n\t\t\t// @ts-expect-error\n\t\t\t.where(\"name\", \"=\", table)\n\t\t\t.select(\"sql\")\n\t\t\t.$castTo<{ sql: string | undefined }>()\n\t\t\t.execute();\n\n\t\t// Try to find the name of the column that has `autoincrement` 🤦\n\t\tconst autoIncrementCol = createSql[0]?.sql\n\t\t\t?.split(/[\\(\\),]/)\n\t\t\t?.find((it) => it.toLowerCase().includes(\"autoincrement\"))\n\t\t\t?.split(/\\s+/)?.[0]\n\t\t\t?.replace(/[\"`]/g, \"\");\n\n\t\tconst columns = await db\n\t\t\t.selectFrom(\n\t\t\t\tsql<{\n\t\t\t\t\tname: string;\n\t\t\t\t\ttype: string;\n\t\t\t\t\tnotnull: 0 | 1;\n\t\t\t\t\tdflt_value: any;\n\t\t\t\t}>`pragma_table_info(${table})`.as(\"table_info\"),\n\t\t\t)\n\t\t\t.select([\"name\", \"type\", \"notnull\", \"dflt_value\"])\n\t\t\t.execute();\n\n\t\treturn {\n\t\t\tname: table,\n\t\t\tcolumns: columns.map((col) => ({\n\t\t\t\tname: col.name,\n\t\t\t\tdataType: col.type,\n\t\t\t\tisNullable: !col.notnull,\n\t\t\t\tisAutoIncrementing: col.name === autoIncrementCol,\n\t\t\t\thasDefaultValue: col.dflt_value != null,\n\t\t\t})),\n\t\t\tisView: true,\n\t\t};\n\t}\n}\n\nclass BunSqliteQueryCompiler extends DefaultQueryCompiler {\n\tprotected override getCurrentParameterPlaceholder() {\n\t\treturn \"?\";\n\t}\n\n\tprotected override getLeftIdentifierWrapper(): string {\n\t\treturn '\"';\n\t}\n\n\tprotected override getRightIdentifierWrapper(): string {\n\t\treturn '\"';\n\t}\n\n\tprotected override getAutoIncrement() {\n\t\treturn \"autoincrement\";\n\t}\n}\n\nexport class BunSqliteDialect implements Dialect {\n\treadonly #config: BunSqliteDialectConfig;\n\n\tconstructor(config: BunSqliteDialectConfig) {\n\t\tthis.#config = { ...config };\n\t}\n\n\tcreateDriver(): Driver {\n\t\treturn new BunSqliteDriver(this.#config);\n\t}\n\n\tcreateQueryCompiler(): QueryCompiler {\n\t\treturn new BunSqliteQueryCompiler();\n\t}\n\n\tcreateAdapter(): DialectAdapter {\n\t\treturn new BunSqliteAdapter();\n\t}\n\n\tcreateIntrospector(db: Kysely<any>): DatabaseIntrospector {\n\t\treturn new BunSqliteIntrospector(db);\n\t}\n}\n"],"mappings":";;;AA4BA,IAAM,mBAAN,MAAqD;CACpD,IAAI,4BAAqC;AACxC,SAAO;;CAGR,IAAI,2BAAoC;AACvC,SAAO;;CAGR,IAAI,oBAA6B;AAChC,SAAO;;CAGR,MAAM,uBAAsC;CAM5C,MAAM,uBAAsC;CAK5C,IAAI,iBAA0B;AAC7B,SAAO;;;AAqBT,IAAM,kBAAN,MAAwC;CACvC,CAASA;CACT,CAASC,kBAAmB,IAAI,iBAAiB;CAEjD;CACA;CAEA,YAAY,QAAgC;AAC3C,QAAKD,SAAU,EAAE,GAAG,QAAQ;;CAG7B,MAAM,OAAsB;AAC3B,QAAKE,KAAM,MAAKF,OAAQ;AAExB,QAAKG,aAAc,IAAI,oBAAoB,MAAKD,GAAI;AAEpD,MAAI,MAAKF,OAAQ,mBAChB,OAAM,MAAKA,OAAQ,mBAAmB,MAAKG,WAAY;;CAIzD,MAAM,oBAAiD;AAGtD,QAAM,MAAKF,gBAAiB,MAAM;AAClC,SAAO,MAAKE;;CAGb,MAAM,iBAAiB,YAA+C;AACrE,QAAM,WAAW,aAAa,cAAc,IAAI,QAAQ,CAAC;;CAG1D,MAAM,kBAAkB,YAA+C;AACtE,QAAM,WAAW,aAAa,cAAc,IAAI,SAAS,CAAC;;CAG3D,MAAM,oBAAoB,YAA+C;AACxE,QAAM,WAAW,aAAa,cAAc,IAAI,WAAW,CAAC;;CAG7D,MAAM,oBAAmC;AACxC,QAAKF,gBAAiB,QAAQ;;CAG/B,MAAM,UAAyB;AAC9B,QAAKC,IAAK,OAAO;;;AAInB,IAAM,sBAAN,MAAwD;CACvD,CAASA;CAET,YAAY,IAAc;AACzB,QAAKA,KAAM;;CAGZ,aAAgB,eAAuD;EACtE,MAAM,EAAE,YAAK,eAAe;EAC5B,MAAM,OAAO,MAAKA,GAAI,QAAQE,MAAI;AAElC,SAAO,QAAQ,QAAQ,EACtB,MAAM,KAAK,IAAI,WAAkB,EACjC,CAAC;;CAGH,OAAO,cAAc;AACpB,QAAM,IAAI,MAAM,qDAAqD;;;AAIvE,IAAM,kBAAN,MAAsB;CACrB;CACA;CAEA,MAAM,OAAsB;AAC3B,SAAO,MAAKC,QACX,OAAM,MAAKA;AAGZ,QAAKA,UAAW,IAAI,SAAS,YAAY;AACxC,SAAKC,UAAW;IACf;;CAGH,SAAe;EACd,MAAM,UAAU,MAAKA;AAErB,QAAKD,UAAW;AAChB,QAAKC,UAAW;AAEhB,aAAW;;;AAIb,IAAM,wBAAN,MAA4D;CAC3D,CAASJ;CAET,YAAY,IAAqB;AAChC,QAAKA,KAAM;;CAGZ,MAAM,aAAwC;AAE7C,SAAO,EAAE;;CAGV,MAAM,UACL,UAAmC,EAAE,0BAA0B,OAAO,EAC3C;EAC3B,IAAI,QAAQ,MAAKA,GAEf,WAAW,gBAAgB,CAE3B,MAAM,QAAQ,KAAK,QAAQ,CAE3B,MAAM,QAAQ,YAAY,WAAW,CACrC,OAAO,OAAO,CACd,SAA2B;AAE7B,MAAI,CAAC,QAAQ,yBACZ,SAAQ,MAEN,MAAM,QAAQ,MAAM,wBAAwB,CAE5C,MAAM,QAAQ,MAAM,6BAA6B;EAGpD,MAAM,SAAS,MAAM,MAAM,SAAS;AACpC,SAAO,QAAQ,IAAI,OAAO,KAAK,EAAE,WAAW,MAAKK,iBAAkB,KAAK,CAAC,CAAC;;CAG3E,MAAM,YACL,SAC4B;AAC5B,SAAO,EACN,QAAQ,MAAM,KAAK,UAAU,QAAQ,EACrC;;CAGF,OAAMA,iBAAkB,OAAuC;EAC9D,MAAM,KAAK,MAAKL;EAahB,MAAM,oBAVY,MAAM,GAEtB,WAAW,gBAAgB,CAE3B,MAAM,QAAQ,KAAK,MAAM,CACzB,OAAO,MAAM,CACb,SAAsC,CACtC,SAAS,EAGwB,IAAI,KACpC,MAAM,UAAU,EAChB,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,gBAAgB,CAAC,EACxD,MAAM,MAAM,GAAG,IACf,QAAQ,SAAS,GAAG;AAcvB,SAAO;GACN,MAAM;GACN,UAde,MAAM,GACpB,WACA,GAKE,qBAAqB,MAAM,GAAG,GAAG,aAAa,CAChD,CACA,OAAO;IAAC;IAAQ;IAAQ;IAAW;IAAa,CAAC,CACjD,SAAS,EAIO,KAAK,SAAS;IAC9B,MAAM,IAAI;IACV,UAAU,IAAI;IACd,YAAY,CAAC,IAAI;IACjB,oBAAoB,IAAI,SAAS;IACjC,iBAAiB,IAAI,cAAc;IACnC,EAAE;GACH,QAAQ;GACR;;;AAIH,IAAM,yBAAN,cAAqC,qBAAqB;CACzD,AAAmB,iCAAiC;AACnD,SAAO;;CAGR,AAAmB,2BAAmC;AACrD,SAAO;;CAGR,AAAmB,4BAAoC;AACtD,SAAO;;CAGR,AAAmB,mBAAmB;AACrC,SAAO;;;AAIT,IAAa,mBAAb,MAAiD;CAChD,CAASF;CAET,YAAY,QAAgC;AAC3C,QAAKA,SAAU,EAAE,GAAG,QAAQ;;CAG7B,eAAuB;AACtB,SAAO,IAAI,gBAAgB,MAAKA,OAAQ;;CAGzC,sBAAqC;AACpC,SAAO,IAAI,wBAAwB;;CAGpC,gBAAgC;AAC/B,SAAO,IAAI,kBAAkB;;CAG9B,mBAAmB,IAAuC;AACzD,SAAO,IAAI,sBAAsB,GAAG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { KyselyDatabaseType } from "./types.mjs";
|
|
2
|
+
import { BetterAuthOptions } from "@better-auth/core";
|
|
3
|
+
import { Kysely } from "kysely";
|
|
4
|
+
|
|
5
|
+
//#region src/adapters/kysely-adapter/dialect.d.ts
|
|
6
|
+
declare function getKyselyDatabaseType(db: BetterAuthOptions["database"]): KyselyDatabaseType | null;
|
|
7
|
+
declare const createKyselyAdapter: (config: BetterAuthOptions) => Promise<{
|
|
8
|
+
kysely: Kysely<any>;
|
|
9
|
+
databaseType: "postgres" | "mysql" | "sqlite" | "mssql";
|
|
10
|
+
transaction: boolean | undefined;
|
|
11
|
+
} | {
|
|
12
|
+
kysely: Kysely<any> | null;
|
|
13
|
+
databaseType: KyselyDatabaseType | null;
|
|
14
|
+
transaction: undefined;
|
|
15
|
+
}>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { createKyselyAdapter, getKyselyDatabaseType };
|
|
18
|
+
//# sourceMappingURL=dialect.d.mts.map
|
|
@@ -41,7 +41,7 @@ const createKyselyAdapter = async (config) => {
|
|
|
41
41
|
if ("getConnection" in db) dialect = new MysqlDialect(db);
|
|
42
42
|
if ("connect" in db) dialect = new PostgresDialect({ pool: db });
|
|
43
43
|
if ("fileControl" in db) {
|
|
44
|
-
const { BunSqliteDialect } = await import("./bun-sqlite-dialect
|
|
44
|
+
const { BunSqliteDialect } = await import("./bun-sqlite-dialect.mjs");
|
|
45
45
|
dialect = new BunSqliteDialect({ database: db });
|
|
46
46
|
}
|
|
47
47
|
if ("createSession" in db && typeof window === "undefined") {
|
|
@@ -57,7 +57,7 @@ const createKyselyAdapter = async (config) => {
|
|
|
57
57
|
if (error !== null && typeof error === "object" && "code" in error && error.code !== "ERR_UNKNOWN_BUILTIN_MODULE") throw error;
|
|
58
58
|
}
|
|
59
59
|
if (DatabaseSync && db instanceof DatabaseSync) {
|
|
60
|
-
const { NodeSqliteDialect } = await import("./node-sqlite-dialect
|
|
60
|
+
const { NodeSqliteDialect } = await import("./node-sqlite-dialect.mjs");
|
|
61
61
|
dialect = new NodeSqliteDialect({ database: db });
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -69,4 +69,5 @@ const createKyselyAdapter = async (config) => {
|
|
|
69
69
|
};
|
|
70
70
|
|
|
71
71
|
//#endregion
|
|
72
|
-
export {
|
|
72
|
+
export { createKyselyAdapter, getKyselyDatabaseType };
|
|
73
|
+
//# sourceMappingURL=dialect.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialect.mjs","names":["dialect: Dialect | undefined","DatabaseSync: typeof import(\"node:sqlite\").DatabaseSync | undefined","nodeSqlite: string","error: unknown"],"sources":["../../../src/adapters/kysely-adapter/dialect.ts"],"sourcesContent":["import type { BetterAuthOptions } from \"@better-auth/core\";\nimport type { Dialect } from \"kysely\";\nimport {\n\tKysely,\n\tMssqlDialect,\n\tMysqlDialect,\n\tPostgresDialect,\n\tSqliteDialect,\n} from \"kysely\";\nimport type { KyselyDatabaseType } from \"./types\";\n\nexport function getKyselyDatabaseType(\n\tdb: BetterAuthOptions[\"database\"],\n): KyselyDatabaseType | null {\n\tif (!db) {\n\t\treturn null;\n\t}\n\tif (\"dialect\" in db) {\n\t\treturn getKyselyDatabaseType(db.dialect as Dialect);\n\t}\n\tif (\"createDriver\" in db) {\n\t\tif (db instanceof SqliteDialect) {\n\t\t\treturn \"sqlite\";\n\t\t}\n\t\tif (db instanceof MysqlDialect) {\n\t\t\treturn \"mysql\";\n\t\t}\n\t\tif (db instanceof PostgresDialect) {\n\t\t\treturn \"postgres\";\n\t\t}\n\t\tif (db instanceof MssqlDialect) {\n\t\t\treturn \"mssql\";\n\t\t}\n\t}\n\tif (\"aggregate\" in db) {\n\t\treturn \"sqlite\";\n\t}\n\n\tif (\"getConnection\" in db) {\n\t\treturn \"mysql\";\n\t}\n\tif (\"connect\" in db) {\n\t\treturn \"postgres\";\n\t}\n\tif (\"fileControl\" in db) {\n\t\treturn \"sqlite\";\n\t}\n\tif (\"open\" in db && \"close\" in db && \"prepare\" in db) {\n\t\treturn \"sqlite\";\n\t}\n\treturn null;\n}\n\nexport const createKyselyAdapter = async (config: BetterAuthOptions) => {\n\tconst db = config.database;\n\n\tif (!db) {\n\t\treturn {\n\t\t\tkysely: null,\n\t\t\tdatabaseType: null,\n\t\t\ttransaction: undefined,\n\t\t};\n\t}\n\n\tif (\"db\" in db) {\n\t\treturn {\n\t\t\tkysely: db.db,\n\t\t\tdatabaseType: db.type,\n\t\t\ttransaction: db.transaction,\n\t\t};\n\t}\n\n\tif (\"dialect\" in db) {\n\t\treturn {\n\t\t\tkysely: new Kysely<any>({ dialect: db.dialect }),\n\t\t\tdatabaseType: db.type,\n\t\t\ttransaction: db.transaction,\n\t\t};\n\t}\n\n\tlet dialect: Dialect | undefined = undefined;\n\n\tconst databaseType = getKyselyDatabaseType(db);\n\n\tif (\"createDriver\" in db) {\n\t\tdialect = db;\n\t}\n\n\tif (\"aggregate\" in db && !(\"createSession\" in db)) {\n\t\tdialect = new SqliteDialect({\n\t\t\tdatabase: db,\n\t\t});\n\t}\n\n\tif (\"getConnection\" in db) {\n\t\t// @ts-expect-error - mysql2/promise\n\t\tdialect = new MysqlDialect(db);\n\t}\n\n\tif (\"connect\" in db) {\n\t\tdialect = new PostgresDialect({\n\t\t\tpool: db,\n\t\t});\n\t}\n\n\tif (\"fileControl\" in db) {\n\t\tconst { BunSqliteDialect } = await import(\"./bun-sqlite-dialect\");\n\t\tdialect = new BunSqliteDialect({\n\t\t\tdatabase: db,\n\t\t});\n\t}\n\n\tif (\"createSession\" in db && typeof window === \"undefined\") {\n\t\tlet DatabaseSync: typeof import(\"node:sqlite\").DatabaseSync | undefined =\n\t\t\tundefined;\n\t\ttry {\n\t\t\tlet nodeSqlite: string = \"node:sqlite\";\n\t\t\t// Ignore both Vite and Webpack for dynamic import as they both try to pre-bundle 'node:sqlite' which might fail\n\t\t\t// It's okay because we are in a try-catch block\n\t\t\t({ DatabaseSync } = await import(\n\t\t\t\t/* @vite-ignore */\n\t\t\t\t/* webpackIgnore: true */\n\t\t\t\tnodeSqlite\n\t\t\t));\n\t\t} catch (error: unknown) {\n\t\t\tif (\n\t\t\t\terror !== null &&\n\t\t\t\ttypeof error === \"object\" &&\n\t\t\t\t\"code\" in error &&\n\t\t\t\terror.code !== \"ERR_UNKNOWN_BUILTIN_MODULE\"\n\t\t\t) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t\tif (DatabaseSync && db instanceof DatabaseSync) {\n\t\t\tconst { NodeSqliteDialect } = await import(\"./node-sqlite-dialect\");\n\t\t\tdialect = new NodeSqliteDialect({\n\t\t\t\tdatabase: db,\n\t\t\t});\n\t\t}\n\t}\n\n\treturn {\n\t\tkysely: dialect ? new Kysely<any>({ dialect }) : null,\n\t\tdatabaseType,\n\t\ttransaction: undefined,\n\t};\n};\n"],"mappings":";;;AAWA,SAAgB,sBACf,IAC4B;AAC5B,KAAI,CAAC,GACJ,QAAO;AAER,KAAI,aAAa,GAChB,QAAO,sBAAsB,GAAG,QAAmB;AAEpD,KAAI,kBAAkB,IAAI;AACzB,MAAI,cAAc,cACjB,QAAO;AAER,MAAI,cAAc,aACjB,QAAO;AAER,MAAI,cAAc,gBACjB,QAAO;AAER,MAAI,cAAc,aACjB,QAAO;;AAGT,KAAI,eAAe,GAClB,QAAO;AAGR,KAAI,mBAAmB,GACtB,QAAO;AAER,KAAI,aAAa,GAChB,QAAO;AAER,KAAI,iBAAiB,GACpB,QAAO;AAER,KAAI,UAAU,MAAM,WAAW,MAAM,aAAa,GACjD,QAAO;AAER,QAAO;;AAGR,MAAa,sBAAsB,OAAO,WAA8B;CACvE,MAAM,KAAK,OAAO;AAElB,KAAI,CAAC,GACJ,QAAO;EACN,QAAQ;EACR,cAAc;EACd,aAAa;EACb;AAGF,KAAI,QAAQ,GACX,QAAO;EACN,QAAQ,GAAG;EACX,cAAc,GAAG;EACjB,aAAa,GAAG;EAChB;AAGF,KAAI,aAAa,GAChB,QAAO;EACN,QAAQ,IAAI,OAAY,EAAE,SAAS,GAAG,SAAS,CAAC;EAChD,cAAc,GAAG;EACjB,aAAa,GAAG;EAChB;CAGF,IAAIA,UAA+B;CAEnC,MAAM,eAAe,sBAAsB,GAAG;AAE9C,KAAI,kBAAkB,GACrB,WAAU;AAGX,KAAI,eAAe,MAAM,EAAE,mBAAmB,IAC7C,WAAU,IAAI,cAAc,EAC3B,UAAU,IACV,CAAC;AAGH,KAAI,mBAAmB,GAEtB,WAAU,IAAI,aAAa,GAAG;AAG/B,KAAI,aAAa,GAChB,WAAU,IAAI,gBAAgB,EAC7B,MAAM,IACN,CAAC;AAGH,KAAI,iBAAiB,IAAI;EACxB,MAAM,EAAE,qBAAqB,MAAM,OAAO;AAC1C,YAAU,IAAI,iBAAiB,EAC9B,UAAU,IACV,CAAC;;AAGH,KAAI,mBAAmB,MAAM,OAAO,WAAW,aAAa;EAC3D,IAAIC,eACH;AACD,MAAI;GACH,IAAIC,aAAqB;AAGzB,IAAC,CAAE,gBAAiB,MAAM;;;IAGzB;;WAEOC,OAAgB;AACxB,OACC,UAAU,QACV,OAAO,UAAU,YACjB,UAAU,SACV,MAAM,SAAS,6BAEf,OAAM;;AAGR,MAAI,gBAAgB,cAAc,cAAc;GAC/C,MAAM,EAAE,sBAAsB,MAAM,OAAO;AAC3C,aAAU,IAAI,kBAAkB,EAC/B,UAAU,IACV,CAAC;;;AAIJ,QAAO;EACN,QAAQ,UAAU,IAAI,OAAY,EAAE,SAAS,CAAC,GAAG;EACjD;EACA,aAAa;EACb"}
|
|
@@ -1,47 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { DBAdapter, DBAdapterDebugLogOption } from "@better-auth/core/db/adapter";
|
|
5
|
-
|
|
6
|
-
//#region src/adapters/kysely-adapter/dialect.d.ts
|
|
7
|
-
declare function getKyselyDatabaseType(db: BetterAuthOptions["database"]): KyselyDatabaseType | null;
|
|
8
|
-
declare const createKyselyAdapter: (config: BetterAuthOptions) => Promise<{
|
|
9
|
-
kysely: Kysely<any>;
|
|
10
|
-
databaseType: "postgres" | "mysql" | "sqlite" | "mssql";
|
|
11
|
-
transaction: boolean | undefined;
|
|
12
|
-
} | {
|
|
13
|
-
kysely: Kysely<any> | null;
|
|
14
|
-
databaseType: KyselyDatabaseType | null;
|
|
15
|
-
transaction: undefined;
|
|
16
|
-
}>;
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region src/adapters/kysely-adapter/kysely-adapter.d.ts
|
|
19
|
-
interface KyselyAdapterConfig {
|
|
20
|
-
/**
|
|
21
|
-
* Database type.
|
|
22
|
-
*/
|
|
23
|
-
type?: KyselyDatabaseType | undefined;
|
|
24
|
-
/**
|
|
25
|
-
* Enable debug logs for the adapter
|
|
26
|
-
*
|
|
27
|
-
* @default false
|
|
28
|
-
*/
|
|
29
|
-
debugLogs?: DBAdapterDebugLogOption | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* Use plural for table names.
|
|
32
|
-
*
|
|
33
|
-
* @default false
|
|
34
|
-
*/
|
|
35
|
-
usePlural?: boolean | undefined;
|
|
36
|
-
/**
|
|
37
|
-
* Whether to execute multiple operations in a transaction.
|
|
38
|
-
*
|
|
39
|
-
* If the database doesn't support transactions,
|
|
40
|
-
* set this to `false` and operations will be executed sequentially.
|
|
41
|
-
* @default false
|
|
42
|
-
*/
|
|
43
|
-
transaction?: boolean | undefined;
|
|
44
|
-
}
|
|
45
|
-
declare const kyselyAdapter: (db: Kysely<any>, config?: KyselyAdapterConfig | undefined) => (options: BetterAuthOptions) => DBAdapter<BetterAuthOptions>;
|
|
46
|
-
//#endregion
|
|
1
|
+
import { KyselyDatabaseType } from "./types.mjs";
|
|
2
|
+
import { createKyselyAdapter, getKyselyDatabaseType } from "./dialect.mjs";
|
|
3
|
+
import { kyselyAdapter } from "./kysely-adapter.mjs";
|
|
47
4
|
export { KyselyDatabaseType, createKyselyAdapter, getKyselyDatabaseType, kyselyAdapter };
|