UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

73 lines (72 loc) 2.63 kB
import * as _$_better_auth_core0 from "@better-auth/core"; import { BetterAuthOptions, GenericEndpointContext } from "@better-auth/core"; import { Session, User } from "@better-auth/core/db"; import * as _$better_call0 from "better-call"; import * as _$zod from "zod"; import * as _$zod_v4_core0 from "zod/v4/core"; //#region src/plugins/custom-session/index.d.ts declare module "@better-auth/core" { interface BetterAuthPluginRegistry<AuthOptions, Options> { "custom-session": { creator: typeof customSession; }; } } type CustomSessionPluginOptions = { /** * This option is used to determine if the list-device-sessions endpoint should be mutated to the custom session data. * @default false */ shouldMutateListDeviceSessionsEndpoint?: boolean | undefined; }; declare const customSession: <Returns extends Record<string, any>, O extends BetterAuthOptions = BetterAuthOptions>(fn: (session: { user: User<O["user"], O["plugins"]>; session: Session<O["session"], O["plugins"]>; }, ctx: GenericEndpointContext) => Promise<Returns>, options?: O | undefined, pluginOptions?: CustomSessionPluginOptions | undefined) => { id: "custom-session"; version: string; hooks: { after: { matcher: (ctx: _$_better_auth_core0.HookEndpointContext) => boolean; handler: _$better_call0.Middleware<_$better_call0.MiddlewareOptions, (inputContext: _$better_call0.MiddlewareInputContext<_$better_call0.MiddlewareOptions>) => Promise<Awaited<Returns>[] | undefined>>; }[]; }; endpoints: { getSession: _$better_call0.StrictEndpoint<"/get-session", { method: "GET"; query: _$zod.ZodOptional<_$zod.ZodObject<{ disableCookieCache: _$zod.ZodOptional<_$zod.ZodCoercedBoolean<unknown>>; disableRefresh: _$zod.ZodOptional<_$zod.ZodCoercedBoolean<unknown>>; }, _$zod_v4_core0.$strip>>; metadata: { CUSTOM_SESSION: boolean; openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; nullable: boolean; items: { $ref: string; }; }; }; }; }; }; }; }; requireHeaders: true; }, Returns | null>; }; $Infer: { Session: Awaited<ReturnType<typeof fn>>; }; options: CustomSessionPluginOptions | undefined; }; //#endregion export { CustomSessionPluginOptions, customSession };