UNPKG

svelte-guardian

Version:

Batteries included authentication for SvelteKit applications.

33 lines (32 loc) 1.05 kB
import type { Adapter } from '@auth/core/adapters'; import type { PrismaClient } from '@prisma/client'; export type DatabaseProviderType = 'prisma' | 'drizzle' | 'mongodb' | 'postgres' | 'mysql' | 'sqlite' | 'supabase' | 'custom'; export interface BaseDatabaseConfig { type: DatabaseProviderType; connectionString?: string; ssl?: boolean; } export interface CustomAdapterConfig extends BaseDatabaseConfig { type: 'custom'; adapter: Adapter; } export interface PrismaConfig extends BaseDatabaseConfig { type: 'prisma'; client: PrismaClient; } export interface DrizzleConfig extends BaseDatabaseConfig { type: 'drizzle'; client: any; schema?: any; } export interface MongoDBConfig extends BaseDatabaseConfig { type: 'mongodb'; client: any; databaseName?: string; } export interface SupabaseConfig extends BaseDatabaseConfig { type: 'supabase'; url: string; secret: string; } export type DatabaseConfig = PrismaConfig | DrizzleConfig | MongoDBConfig | SupabaseConfig | CustomAdapterConfig;