UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

50 lines (49 loc) 1.36 kB
export interface DatabaseConnectionOptions { prisma?: { url: string; logQueries?: boolean; maxPoolSize?: number; }; mongodb?: { uri: string; dbName?: string; options?: Record<string, any>; }; synchronization?: { enabled: boolean; strategy: 'immediate' | 'scheduled' | 'event-based'; direction: 'pg-to-mongo' | 'mongo-to-pg' | 'bidirectional'; excludedCollections?: string[]; }; } export interface DualPersistableEntity { id: string; createdAt: Date; updatedAt: Date; prismaData?: Record<string, any>; mongoData?: Record<string, any>; isDeleted?: boolean; version: number; } export interface QueryOptions { select?: string[] | Record<string, boolean>; where?: Record<string, any>; orderBy?: Record<string, 'asc' | 'desc'>; skip?: number; take?: number; include?: Record<string, boolean | Record<string, any>>; distinct?: string[]; dbSpecific?: { prisma?: Record<string, any>; mongodb?: Record<string, any>; }; source?: 'primary' | 'secondary' | 'auto'; } export interface Transaction { id: string; startedAt: Date; commit(): Promise<void>; rollback(): Promise<void>; query<T = any>(query: string, params?: any[]): Promise<T>; isActive(): boolean; }