UNPKG

@stenneepro/mongoose-soft-delete

Version:
23 lines (22 loc) 2.17 kB
import { DeleteResult } from 'mongodb'; import { FilterQuery, QueryWithHelpers, UpdateWriteOpResult } from 'mongoose'; import DeletedSchema from './types/DeletedSchema'; import { MongooseUpdateOptions } from './utils/getOverloadedArguments'; import DeletedFieldOptions from './types/DeletedFieldOptions'; export interface DeletedStaticMethods<T, TQueryHelpers = {}> { deleteMany(filter?: FilterQuery<T>, options?: MongooseUpdateOptions | null): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteMany'>; deleteMany(filter: FilterQuery<T>): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteMany'>; deleteOne(filter?: FilterQuery<T>, options?: MongooseUpdateOptions | null): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteOne'>; deleteOne(filter?: FilterQuery<T>): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteOne'>; restoreOne(filter?: FilterQuery<T>, options?: MongooseUpdateOptions | null): QueryWithHelpers<UpdateWriteOpResult, T, TQueryHelpers, T, 'updateOne'>; restoreOne(filter: FilterQuery<T>): QueryWithHelpers<UpdateWriteOpResult, T, TQueryHelpers, T, 'updateOne'>; restoreMany(filter?: FilterQuery<T>, options?: MongooseUpdateOptions | null): QueryWithHelpers<UpdateWriteOpResult, T, TQueryHelpers, T, 'updateMany'>; restoreMany(filter: FilterQuery<T>): QueryWithHelpers<UpdateWriteOpResult, T, TQueryHelpers, T, 'updateMany'>; } export interface DeletedByStaticMethods<T, TUser = any, TQueryHelpers = {}> { deleteManyByUser(user: TUser, filter?: FilterQuery<T>, options?: MongooseUpdateOptions | null): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteMany'>; deleteManyByUser(user: TUser, filter: FilterQuery<T>): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteMany'>; deleteOneByUser(user: TUser, filter?: FilterQuery<T>, options?: MongooseUpdateOptions): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteOne'>; deleteOneByUser(user: TUser, filter: FilterQuery<T>): QueryWithHelpers<DeleteResult, T, TQueryHelpers, T, 'deleteOne'>; } export default function (schema: DeletedSchema, deletedFieldOptions: DeletedFieldOptions): void;