UNPKG

@convex-dev/better-auth

Version:
414 lines 18.9 kB
import { BetterAuthOptions } from "better-auth/types"; import { z } from "zod"; export declare const JWT_COOKIE_NAME = "convex_jwt"; export declare const convex: <O extends BetterAuthOptions>(opts?: { jwtExpirationSeconds?: number; deleteExpiredSessionsOnLogin?: boolean; options?: O; }) => { id: "convex"; hooks: { before: ({ matcher(context: import("better-auth").HookEndpointContext): boolean; handler: (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{ context: { headers: Headers; }; } | undefined>; } | { matcher: (ctx: import("better-auth").HookEndpointContext) => boolean; handler: (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{ context: import("better-call").MiddlewareContext<import("better-call").MiddlewareOptions, import("better-auth").AuthContext & { returned?: unknown; responseHeaders?: Headers; }>; }>; })[]; after: ({ matcher(): true; handler: (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<Response | { redirect: boolean; url: string; } | undefined>; } | { matcher: (ctx: import("better-auth").HookEndpointContext) => boolean; handler: (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>; })[]; }; endpoints: { getSession: { <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: string | boolean | undefined; disableRefresh?: boolean | undefined; } | undefined; } & { params?: Record<string, any>; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: import("better-call").Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: Omit<import("better-auth").UnionToIntersection<import("better-auth").StripEmptyObjects<{ id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; } & (O extends BetterAuthOptions ? import("better-auth").AdditionalUserFieldsOutput<O> : O extends import("better-auth").Auth ? import("better-auth").AdditionalUserFieldsOutput<O["options"]> : {})>> & { userId: string; }, "userId"> & { id: string; }; session: import("better-auth").UnionToIntersection<import("better-auth").StripEmptyObjects<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; } & (O extends BetterAuthOptions ? import("better-auth").AdditionalSessionFieldsOutput<O> : O extends import("better-auth").Auth ? import("better-auth").AdditionalSessionFieldsOutput<O["options"]> : {})>> & { userId: string; }; } | null; } : { user: Omit<import("better-auth").UnionToIntersection<import("better-auth").StripEmptyObjects<{ id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; } & (O extends BetterAuthOptions ? import("better-auth").AdditionalUserFieldsOutput<O> : O extends import("better-auth").Auth ? import("better-auth").AdditionalUserFieldsOutput<O["options"]> : {})>> & { userId: string; }, "userId"> & { id: string; }; session: import("better-auth").UnionToIntersection<import("better-auth").StripEmptyObjects<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; } & (O extends BetterAuthOptions ? import("better-auth").AdditionalSessionFieldsOutput<O> : O extends import("better-auth").Auth ? import("better-auth").AdditionalSessionFieldsOutput<O["options"]> : {})>> & { userId: string; }; } | null>; options: { method: "GET"; query: z.ZodOptional<z.ZodObject<{ disableCookieCache: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>; disableRefresh: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { disableCookieCache?: boolean | undefined; disableRefresh?: boolean | undefined; }, { disableCookieCache?: string | boolean | undefined; disableRefresh?: boolean | undefined; }>>; metadata: { CUSTOM_SESSION: boolean; openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; nullable: boolean; items: { $ref: string; }; }; }; }; }; }; }; }; requireHeaders: true; } & { use: any[]; }; path: "/get-session"; }; getOpenIdConfig: { <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record<string, any> | undefined; } & { params?: Record<string, any>; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: import("better-call").Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: import("better-auth/plugins").OIDCMetadata; } : import("better-auth/plugins").OIDCMetadata>; options: { method: "GET"; metadata: { isAction: boolean; }; } & { use: any[]; }; path: "/convex/.well-known/openid-configuration"; }; getJwks: { <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record<string, any> | undefined; } & { params?: Record<string, any>; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: import("better-call").Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { keys: any[]; }; } : { keys: any[]; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { keys: { type: string; description: string; items: { type: string; properties: { kid: { type: string; description: string; }; kty: { type: string; description: string; }; alg: { type: string; description: string; }; use: { type: string; description: string; enum: string[]; nullable: boolean; }; n: { type: string; description: string; nullable: boolean; }; e: { type: string; description: string; nullable: boolean; }; crv: { type: string; description: string; nullable: boolean; }; x: { type: string; description: string; nullable: boolean; }; y: { type: string; description: string; nullable: boolean; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/convex/jwks"; }; getToken: { <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record<string, any> | undefined; } & { params?: Record<string, any>; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: import("better-call").Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string; }; } : { token: string; }>; options: { method: "GET"; requireHeaders: true; use: ((inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{ session: { session: Record<string, any> & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record<string, any> & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/convex/token"; }; }; schema: { jwks: { fields: { publicKey: { type: "string"; required: true; }; privateKey: { type: "string"; required: true; }; createdAt: { type: "date"; required: true; }; }; }; user: { readonly fields: { readonly userId: { readonly type: "string"; readonly required: false; readonly input: false; }; }; }; }; }; //# sourceMappingURL=index.d.ts.map