UNPKG

generic-repository

Version:

Generic repository pattern implementation for node.js. Currently supports mongo and in-memory(testing) databases.

29 lines (28 loc) 1.1 kB
import Repository from '../repository'; import { Db } from 'mongodb'; export default class MongoDBRepository<T> implements Repository<T> { Type: { new (...args: any[]): T; }; private Model; constructor(type: { new (...args: any[]): T; }, db: Promise<Db>); paginate(conditions: any, sortOptions: any, page: any, perPage: any): Promise<T[]>; insertMany(list: T[]): Promise<T[]>; count(conditions?: Object): Promise<number>; find(conditions: any): Promise<T[]>; findOne(conditions: Object): Promise<T>; findById(id: string): Promise<T>; findLast(sortField: string, limit: number): Promise<T[]>; findLastByQuery(conditions: any, sortField: string, limit: number): Promise<T[]>; insert(data: T): Promise<T>; update(conditions: any, newData: any): Promise<T>; deleteOne(conditions: any): Promise<boolean>; deleteMany(conditions: any): Promise<boolean>; private CastQueryIdToObjectId(query); private idToObjectId(id); private toInstance; private toInstanceArray(listItems); private reject(error); }