ncrudify
Version:
Configurable CRUD module for NestJS and Mongoose.
21 lines (20 loc) • 1.01 kB
TypeScript
import { Model, FilterQuery, UpdateQuery } from "mongoose";
import { IResponse } from "./interface/response.interface";
export declare class CrudifyService<T, C = Partial<T>, U = Partial<T>> {
protected readonly model: Model<T>;
constructor(model: Model<T>);
create(createDto: C): Promise<T | any>;
createBulk(data: C[]): Promise<T[] | any>;
findAll(query?: FilterQuery<T>): Promise<IResponse<T>>;
findOne(filter: FilterQuery<any>): Promise<T | null>;
count(filter: Record<string, any>): Promise<number>;
put(id: string, updateDto: UpdateQuery<U>): Promise<T | null>;
update(id: string, updateDto: UpdateQuery<T>): Promise<T | null>;
updateBulk(filter: any, updateDto: UpdateQuery<U>): Promise<any>;
delete(id: string): Promise<T | null>;
deleteBulk(filter: any): Promise<any>;
softDelete(id: string): Promise<T | null>;
softDeleteBulk(filter: any): Promise<any>;
restore(id: string): Promise<T | null>;
restoreBulk(filter: any): Promise<any>;
}