svelte-guardian
Version:
Batteries included authentication for SvelteKit applications.
33 lines (32 loc) • 1.05 kB
TypeScript
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;