UNPKG

@lifeworld/adapter-drizzle

Version:
93 lines (92 loc) 2.97 kB
import type { Adapter, DatabaseSession, DatabaseUser, UserId } from "lucia"; import type { SQLiteColumn, BaseSQLiteDatabase, SQLiteTableWithColumns } from "drizzle-orm/sqlite-core"; export declare class DrizzleSQLiteAdapter implements Adapter { private db; private sessionTable; private userTable; constructor(db: BaseSQLiteDatabase<any, any, any>, sessionTable: SQLiteSessionTable, userTable: SQLiteUserTable); deleteSession(sessionId: string): Promise<void>; deleteUserSessions(userId: UserId): Promise<void>; getSessionAndUser(sessionId: string): Promise<[session: DatabaseSession | null, user: DatabaseUser | null]>; private getSession; private getUserFromSessionId; getUserSessions(userId: UserId): Promise<DatabaseSession[]>; setSession(session: DatabaseSession): Promise<void>; updateSessionExpiration(sessionId: string, expiresAt: Date): Promise<void>; deleteExpiredSessions(): Promise<void>; } export type SQLiteUserTable = SQLiteTableWithColumns<{ dialect: "sqlite"; columns: { id: SQLiteColumn<{ name: any; tableName: any; dataType: any; columnType: any; data: UserId; driverParam: any; notNull: true; hasDefault: boolean; enumValues: any; baseColumn: any; isPrimaryKey: any; isAutoincrement: any; hasRuntimeDefault: any; generated: any; }, object>; }; schema: any; name: any; }>; export type SQLiteSessionTable = SQLiteTableWithColumns<{ dialect: any; columns: { id: SQLiteColumn<{ dataType: any; notNull: true; enumValues: any; tableName: any; columnType: any; data: string; driverParam: any; hasDefault: false; name: any; isPrimaryKey: any; isAutoincrement: any; hasRuntimeDefault: any; generated: any; }, object>; expiresAt: SQLiteColumn<{ dataType: any; notNull: true; enumValues: any; tableName: any; columnType: any; data: number; driverParam: any; hasDefault: false; name: any; isPrimaryKey: any; isAutoincrement: any; hasRuntimeDefault: any; generated: any; }, object>; userId: SQLiteColumn<{ dataType: any; notNull: true; enumValues: any; tableName: any; columnType: any; data: UserId; driverParam: any; hasDefault: false; name: any; isPrimaryKey: any; isAutoincrement: any; hasRuntimeDefault: any; generated: any; }, object>; }; schema: any; name: any; }>;