import { DatabaseStorageFacade } from './DatabaseStorageFacade'; import { Filter, Update } from '@simplus/si-query-object'; import { Pool } from 'pg'; export interface WriteOpsResults { stats: WriteOpsStats; data: Model[]; } export interface WriteOpsResult { stats: WriteOpsStats; data: Model; } export interface WriteOpsStats { error: boolean; created?: number; errors?: number; empty?: number; updated?: number; removed?: number; ignored?: number; code?: number; } export interface CollectionFacade extends DatabaseStorageFacade { create(...model: Model[]): Promise>; duplicateById(id: string): Promise>; update(filter: Filter, model: Update): Promise>; updateById(id: string, model: Update): Promise>; findOne(filter: Filter): Promise; findById(id: string): Promise; find(filter: Filter): Promise; remove(filter: Filter): Promise; removeById(id: string): Promise; createUniqueIndex(...column: string[]): void; } export default CollectionFacade;