UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

60 lines (59 loc) 2.12 kB
import { Session, User } from "../../types/models.mjs"; import { InferOptionSchema } from "../../types/plugins.mjs"; import "../../types/index.mjs"; import { schema } from "./schema.mjs"; import { AuthContext, Awaitable, GenericEndpointContext } from "@better-auth/core"; import { EndpointContext } from "better-call"; //#region src/plugins/anonymous/types.d.ts interface UserWithAnonymous extends User { isAnonymous: boolean; } interface AnonymousOptions { /** * Configure the domain name of the temporary email * address for anonymous users in the database. * @default "baseURL" */ emailDomainName?: string | undefined; /** * A useful hook to run after an anonymous user * is about to link their account. */ onLinkAccount?: ((data: { anonymousUser: { user: UserWithAnonymous & Record<string, any>; session: Session & Record<string, any>; }; newUser: { user: User & Record<string, any>; session: Session & Record<string, any>; }; ctx: GenericEndpointContext; }) => Awaitable<void>) | undefined; /** * Disable deleting the anonymous user after linking */ disableDeleteAnonymousUser?: boolean | undefined; /** * A hook to generate a name for the anonymous user. * Useful if you want to have random names for anonymous users, or if `name` is unique in your database. * @returns The name for the anonymous user. */ generateName?: ((ctx: EndpointContext<"/sign-in/anonymous", { method: "POST"; }, AuthContext>) => Awaitable<string>) | undefined; /** * A custom random email generation function. * Useful when you want to specify a temporary email in a different format from the default. * You are responsible for ensuring the email is unique to avoid conflicts. * @returns The email address for the anonymous user. */ generateRandomEmail?: (() => Awaitable<string>) | undefined; /** * Custom schema for the anonymous plugin */ schema?: InferOptionSchema<typeof schema> | undefined; } //#endregion export { AnonymousOptions, UserWithAnonymous }; //# sourceMappingURL=types.d.mts.map