UNPKG

surreal-better-auth

Version:
57 lines (51 loc) 1.97 kB
import * as better_auth from 'better-auth'; import { Surreal } from 'surrealdb'; import { AdapterDebugLogs } from 'better-auth/adapters'; /** * ID generation strategies for SurrealDB records. */ type IdGenerator = "sdk.UUIDv4" | "sdk.UUIDv7" | "surreal" | "surreal.ULID" | "surreal.UUID" | "surreal.UUIDv4" | "surreal.UUIDv7" | "surreal.guid"; /** * Configuration options for the SurrealDB adapter. */ interface SurrealDBAdapterConfig { /** Enable debug logging for adapter operations. */ debugLogs?: AdapterDebugLogs; /** Use plural table names (e.g., 'users' instead of 'user'). @default false */ usePlural?: boolean; /** ID generation strategy. @default undefined (uses Better Auth default) */ idGenerator?: IdGenerator; /** Allow passing custom IDs in data objects. @default false */ allowPassingId?: boolean; } /** * Parameters for schema generation from Better Auth tables. */ interface GenerateSchemaParams { file?: string; tables: Record<string, any>; getModelName: (model: string) => string; getFieldName: (opts: { model: string; field: string; }) => string; getReferencedModel: (tableName: string, fieldName: string) => string | null; } /** * Result of schema generation with path and content. */ interface GenerateSchemaResult { path: string; code: string; overwrite: boolean; } declare const surrealdbAdapter: (db: Surreal, config?: SurrealDBAdapterConfig) => (options: better_auth.BetterAuthOptions) => better_auth.Adapter; /** * Schema generation utilities for SurrealDB Better Auth adapter. * Generates SurrealDB schema definitions with proper field types and indexes. */ /** * Generates SurrealDB schema from Better Auth table definitions with proper field types and indexes. */ declare function generateSchema(params: GenerateSchemaParams): GenerateSchemaResult; export { type IdGenerator, type SurrealDBAdapterConfig, generateSchema, surrealdbAdapter };