UNPKG

@goatlab/fluent

Version:

Readable query Interface & API generator for TS and Node

18 lines (17 loc) 1.15 kB
import { FindByIdFilter, FluentQuery, QueryOutput } from './types'; export interface FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> { insert(data: InputDTO): Promise<OutputDTO>; insertMany(data: InputDTO[]): Promise<OutputDTO[]>; findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<QueryOutput<T, ModelDTO> | null>; findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO>[]>; findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>; findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO> | null>; requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<QueryOutput<FindByIdFilter<ModelDTO>, ModelDTO>>; requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>>; updateById(id: string, data: InputDTO): Promise<OutputDTO>; replaceById(id: string, data: InputDTO): Promise<OutputDTO>; deleteById(id: string): Promise<string>; loadFirst(query?: FluentQuery<ModelDTO>): any; loadById(id: string): any; raw(): any; }