naga-audit-service
Version:
A comprehensive audit service library for NestJS applications with MongoDB support
22 lines • 1.51 kB
TypeScript
import { AggregateOptions, Document, FilterQuery, Model, PipelineStage, ProjectionType, QueryOptions, UpdateQuery } from "mongoose";
import { BulkWriteOpResult, UpdatedModel, WriteOperation } from "./mongo-lib.types";
import { IMongoRepository } from "./repository.abstract";
export declare class MongoRepository<T extends Document, K = T, L = T> implements IMongoRepository<T, K, L> {
private _repository;
constructor(repository: Model<T>);
findOne(filters: FilterQuery<T>, projections?: ProjectionType<T>, options?: QueryOptions<T>): Promise<K>;
find(filters: FilterQuery<T>, projections?: ProjectionType<T>, options?: QueryOptions<T>): Promise<K[]>;
findOneAndUpdate(filters: FilterQuery<T>, updateQuery: UpdateQuery<T>, options?: QueryOptions<T>): Promise<K>;
findOneAndDelete(filters: FilterQuery<T>, options?: QueryOptions<T>): Promise<K>;
updateMany(filters: FilterQuery<T>, updateQuery: UpdateQuery<T>): Promise<UpdatedModel>;
countDocuments(filters: FilterQuery<T>, options?: QueryOptions<T>): Promise<number>;
create(payload: Partial<K>): Promise<L>;
aggregate<L>(pipeline: PipelineStage[], options?: AggregateOptions): Promise<L[]>;
bulkWrite(operations: WriteOperation[]): Promise<BulkWriteOpResult>;
distinct(field: string, filters?: FilterQuery<T>): Promise<any[]>;
deleteMany(operation: FilterQuery<T>): Promise<{
deletedCount: number;
}>;
insertMany(payload: Partial<K>[]): Promise<K[]>;
}
//# sourceMappingURL=repository.d.ts.map