@stenneepro/mongoose-soft-delete
Version:
Mongoose soft delete plugin
13 lines (12 loc) • 777 B
TypeScript
import { DeleteResult } from 'mongodb';
import { Document, QueryWithHelpers, SaveOptions } from 'mongoose';
import DeletedSchema from './types/DeletedSchema';
import DeletedFieldOptions from './types/DeletedFieldOptions';
import { DeleteOptions } from './types/DeleteOptions';
export interface DeletedMethods {
restoreOne(this: Document, saveOptions?: SaveOptions): Promise<this>;
}
export interface DeletedByMethods<TUser = any, T = any, TQueryHelpers = any, DocType = any> {
deleteOneByUser(user: TUser, saveOptions?: SaveOptions): QueryWithHelpers<DeleteResult, Document<T, TQueryHelpers, DocType>, TQueryHelpers, DocType, 'deleteOne'>;
}
export default function (schema: DeletedSchema, deleteOptions: DeleteOptions, deletedFieldOptions: DeletedFieldOptions): void;