@better-auth/core 1.6.26 → 1.6.28

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.
Files changed (103) hide show
  1. package/dist/api/index.d.mts +37 -36
  2. package/dist/api/index.mjs +15 -19
  3. package/dist/async_hooks/index.d.mts +1 -0
  4. package/dist/async_hooks/pure.index.d.mts +1 -0
  5. package/dist/context/endpoint-context.d.mts +1 -1
  6. package/dist/context/global.d.mts +1 -0
  7. package/dist/context/global.mjs +1 -1
  8. package/dist/context/request-state.d.mts +1 -0
  9. package/dist/context/transaction.d.mts +1 -1
  10. package/dist/db/adapter/factory.d.mts +5 -3
  11. package/dist/db/adapter/factory.mjs +2 -2
  12. package/dist/db/adapter/get-default-field-name.d.mts +9 -2
  13. package/dist/db/adapter/get-default-model-name.d.mts +5 -1
  14. package/dist/db/adapter/get-field-attributes.d.mts +11 -4
  15. package/dist/db/adapter/get-field-name.d.mts +9 -2
  16. package/dist/db/adapter/get-id-field.d.mts +12 -4
  17. package/dist/db/adapter/get-model-name.d.mts +5 -1
  18. package/dist/db/adapter/index.d.mts +32 -7
  19. package/dist/db/adapter/types.d.mts +17 -5
  20. package/dist/db/adapter/utils.d.mts +1 -0
  21. package/dist/db/get-tables.d.mts +0 -1
  22. package/dist/db/plugin.d.mts +2 -1
  23. package/dist/db/schema/account.d.mts +1 -1
  24. package/dist/db/schema/rate-limit.d.mts +1 -1
  25. package/dist/db/schema/session.d.mts +1 -1
  26. package/dist/db/schema/shared.d.mts +1 -0
  27. package/dist/db/schema/user.d.mts +1 -1
  28. package/dist/db/schema/verification.d.mts +1 -1
  29. package/dist/db/type.d.mts +10 -6
  30. package/dist/env/logger.d.mts +25 -25
  31. package/dist/error/codes.d.mts +1 -0
  32. package/dist/error/index.d.mts +1 -0
  33. package/dist/index.d.mts +1 -1
  34. package/dist/instrumentation/attributes.d.mts +1 -0
  35. package/dist/instrumentation/pure.index.d.mts +1 -0
  36. package/dist/instrumentation/tracer.mjs +1 -1
  37. package/dist/oauth2/client-credentials-token.d.mts +20 -4
  38. package/dist/oauth2/create-authorization-url.d.mts +20 -3
  39. package/dist/oauth2/oauth-provider.d.mts +0 -1
  40. package/dist/oauth2/refresh-access-token.d.mts +22 -4
  41. package/dist/oauth2/reject-redirects.mjs +1 -1
  42. package/dist/oauth2/utils.d.mts +1 -0
  43. package/dist/oauth2/validate-authorization-code.d.mts +37 -6
  44. package/dist/oauth2/verify.d.mts +10 -12
  45. package/dist/oauth2/verify.mjs +2 -2
  46. package/dist/social-providers/apple.d.mts +11 -4
  47. package/dist/social-providers/atlassian.d.mts +11 -3
  48. package/dist/social-providers/cognito.d.mts +11 -4
  49. package/dist/social-providers/discord.d.mts +9 -3
  50. package/dist/social-providers/dropbox.d.mts +11 -3
  51. package/dist/social-providers/facebook.d.mts +10 -4
  52. package/dist/social-providers/figma.d.mts +11 -3
  53. package/dist/social-providers/github.d.mts +12 -3
  54. package/dist/social-providers/gitlab.d.mts +12 -3
  55. package/dist/social-providers/google.d.mts +19 -5
  56. package/dist/social-providers/huggingface.d.mts +11 -3
  57. package/dist/social-providers/index.d.mts +364 -78
  58. package/dist/social-providers/kakao.d.mts +9 -3
  59. package/dist/social-providers/kick.d.mts +11 -3
  60. package/dist/social-providers/line.d.mts +12 -4
  61. package/dist/social-providers/linear.d.mts +10 -3
  62. package/dist/social-providers/linkedin.d.mts +10 -3
  63. package/dist/social-providers/microsoft-entra-id.d.mts +5 -3
  64. package/dist/social-providers/microsoft-entra-id.mjs +1 -2
  65. package/dist/social-providers/naver.d.mts +18 -22
  66. package/dist/social-providers/notion.d.mts +10 -3
  67. package/dist/social-providers/paybin.d.mts +12 -3
  68. package/dist/social-providers/paypal.d.mts +9 -4
  69. package/dist/social-providers/polar.d.mts +11 -3
  70. package/dist/social-providers/railway.d.mts +11 -3
  71. package/dist/social-providers/reddit.d.mts +9 -3
  72. package/dist/social-providers/roblox.d.mts +9 -3
  73. package/dist/social-providers/salesforce.d.mts +11 -3
  74. package/dist/social-providers/slack.d.mts +9 -3
  75. package/dist/social-providers/spotify.d.mts +11 -3
  76. package/dist/social-providers/tiktok.d.mts +10 -5
  77. package/dist/social-providers/twitch.d.mts +9 -3
  78. package/dist/social-providers/twitter.d.mts +16 -25
  79. package/dist/social-providers/vercel.d.mts +11 -3
  80. package/dist/social-providers/vk.d.mts +12 -3
  81. package/dist/social-providers/wechat.d.mts +8 -3
  82. package/dist/social-providers/zoom.d.mts +14 -5
  83. package/dist/types/context.d.mts +1 -2
  84. package/dist/types/cookie.d.mts +1 -0
  85. package/dist/types/helper.d.mts +1 -1
  86. package/dist/types/index.d.mts +1 -1
  87. package/dist/types/init-options.d.mts +7 -10
  88. package/dist/types/plugin-client.d.mts +3 -1
  89. package/dist/types/plugin.d.mts +2 -2
  90. package/dist/utils/async.d.mts +1 -0
  91. package/dist/utils/db.d.mts +0 -1
  92. package/dist/utils/deprecate.d.mts +1 -0
  93. package/dist/utils/email.d.mts +4 -1
  94. package/dist/utils/error-codes.d.mts +2 -2
  95. package/dist/utils/host.d.mts +1 -27
  96. package/dist/utils/host.mjs +1 -1
  97. package/dist/utils/ip.d.mts +0 -1
  98. package/dist/utils/ip.mjs +1 -1
  99. package/dist/utils/is-api-error.d.mts +1 -0
  100. package/dist/utils/redirect-uri.d.mts +1 -0
  101. package/package.json +4 -4
  102. package/src/api/index.ts +57 -51
  103. package/src/db/type.ts +2 -1
@@ -1,20 +1,17 @@
1
1
  import { BetterAuthDBSchema, ModelNames, SecondaryStorage } from "../db/type.mjs";
2
2
  import { DBAdapter } from "../db/adapter/index.mjs";
3
3
  import { createLogger } from "../env/logger.mjs";
4
- import "../db/index.mjs";
5
4
  import { AuthContext } from "../types/context.mjs";
6
- import "../types/index.mjs";
7
5
  import { OAuthProvider } from "../oauth2/oauth-provider.mjs";
8
- import "../oauth2/index.mjs";
9
- import { EndpointContext, EndpointOptions, StrictEndpoint } from "better-call";
6
+ import * as _$better_call0 from "better-call";
7
+ import { EndpointHandler, EndpointOptions, MiddlewareHandler, StrictEndpoint } from "better-call";
8
+ import * as _$_better_auth_core0 from "@better-auth/core";
9
+
10
10
  //#region src/api/index.d.ts
11
- declare const optionsMiddleware: <InputCtx extends import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>>(inputContext: InputCtx) => Promise<AuthContext>;
11
+ declare const optionsMiddleware: _$better_call0.Middleware<_$better_call0.MiddlewareOptions, <InputCtx extends _$better_call0.MiddlewareInputContext<_$better_call0.MiddlewareOptions>>(inputContext: InputCtx) => Promise<AuthContext>>;
12
12
  declare const createAuthMiddleware: {
13
- <Options extends import("better-call").MiddlewareOptions, R>(options: Options, handler: (ctx: import("better-call").MiddlewareContext<Options, {
14
- returned?: unknown | undefined;
15
- responseHeaders?: Headers | undefined;
16
- } & import("@better-auth/core").PluginContext<import("@better-auth/core").BetterAuthOptions> & import("@better-auth/core").InfoContext & {
17
- options: import("@better-auth/core").BetterAuthOptions;
13
+ <Options extends _$better_call0.MiddlewareOptions, R>(options: Options, handler: (ctx: _$better_call0.MiddlewareContext<Options, _$_better_auth_core0.PluginContext<_$_better_auth_core0.BetterAuthOptions> & _$_better_auth_core0.InfoContext & {
14
+ options: _$_better_auth_core0.BetterAuthOptions;
18
15
  trustedOrigins: string[];
19
16
  trustedProviders: string[];
20
17
  isTrustedOrigin: (url: string, settings?: {
@@ -88,19 +85,19 @@ declare const createAuthMiddleware: {
88
85
  } & Record<string, any>;
89
86
  } | null) => void;
90
87
  socialProviders: OAuthProvider[];
91
- authCookies: import("@better-auth/core").BetterAuthCookies;
88
+ authCookies: _$_better_auth_core0.BetterAuthCookies;
92
89
  logger: ReturnType<typeof createLogger>;
93
90
  rateLimit: {
94
91
  enabled: boolean;
95
92
  window: number;
96
93
  max: number;
97
94
  storage: "memory" | "database" | "secondary-storage";
98
- } & Omit<import("@better-auth/core").BetterAuthRateLimitOptions, "enabled" | "window" | "max" | "storage">;
99
- adapter: DBAdapter<import("@better-auth/core").BetterAuthOptions>;
100
- internalAdapter: import("@better-auth/core").InternalAdapter<import("@better-auth/core").BetterAuthOptions>;
101
- createAuthCookie: (cookieName: string, overrideAttributes?: Partial<import("better-call").CookieOptions> | undefined) => import("@better-auth/core").BetterAuthCookie;
95
+ } & Omit<_$_better_auth_core0.BetterAuthRateLimitOptions, "enabled" | "window" | "max" | "storage">;
96
+ adapter: DBAdapter<_$_better_auth_core0.BetterAuthOptions>;
97
+ internalAdapter: _$_better_auth_core0.InternalAdapter<_$_better_auth_core0.BetterAuthOptions>;
98
+ createAuthCookie: (cookieName: string, overrideAttributes?: Partial<_$better_call0.CookieOptions> | undefined) => _$_better_auth_core0.BetterAuthCookie;
102
99
  secret: string;
103
- secretConfig: string | import("@better-auth/core").SecretConfig;
100
+ secretConfig: string | _$_better_auth_core0.SecretConfig;
104
101
  sessionConfig: {
105
102
  updateAge: number;
106
103
  expiresIn: number;
@@ -125,7 +122,7 @@ declare const createAuthMiddleware: {
125
122
  minPasswordLength: number;
126
123
  maxPasswordLength: number;
127
124
  };
128
- checkPassword: (userId: string, ctx: import("@better-auth/core").GenericEndpointContext<import("@better-auth/core").BetterAuthOptions>) => Promise<boolean>;
125
+ checkPassword: (userId: string, ctx: _$_better_auth_core0.GenericEndpointContext<_$_better_auth_core0.BetterAuthOptions>) => Promise<boolean>;
129
126
  };
130
127
  tables: BetterAuthDBSchema;
131
128
  runMigrations: () => Promise<void>;
@@ -137,13 +134,13 @@ declare const createAuthMiddleware: {
137
134
  skipOriginCheck: boolean | string[];
138
135
  skipCSRFCheck: boolean;
139
136
  runInBackground: (promise: Promise<unknown>) => void;
140
- runInBackgroundOrAwait: (promise: Promise<unknown> | void) => import("@better-auth/core").Awaitable<unknown>;
141
- }>) => Promise<R>): (inputContext: import("better-call").MiddlewareInputContext<Options>) => Promise<R>;
142
- <Options extends import("better-call").MiddlewareOptions, R_1>(handler: (ctx: import("better-call").MiddlewareContext<Options, {
137
+ runInBackgroundOrAwait: (promise: Promise<unknown> | void) => _$_better_auth_core0.Awaitable<unknown>;
138
+ } & {
143
139
  returned?: unknown | undefined;
144
140
  responseHeaders?: Headers | undefined;
145
- } & import("@better-auth/core").PluginContext<import("@better-auth/core").BetterAuthOptions> & import("@better-auth/core").InfoContext & {
146
- options: import("@better-auth/core").BetterAuthOptions;
141
+ }>) => Promise<R>): _$better_call0.Middleware<Options, (inputContext: _$better_call0.MiddlewareInputContext<Options>) => Promise<R>>;
142
+ <Options extends _$better_call0.MiddlewareOptions, R_1>(handler: (ctx: _$better_call0.MiddlewareContext<Options, _$_better_auth_core0.PluginContext<_$_better_auth_core0.BetterAuthOptions> & _$_better_auth_core0.InfoContext & {
143
+ options: _$_better_auth_core0.BetterAuthOptions;
147
144
  trustedOrigins: string[];
148
145
  trustedProviders: string[];
149
146
  isTrustedOrigin: (url: string, settings?: {
@@ -217,19 +214,19 @@ declare const createAuthMiddleware: {
217
214
  } & Record<string, any>;
218
215
  } | null) => void;
219
216
  socialProviders: OAuthProvider[];
220
- authCookies: import("@better-auth/core").BetterAuthCookies;
217
+ authCookies: _$_better_auth_core0.BetterAuthCookies;
221
218
  logger: ReturnType<typeof createLogger>;
222
219
  rateLimit: {
223
220
  enabled: boolean;
224
221
  window: number;
225
222
  max: number;
226
223
  storage: "memory" | "database" | "secondary-storage";
227
- } & Omit<import("@better-auth/core").BetterAuthRateLimitOptions, "enabled" | "window" | "max" | "storage">;
228
- adapter: DBAdapter<import("@better-auth/core").BetterAuthOptions>;
229
- internalAdapter: import("@better-auth/core").InternalAdapter<import("@better-auth/core").BetterAuthOptions>;
230
- createAuthCookie: (cookieName: string, overrideAttributes?: Partial<import("better-call").CookieOptions> | undefined) => import("@better-auth/core").BetterAuthCookie;
224
+ } & Omit<_$_better_auth_core0.BetterAuthRateLimitOptions, "enabled" | "window" | "max" | "storage">;
225
+ adapter: DBAdapter<_$_better_auth_core0.BetterAuthOptions>;
226
+ internalAdapter: _$_better_auth_core0.InternalAdapter<_$_better_auth_core0.BetterAuthOptions>;
227
+ createAuthCookie: (cookieName: string, overrideAttributes?: Partial<_$better_call0.CookieOptions> | undefined) => _$_better_auth_core0.BetterAuthCookie;
231
228
  secret: string;
232
- secretConfig: string | import("@better-auth/core").SecretConfig;
229
+ secretConfig: string | _$_better_auth_core0.SecretConfig;
233
230
  sessionConfig: {
234
231
  updateAge: number;
235
232
  expiresIn: number;
@@ -254,7 +251,7 @@ declare const createAuthMiddleware: {
254
251
  minPasswordLength: number;
255
252
  maxPasswordLength: number;
256
253
  };
257
- checkPassword: (userId: string, ctx: import("@better-auth/core").GenericEndpointContext<import("@better-auth/core").BetterAuthOptions>) => Promise<boolean>;
254
+ checkPassword: (userId: string, ctx: _$_better_auth_core0.GenericEndpointContext<_$_better_auth_core0.BetterAuthOptions>) => Promise<boolean>;
258
255
  };
259
256
  tables: BetterAuthDBSchema;
260
257
  runMigrations: () => Promise<void>;
@@ -266,16 +263,20 @@ declare const createAuthMiddleware: {
266
263
  skipOriginCheck: boolean | string[];
267
264
  skipCSRFCheck: boolean;
268
265
  runInBackground: (promise: Promise<unknown>) => void;
269
- runInBackgroundOrAwait: (promise: Promise<unknown> | void) => import("@better-auth/core").Awaitable<unknown>;
270
- }>) => Promise<R_1>): (inputContext: import("better-call").MiddlewareInputContext<Options>) => Promise<R_1>;
266
+ runInBackgroundOrAwait: (promise: Promise<unknown> | void) => _$_better_auth_core0.Awaitable<unknown>;
267
+ } & {
268
+ returned?: unknown | undefined;
269
+ responseHeaders?: Headers | undefined;
270
+ }>) => Promise<R_1>): _$better_call0.Middleware<Options, (inputContext: _$better_call0.MiddlewareInputContext<Options>) => Promise<R_1>>;
271
271
  };
272
- type EndpointHandler<Path extends string, Options extends EndpointOptions, R> = (context: EndpointContext<Path, Options, AuthContext>) => Promise<R>;
273
- declare function createAuthEndpoint<Path extends string, Options extends EndpointOptions, R>(path: Path, options: Options, handler: EndpointHandler<Path, Options, R>): StrictEndpoint<Path, Options, R>;
274
- declare function createAuthEndpoint<Path extends string, Options extends EndpointOptions, R>(options: Options, handler: EndpointHandler<Path, Options, R>): StrictEndpoint<Path, Options, R>;
272
+ type AuthEndpointHandler<Path extends string, Options extends EndpointOptions, R> = EndpointHandler<Path, Options, R, AuthContext>;
273
+ type PathlessAuthEndpointHandler<Options extends EndpointOptions, R> = AuthEndpointHandler<string, Options, R>;
274
+ declare function createAuthEndpoint<Path extends string, Options extends EndpointOptions, R>(path: Path, options: Options, handler: AuthEndpointHandler<Path, Options, R>): StrictEndpoint<Path, Options, R>;
275
+ declare function createAuthEndpoint<InferredPath extends string, Options extends EndpointOptions, R>(options: Options, handler: PathlessAuthEndpointHandler<Options, R>): StrictEndpoint<InferredPath, Options, R>;
275
276
  declare namespace createAuthEndpoint {
276
- var serverOnly: <Path extends string, Options extends EndpointOptions, R>(options: Options, handler: EndpointHandler<Path, Options, R>) => StrictEndpoint<Path, Options, R>;
277
+ var serverOnly: <InferredPath extends string, Options extends EndpointOptions, R>(options: Options, handler: PathlessAuthEndpointHandler<Options, R>) => StrictEndpoint<InferredPath, Options, R>;
277
278
  }
278
279
  type AuthEndpoint<Path extends string, Opts extends EndpointOptions, R> = ReturnType<typeof createAuthEndpoint<Path, Opts, R>>;
279
- type AuthMiddleware = ReturnType<typeof createAuthMiddleware>;
280
+ type AuthMiddleware = MiddlewareHandler;
280
281
  //#endregion
281
282
  export { AuthEndpoint, AuthMiddleware, createAuthEndpoint, createAuthMiddleware, optionsMiddleware };
@@ -29,28 +29,24 @@ const optionsMiddleware = createMiddleware(async () => {
29
29
  const createAuthMiddleware = createMiddleware.create({ use: [optionsMiddleware, createMiddleware(async () => {
30
30
  return {};
31
31
  })] });
32
- const use = [optionsMiddleware];
33
- function createAuthEndpoint(pathOrOptions, handlerOrOptions, handlerOrNever) {
34
- const path = typeof pathOrOptions === "string" ? pathOrOptions : void 0;
35
- const options = typeof handlerOrOptions === "object" ? handlerOrOptions : pathOrOptions;
36
- const handler = typeof handlerOrOptions === "function" ? handlerOrOptions : handlerOrNever;
37
- const wrapped = async (ctx) => {
38
- const runtimeCtx = ctx;
32
+ const createEndpointWithAuthContext = createEndpoint.create({ use: [optionsMiddleware] });
33
+ function wrapEndpointHandler(handler) {
34
+ return async (context) => {
39
35
  try {
40
- return await runWithEndpointContext(ctx, () => handler(ctx));
41
- } catch (e) {
42
- attachResponseHeadersToAPIError(runtimeCtx.responseHeaders, e);
43
- throw e;
36
+ return await runWithEndpointContext(context, () => handler(context));
37
+ } catch (error) {
38
+ attachResponseHeadersToAPIError(context.responseHeaders, error);
39
+ throw error;
44
40
  }
45
41
  };
46
- if (path) return createEndpoint(path, {
47
- ...options,
48
- use: [...options?.use || [], ...use]
49
- }, wrapped);
50
- return createEndpoint({
51
- ...options,
52
- use: [...options?.use || [], ...use]
53
- }, wrapped);
42
+ }
43
+ function createAuthEndpoint(...args) {
44
+ if (args.length === 3) {
45
+ const [path, options, handler] = args;
46
+ return createEndpointWithAuthContext(path, options, wrapEndpointHandler(handler));
47
+ }
48
+ const [options, handler] = args;
49
+ return createEndpointWithAuthContext(options, wrapEndpointHandler(handler));
54
50
  }
55
51
  /**
56
52
  * Set `metadata.SERVER_ONLY` while preserving any existing metadata
@@ -1,4 +1,5 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
+
2
3
  //#region src/async_hooks/index.d.ts
3
4
  declare function getAsyncLocalStorage(): Promise<typeof AsyncLocalStorage>;
4
5
  //#endregion
@@ -1,4 +1,5 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
+
2
3
  //#region src/async_hooks/pure.index.d.ts
3
4
  declare function getAsyncLocalStorage(): Promise<typeof AsyncLocalStorage>;
4
5
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { AuthContext } from "../types/context.mjs";
2
- import "../types/index.mjs";
3
2
  import { EndpointContext, InputContext } from "better-call";
4
3
  import { AsyncLocalStorage } from "@better-auth/core/async_hooks";
4
+
5
5
  //#region src/context/endpoint-context.d.ts
6
6
  type AuthEndpointContext = Partial<InputContext<string, any> & EndpointContext<string, any>> & {
7
7
  context: AuthContext;
@@ -1,4 +1,5 @@
1
1
  import { AsyncLocalStorage } from "@better-auth/core/async_hooks";
2
+
2
3
  //#region src/context/global.d.ts
3
4
  declare function getBetterAuthVersion(): string;
4
5
  //#endregion
@@ -2,7 +2,7 @@
2
2
  const symbol = Symbol.for("better-auth:global");
3
3
  let bind = null;
4
4
  const __context = {};
5
- const __betterAuthVersion = "1.6.26";
5
+ const __betterAuthVersion = "1.6.28";
6
6
  /**
7
7
  * We store context instance in the globalThis.
8
8
  *
@@ -1,4 +1,5 @@
1
1
  import { AsyncLocalStorage } from "@better-auth/core/async_hooks";
2
+
2
3
  //#region src/context/request-state.d.ts
3
4
  type RequestStateWeakMap = WeakMap<object, any>;
4
5
  declare function getRequestStateAsyncLocalStorage(): Promise<AsyncLocalStorage<RequestStateWeakMap>>;
@@ -1,7 +1,7 @@
1
1
  import { DBAdapter, DBTransactionAdapter } from "../db/adapter/index.mjs";
2
2
  import { BetterAuthOptions } from "../types/init-options.mjs";
3
- import "../types/index.mjs";
4
3
  import { AsyncLocalStorage } from "node:async_hooks";
4
+
5
5
  //#region src/context/transaction.d.ts
6
6
  type StoredAdapter = DBTransactionAdapter<BetterAuthOptions>;
7
7
  type HookContext = {
@@ -7,9 +7,11 @@ import { initGetModelName } from "./get-model-name.mjs";
7
7
  import { AdapterFactoryConfig, AdapterFactoryCustomizeAdapterCreator, AdapterFactoryOptions, AdapterTestDebugLogs } from "./types.mjs";
8
8
  import { DBAdapter } from "./index.mjs";
9
9
  import { BetterAuthOptions } from "../../types/init-options.mjs";
10
- import "../../types/index.mjs";
11
10
  //#region src/db/adapter/factory.d.ts
12
11
  type AdapterFactory<Options extends BetterAuthOptions> = (options: Options) => DBAdapter<Options>;
13
- declare const createAdapterFactory: <Options extends BetterAuthOptions>({ adapter: customAdapter, config: cfg }: AdapterFactoryOptions) => AdapterFactory<Options>;
12
+ declare const createAdapterFactory: <Options extends BetterAuthOptions>({
13
+ adapter: customAdapter,
14
+ config: cfg
15
+ }: AdapterFactoryOptions) => AdapterFactory<Options>;
14
16
  //#endregion
15
- export { AdapterFactory, AdapterFactoryConfig, AdapterFactoryCustomizeAdapterCreator, AdapterFactoryOptions, AdapterTestDebugLogs, createAdapterFactory, initGetDefaultFieldName, initGetDefaultModelName, initGetFieldAttributes, initGetFieldName, initGetIdField, initGetModelName };
17
+ export { AdapterFactory, createAdapterFactory };
@@ -1,8 +1,8 @@
1
1
  import { getCurrentAdapter, runWithTransaction } from "../../context/transaction.mjs";
2
2
  import { BetterAuthError } from "../../error/index.mjs";
3
- import { getAuthTables } from "../get-tables.mjs";
4
3
  import { getColorDepth } from "../../env/color-depth.mjs";
5
4
  import { TTY_COLORS, createLogger } from "../../env/logger.mjs";
5
+ import { getAuthTables } from "../get-tables.mjs";
6
6
  import { safeJSONParse } from "../../utils/json.mjs";
7
7
  import { initGetDefaultModelName } from "./get-default-model-name.mjs";
8
8
  import { initGetDefaultFieldName } from "./get-default-field-name.mjs";
@@ -902,4 +902,4 @@ function formatAction(action) {
902
902
  return `${TTY_COLORS.dim}(${action})${TTY_COLORS.reset}`;
903
903
  }
904
904
  //#endregion
905
- export { createAdapterFactory, initGetDefaultFieldName, initGetDefaultModelName, initGetFieldAttributes, initGetFieldName, initGetIdField, initGetModelName };
905
+ export { createAdapterFactory };
@@ -1,9 +1,16 @@
1
1
  import { BetterAuthDBSchema } from "../type.mjs";
2
+
2
3
  //#region src/db/adapter/get-default-field-name.d.ts
3
- declare const initGetDefaultFieldName: ({ schema, usePlural }: {
4
+ declare const initGetDefaultFieldName: ({
5
+ schema,
6
+ usePlural
7
+ }: {
4
8
  schema: BetterAuthDBSchema;
5
9
  usePlural: boolean | undefined;
6
- }) => ({ field, model: unsafeModel }: {
10
+ }) => ({
11
+ field,
12
+ model: unsafeModel
13
+ }: {
7
14
  model: string;
8
15
  field: string;
9
16
  }) => string;
@@ -1,6 +1,10 @@
1
1
  import { BetterAuthDBSchema } from "../type.mjs";
2
+
2
3
  //#region src/db/adapter/get-default-model-name.d.ts
3
- declare const initGetDefaultModelName: ({ usePlural, schema }: {
4
+ declare const initGetDefaultModelName: ({
5
+ usePlural,
6
+ schema
7
+ }: {
4
8
  usePlural: boolean | undefined;
5
9
  schema: BetterAuthDBSchema;
6
10
  }) => (model: string) => string;
@@ -1,9 +1,13 @@
1
1
  import { BetterAuthDBSchema, DBFieldAttribute, DBFieldType } from "../type.mjs";
2
2
  import { BetterAuthOptions } from "../../types/init-options.mjs";
3
- import "../index.mjs";
4
- import "../../types/index.mjs";
5
3
  //#region src/db/adapter/get-field-attributes.d.ts
6
- declare const initGetFieldAttributes: ({ usePlural, schema, options, customIdGenerator, disableIdGeneration }: {
4
+ declare const initGetFieldAttributes: ({
5
+ usePlural,
6
+ schema,
7
+ options,
8
+ customIdGenerator,
9
+ disableIdGeneration
10
+ }: {
7
11
  usePlural?: boolean;
8
12
  schema: BetterAuthDBSchema;
9
13
  options: BetterAuthOptions;
@@ -11,7 +15,10 @@ declare const initGetFieldAttributes: ({ usePlural, schema, options, customIdGen
11
15
  customIdGenerator?: ((props: {
12
16
  model: string;
13
17
  }) => string) | undefined;
14
- }) => ({ model, field }: {
18
+ }) => ({
19
+ model,
20
+ field
21
+ }: {
15
22
  model: string;
16
23
  field: string;
17
24
  }) => DBFieldAttribute<DBFieldType>;
@@ -1,9 +1,16 @@
1
1
  import { BetterAuthDBSchema } from "../type.mjs";
2
+
2
3
  //#region src/db/adapter/get-field-name.d.ts
3
- declare const initGetFieldName: ({ schema, usePlural }: {
4
+ declare const initGetFieldName: ({
5
+ schema,
6
+ usePlural
7
+ }: {
4
8
  schema: BetterAuthDBSchema;
5
9
  usePlural: boolean | undefined;
6
- }) => ({ model: modelName, field: fieldName }: {
10
+ }) => ({
11
+ model: modelName,
12
+ field: fieldName
13
+ }: {
7
14
  model: string;
8
15
  field: string;
9
16
  }) => string;
@@ -1,9 +1,14 @@
1
1
  import { BetterAuthDBSchema, DBPrimitive } from "../type.mjs";
2
2
  import { BetterAuthOptions } from "../../types/init-options.mjs";
3
- import "../index.mjs";
4
- import "../../types/index.mjs";
5
3
  //#region src/db/adapter/get-id-field.d.ts
6
- declare const initGetIdField: ({ usePlural, schema, disableIdGeneration, options, customIdGenerator, supportsUUIDs }: {
4
+ declare const initGetIdField: ({
5
+ usePlural,
6
+ schema,
7
+ disableIdGeneration,
8
+ options,
9
+ customIdGenerator,
10
+ supportsUUIDs
11
+ }: {
7
12
  usePlural?: boolean;
8
13
  schema: BetterAuthDBSchema;
9
14
  options: BetterAuthOptions;
@@ -12,7 +17,10 @@ declare const initGetIdField: ({ usePlural, schema, disableIdGeneration, options
12
17
  model: string;
13
18
  }) => string) | undefined;
14
19
  supportsUUIDs?: boolean;
15
- }) => ({ customModelName, forceAllowId }: {
20
+ }) => ({
21
+ customModelName,
22
+ forceAllowId
23
+ }: {
16
24
  customModelName?: string;
17
25
  forceAllowId?: boolean;
18
26
  }) => {
@@ -1,6 +1,10 @@
1
1
  import { BetterAuthDBSchema } from "../type.mjs";
2
+
2
3
  //#region src/db/adapter/get-model-name.d.ts
3
- declare const initGetModelName: ({ usePlural, schema }: {
4
+ declare const initGetModelName: ({
5
+ usePlural,
6
+ schema
7
+ }: {
4
8
  usePlural: boolean | undefined;
5
9
  schema: BetterAuthDBSchema;
6
10
  }) => (model: string) => string;
@@ -9,7 +9,6 @@ import { AdapterFactoryConfig, AdapterFactoryCustomizeAdapterCreator, AdapterFac
9
9
  import { AdapterFactory, createAdapterFactory } from "./factory.mjs";
10
10
  import { deepmerge, withApplyDefault } from "./utils.mjs";
11
11
  import { BetterAuthOptions } from "../../types/init-options.mjs";
12
- import "../../types/index.mjs";
13
12
  //#region src/db/adapter/index.d.ts
14
13
  type DBAdapterDebugLogOption = boolean | {
15
14
  /**
@@ -491,7 +490,11 @@ type DBAdapter<Options extends BetterAuthOptions = BetterAuthOptions> = {
491
490
  };
492
491
  type CleanedWhere = Required<Where>;
493
492
  interface CustomAdapter {
494
- create: <T extends Record<string, any>>({ data, model, select }: {
493
+ create: <T extends Record<string, any>>({
494
+ data,
495
+ model,
496
+ select
497
+ }: {
495
498
  model: string;
496
499
  data: T;
497
500
  select?: string[] | undefined;
@@ -506,13 +509,26 @@ interface CustomAdapter {
506
509
  where: CleanedWhere[];
507
510
  update: Record<string, any>;
508
511
  }) => Promise<number>;
509
- findOne: <T>({ model, where, select, join }: {
512
+ findOne: <T>({
513
+ model,
514
+ where,
515
+ select,
516
+ join
517
+ }: {
510
518
  model: string;
511
519
  where: CleanedWhere[];
512
520
  select?: string[] | undefined;
513
521
  join?: JoinConfig | undefined;
514
522
  }) => Promise<T | null>;
515
- findMany: <T>({ model, where, limit, select, sortBy, offset, join }: {
523
+ findMany: <T>({
524
+ model,
525
+ where,
526
+ limit,
527
+ select,
528
+ sortBy,
529
+ offset,
530
+ join
531
+ }: {
516
532
  model: string;
517
533
  where?: CleanedWhere[] | undefined;
518
534
  limit: number;
@@ -524,11 +540,17 @@ interface CustomAdapter {
524
540
  offset?: number | undefined;
525
541
  join?: JoinConfig | undefined;
526
542
  }) => Promise<T[]>;
527
- delete: ({ model, where }: {
543
+ delete: ({
544
+ model,
545
+ where
546
+ }: {
528
547
  model: string;
529
548
  where: CleanedWhere[];
530
549
  }) => Promise<void>;
531
- deleteMany: ({ model, where }: {
550
+ deleteMany: ({
551
+ model,
552
+ where
553
+ }: {
532
554
  model: string;
533
555
  where: CleanedWhere[];
534
556
  }) => Promise<number>;
@@ -564,7 +586,10 @@ interface CustomAdapter {
564
586
  increment: Record<string, number>;
565
587
  set?: Record<string, unknown> | undefined;
566
588
  }) => Promise<T | null>;
567
- count: ({ model, where }: {
589
+ count: ({
590
+ model,
591
+ where
592
+ }: {
568
593
  model: string;
569
594
  where?: CleanedWhere[] | undefined;
570
595
  }) => Promise<number>;
@@ -1,7 +1,6 @@
1
1
  import { BetterAuthDBSchema, DBFieldAttribute } from "../type.mjs";
2
2
  import { CleanedWhere, CustomAdapter, DBAdapterFactoryConfig, DBTransactionAdapter, JoinConfig, Where } from "./index.mjs";
3
3
  import { BetterAuthOptions } from "../../types/init-options.mjs";
4
- import "../../types/index.mjs";
5
4
  //#region src/db/adapter/types.d.ts
6
5
  type AdapterFactoryOptions = {
7
6
  config: AdapterFactoryConfig;
@@ -36,7 +35,10 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
36
35
  /**
37
36
  * Get the field name which is expected to be saved in the database based on the user's schema.
38
37
  */
39
- getFieldName: ({ model, field }: {
38
+ getFieldName: ({
39
+ model,
40
+ field
41
+ }: {
40
42
  model: string;
41
43
  field: string;
42
44
  }) => string;
@@ -64,7 +66,10 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
64
66
  * 2. When using a custom fieldName, doing something like `schema[model].fields[field]` will not work.
65
67
  *
66
68
  */
67
- getDefaultFieldName: ({ model, field }: {
69
+ getDefaultFieldName: ({
70
+ model,
71
+ field
72
+ }: {
68
73
  model: string;
69
74
  field: string;
70
75
  }) => string;
@@ -73,13 +78,20 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
73
78
  *
74
79
  * Note: any model name or field name is allowed, whether default to schema or not.
75
80
  */
76
- getFieldAttributes: ({ model, field }: {
81
+ getFieldAttributes: ({
82
+ model,
83
+ field
84
+ }: {
77
85
  model: string;
78
86
  field: string;
79
87
  }) => DBFieldAttribute;
80
88
  transformInput: (data: Record<string, unknown>, defaultModelName: string, action: "create" | "update", forceAllowId?: boolean | undefined) => Promise<Record<string, unknown>>;
81
89
  transformOutput: (data: Record<string, unknown>, defaultModelName: string, select?: string[] | undefined, joinConfig?: JoinConfig | undefined) => Promise<Record<string, unknown>>;
82
- transformWhereClause: <W extends Where[] | undefined>({ model, where, action }: {
90
+ transformWhereClause: <W extends Where[] | undefined>({
91
+ model,
92
+ where,
93
+ action
94
+ }: {
83
95
  where: W;
84
96
  model: string;
85
97
  action: "create" | "update" | "findOne" | "findMany" | "updateMany" | "delete" | "deleteMany" | "consumeOne" | "incrementOne" | "count";
@@ -1,4 +1,5 @@
1
1
  import { DBFieldAttribute } from "../type.mjs";
2
+
2
3
  //#region src/db/adapter/utils.d.ts
3
4
  declare function withApplyDefault(value: any, field: DBFieldAttribute, action: "create" | "update" | "findOne" | "findMany"): any;
4
5
  declare function deepmerge<T>(target: T, source: Partial<T>): T;
@@ -1,6 +1,5 @@
1
1
  import { BetterAuthDBSchema } from "./type.mjs";
2
2
  import { BetterAuthOptions } from "../types/init-options.mjs";
3
- import "../types/index.mjs";
4
3
  //#region src/db/get-tables.d.ts
5
4
  declare const getAuthTables: (options: BetterAuthOptions) => BetterAuthDBSchema;
6
5
  //#endregion
@@ -1,4 +1,5 @@
1
1
  import { DBFieldAttribute } from "./type.mjs";
2
+
2
3
  //#region src/db/plugin.d.ts
3
4
  type BetterAuthPluginDBSchema = { [table in string]: {
4
5
  fields: {
@@ -6,6 +7,6 @@ type BetterAuthPluginDBSchema = { [table in string]: {
6
7
  };
7
8
  disableMigration?: boolean | undefined;
8
9
  modelName?: string | undefined;
9
- }; };
10
+ } };
10
11
  //#endregion
11
12
  export { BetterAuthPluginDBSchema };
@@ -1,8 +1,8 @@
1
1
  import { InferDBFieldsFromOptions, InferDBFieldsFromPlugins } from "../type.mjs";
2
2
  import { Prettify } from "../../types/helper.mjs";
3
3
  import { BetterAuthOptions } from "../../types/init-options.mjs";
4
- import "../../types/index.mjs";
5
4
  import * as z from "zod";
5
+
6
6
  //#region src/db/schema/account.d.ts
7
7
  declare const accountSchema: z.ZodObject<{
8
8
  id: z.ZodString;
@@ -1,8 +1,8 @@
1
1
  import { InferDBFieldsFromOptions, InferDBFieldsFromPlugins } from "../type.mjs";
2
2
  import { Prettify } from "../../types/helper.mjs";
3
3
  import { BetterAuthOptions } from "../../types/init-options.mjs";
4
- import "../../types/index.mjs";
5
4
  import * as z from "zod";
5
+
6
6
  //#region src/db/schema/rate-limit.d.ts
7
7
  declare const rateLimitSchema: z.ZodObject<{
8
8
  key: z.ZodString;
@@ -1,8 +1,8 @@
1
1
  import { InferDBFieldsFromOptions, InferDBFieldsFromPlugins } from "../type.mjs";
2
2
  import { Prettify } from "../../types/helper.mjs";
3
3
  import { BetterAuthOptions } from "../../types/init-options.mjs";
4
- import "../../types/index.mjs";
5
4
  import * as z from "zod";
5
+
6
6
  //#region src/db/schema/session.d.ts
7
7
  declare const sessionSchema: z.ZodObject<{
8
8
  id: z.ZodString;
@@ -1,4 +1,5 @@
1
1
  import * as z from "zod";
2
+
2
3
  //#region src/db/schema/shared.d.ts
3
4
  declare const coreSchema: z.ZodObject<{
4
5
  id: z.ZodString;
@@ -1,8 +1,8 @@
1
1
  import { InferDBFieldsFromOptions, InferDBFieldsFromPlugins } from "../type.mjs";
2
2
  import { Prettify } from "../../types/helper.mjs";
3
3
  import { BetterAuthOptions } from "../../types/init-options.mjs";
4
- import "../../types/index.mjs";
5
4
  import * as z from "zod";
5
+
6
6
  //#region src/db/schema/user.d.ts
7
7
  declare const userSchema: z.ZodObject<{
8
8
  id: z.ZodString;
@@ -1,8 +1,8 @@
1
1
  import { InferDBFieldsFromOptions, InferDBFieldsFromPlugins } from "../type.mjs";
2
2
  import { Prettify } from "../../types/helper.mjs";
3
3
  import { BetterAuthOptions } from "../../types/init-options.mjs";
4
- import "../../types/index.mjs";
5
4
  import * as z from "zod";
5
+
6
6
  //#region src/db/schema/verification.d.ts
7
7
  declare const verificationSchema: z.ZodObject<{
8
8
  id: z.ZodString;