generic-repository
Version:
Generic repository pattern implementation for node.js. Currently supports mongo and in-memory(testing) databases.
19 lines (18 loc) • 715 B
TypeScript
interface Repository<T> {
Type: {
new (...args: any[]): T;
};
find(conditions: Object): Promise<T[]>;
paginate(conditions: Object, sortOptions: any, page: number, perPage: number): Promise<T[]>;
findOne(conditions: Object): Promise<T>;
findById(id: string): Promise<T>;
insert(data: T): Promise<T>;
insertMany(list: T[]): Promise<T[]>;
update(query: any, newData: any): Promise<T>;
findLast(field: string, limit: number): Promise<T[]>;
findLastByQuery(query: any, sortField: string, limit: number): Promise<T[]>;
deleteOne(query: any): Promise<boolean>;
deleteMany(query: any): Promise<boolean>;
count(): Promise<number>;
}
export default Repository;