@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.
- package/dist/api/index.d.mts +37 -36
- package/dist/api/index.mjs +15 -19
- package/dist/async_hooks/index.d.mts +1 -0
- package/dist/async_hooks/pure.index.d.mts +1 -0
- package/dist/context/endpoint-context.d.mts +1 -1
- package/dist/context/global.d.mts +1 -0
- package/dist/context/global.mjs +1 -1
- package/dist/context/request-state.d.mts +1 -0
- package/dist/context/transaction.d.mts +1 -1
- package/dist/db/adapter/factory.d.mts +5 -3
- package/dist/db/adapter/factory.mjs +2 -2
- package/dist/db/adapter/get-default-field-name.d.mts +9 -2
- package/dist/db/adapter/get-default-model-name.d.mts +5 -1
- package/dist/db/adapter/get-field-attributes.d.mts +11 -4
- package/dist/db/adapter/get-field-name.d.mts +9 -2
- package/dist/db/adapter/get-id-field.d.mts +12 -4
- package/dist/db/adapter/get-model-name.d.mts +5 -1
- package/dist/db/adapter/index.d.mts +32 -7
- package/dist/db/adapter/types.d.mts +17 -5
- package/dist/db/adapter/utils.d.mts +1 -0
- package/dist/db/get-tables.d.mts +0 -1
- package/dist/db/plugin.d.mts +2 -1
- package/dist/db/schema/account.d.mts +1 -1
- package/dist/db/schema/rate-limit.d.mts +1 -1
- package/dist/db/schema/session.d.mts +1 -1
- package/dist/db/schema/shared.d.mts +1 -0
- package/dist/db/schema/user.d.mts +1 -1
- package/dist/db/schema/verification.d.mts +1 -1
- package/dist/db/type.d.mts +10 -6
- package/dist/env/logger.d.mts +25 -25
- package/dist/error/codes.d.mts +1 -0
- package/dist/error/index.d.mts +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/instrumentation/attributes.d.mts +1 -0
- package/dist/instrumentation/pure.index.d.mts +1 -0
- package/dist/instrumentation/tracer.mjs +1 -1
- package/dist/oauth2/client-credentials-token.d.mts +20 -4
- package/dist/oauth2/create-authorization-url.d.mts +20 -3
- package/dist/oauth2/oauth-provider.d.mts +0 -1
- package/dist/oauth2/refresh-access-token.d.mts +22 -4
- package/dist/oauth2/reject-redirects.mjs +1 -1
- package/dist/oauth2/utils.d.mts +1 -0
- package/dist/oauth2/validate-authorization-code.d.mts +37 -6
- package/dist/oauth2/verify.d.mts +10 -12
- package/dist/oauth2/verify.mjs +2 -2
- package/dist/social-providers/apple.d.mts +11 -4
- package/dist/social-providers/atlassian.d.mts +11 -3
- package/dist/social-providers/cognito.d.mts +11 -4
- package/dist/social-providers/discord.d.mts +9 -3
- package/dist/social-providers/dropbox.d.mts +11 -3
- package/dist/social-providers/facebook.d.mts +10 -4
- package/dist/social-providers/figma.d.mts +11 -3
- package/dist/social-providers/github.d.mts +12 -3
- package/dist/social-providers/gitlab.d.mts +12 -3
- package/dist/social-providers/google.d.mts +19 -5
- package/dist/social-providers/huggingface.d.mts +11 -3
- package/dist/social-providers/index.d.mts +364 -78
- package/dist/social-providers/kakao.d.mts +9 -3
- package/dist/social-providers/kick.d.mts +11 -3
- package/dist/social-providers/line.d.mts +12 -4
- package/dist/social-providers/linear.d.mts +10 -3
- package/dist/social-providers/linkedin.d.mts +10 -3
- package/dist/social-providers/microsoft-entra-id.d.mts +5 -3
- package/dist/social-providers/microsoft-entra-id.mjs +1 -2
- package/dist/social-providers/naver.d.mts +18 -22
- package/dist/social-providers/notion.d.mts +10 -3
- package/dist/social-providers/paybin.d.mts +12 -3
- package/dist/social-providers/paypal.d.mts +9 -4
- package/dist/social-providers/polar.d.mts +11 -3
- package/dist/social-providers/railway.d.mts +11 -3
- package/dist/social-providers/reddit.d.mts +9 -3
- package/dist/social-providers/roblox.d.mts +9 -3
- package/dist/social-providers/salesforce.d.mts +11 -3
- package/dist/social-providers/slack.d.mts +9 -3
- package/dist/social-providers/spotify.d.mts +11 -3
- package/dist/social-providers/tiktok.d.mts +10 -5
- package/dist/social-providers/twitch.d.mts +9 -3
- package/dist/social-providers/twitter.d.mts +16 -25
- package/dist/social-providers/vercel.d.mts +11 -3
- package/dist/social-providers/vk.d.mts +12 -3
- package/dist/social-providers/wechat.d.mts +8 -3
- package/dist/social-providers/zoom.d.mts +14 -5
- package/dist/types/context.d.mts +1 -2
- package/dist/types/cookie.d.mts +1 -0
- package/dist/types/helper.d.mts +1 -1
- package/dist/types/index.d.mts +1 -1
- package/dist/types/init-options.d.mts +7 -10
- package/dist/types/plugin-client.d.mts +3 -1
- package/dist/types/plugin.d.mts +2 -2
- package/dist/utils/async.d.mts +1 -0
- package/dist/utils/db.d.mts +0 -1
- package/dist/utils/deprecate.d.mts +1 -0
- package/dist/utils/email.d.mts +4 -1
- package/dist/utils/error-codes.d.mts +2 -2
- package/dist/utils/host.d.mts +1 -27
- package/dist/utils/host.mjs +1 -1
- package/dist/utils/ip.d.mts +0 -1
- package/dist/utils/ip.mjs +1 -1
- package/dist/utils/is-api-error.d.mts +1 -0
- package/dist/utils/redirect-uri.d.mts +1 -0
- package/package.json +4 -4
- package/src/api/index.ts +57 -51
- package/src/db/type.ts +2 -1
package/dist/api/index.d.mts
CHANGED
|
@@ -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 "
|
|
9
|
-
import {
|
|
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
|
|
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
|
|
14
|
-
|
|
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:
|
|
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<
|
|
99
|
-
adapter: DBAdapter<
|
|
100
|
-
internalAdapter:
|
|
101
|
-
createAuthCookie: (cookieName: string, overrideAttributes?: Partial<
|
|
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 |
|
|
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:
|
|
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) =>
|
|
141
|
-
}
|
|
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
|
-
}
|
|
146
|
-
|
|
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:
|
|
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<
|
|
228
|
-
adapter: DBAdapter<
|
|
229
|
-
internalAdapter:
|
|
230
|
-
createAuthCookie: (cookieName: string, overrideAttributes?: Partial<
|
|
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 |
|
|
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:
|
|
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) =>
|
|
270
|
-
}
|
|
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
|
|
273
|
-
|
|
274
|
-
declare function createAuthEndpoint<Path extends string, Options extends EndpointOptions, R>(options: Options, handler:
|
|
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: <
|
|
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 =
|
|
280
|
+
type AuthMiddleware = MiddlewareHandler;
|
|
280
281
|
//#endregion
|
|
281
282
|
export { AuthEndpoint, AuthMiddleware, createAuthEndpoint, createAuthMiddleware, optionsMiddleware };
|
package/dist/api/index.mjs
CHANGED
|
@@ -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
|
|
33
|
-
function
|
|
34
|
-
|
|
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(
|
|
41
|
-
} catch (
|
|
42
|
-
attachResponseHeadersToAPIError(
|
|
43
|
-
throw
|
|
36
|
+
return await runWithEndpointContext(context, () => handler(context));
|
|
37
|
+
} catch (error) {
|
|
38
|
+
attachResponseHeadersToAPIError(context.responseHeaders, error);
|
|
39
|
+
throw error;
|
|
44
40
|
}
|
|
45
41
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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,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;
|
package/dist/context/global.mjs
CHANGED
|
@@ -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>({
|
|
12
|
+
declare const createAdapterFactory: <Options extends BetterAuthOptions>({
|
|
13
|
+
adapter: customAdapter,
|
|
14
|
+
config: cfg
|
|
15
|
+
}: AdapterFactoryOptions) => AdapterFactory<Options>;
|
|
14
16
|
//#endregion
|
|
15
|
-
export { AdapterFactory,
|
|
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
|
|
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: ({
|
|
4
|
+
declare const initGetDefaultFieldName: ({
|
|
5
|
+
schema,
|
|
6
|
+
usePlural
|
|
7
|
+
}: {
|
|
4
8
|
schema: BetterAuthDBSchema;
|
|
5
9
|
usePlural: boolean | undefined;
|
|
6
|
-
}) => ({
|
|
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: ({
|
|
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: ({
|
|
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
|
-
}) => ({
|
|
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: ({
|
|
4
|
+
declare const initGetFieldName: ({
|
|
5
|
+
schema,
|
|
6
|
+
usePlural
|
|
7
|
+
}: {
|
|
4
8
|
schema: BetterAuthDBSchema;
|
|
5
9
|
usePlural: boolean | undefined;
|
|
6
|
-
}) => ({
|
|
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: ({
|
|
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
|
-
}) => ({
|
|
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: ({
|
|
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>>({
|
|
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>({
|
|
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>({
|
|
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: ({
|
|
543
|
+
delete: ({
|
|
544
|
+
model,
|
|
545
|
+
where
|
|
546
|
+
}: {
|
|
528
547
|
model: string;
|
|
529
548
|
where: CleanedWhere[];
|
|
530
549
|
}) => Promise<void>;
|
|
531
|
-
deleteMany: ({
|
|
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: ({
|
|
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: ({
|
|
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: ({
|
|
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: ({
|
|
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>({
|
|
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;
|
package/dist/db/get-tables.d.mts
CHANGED
|
@@ -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
|
package/dist/db/plugin.d.mts
CHANGED
|
@@ -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,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;
|