UNPKG

@aequum/mongoose

Version:

aequum mongoose tools for repository, pagination, CRUD/CRUDL, configs and utils

25 lines (24 loc) 2.46 kB
import { AnyKeys, Model as MongooseModel, RootFilterQuery, UpdateQuery } from 'mongoose'; type AnyObject = { [key: string]: any; }; export declare class MongooseRepository<SchemaModel> { protected model: MongooseModel<SchemaModel>; /** * The mongoose schema model * @protected */ get schema(): import("mongoose").Schema<SchemaModel, MongooseModel<SchemaModel, any, any, any, import("mongoose").IfAny<SchemaModel, any, import("mongoose").Document<unknown, any, SchemaModel, any> & import("mongoose").Default__v<import("mongoose").Require_id<SchemaModel>>>, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, import("mongoose").ObtainDocumentType<any, SchemaModel, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>>, import("mongoose").IfAny<import("mongoose").FlatRecord<import("mongoose").ObtainDocumentType<any, SchemaModel, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>>>, any, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<import("mongoose").ObtainDocumentType<any, SchemaModel, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>>>, {}> & import("mongoose").Default__v<import("mongoose").Require_id<import("mongoose").FlatRecord<import("mongoose").ObtainDocumentType<any, SchemaModel, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>>>>>>>; delete(filter: RootFilterQuery<SchemaModel>): Promise<void>; deleteMany(filter: RootFilterQuery<SchemaModel>): Promise<void>; find(filter: RootFilterQuery<SchemaModel>): Promise<SchemaModel[]>; getOne(filter: RootFilterQuery<SchemaModel>): Promise<SchemaModel>; getOneById(id: any): Promise<SchemaModel>; put(data: SchemaModel | AnyObject): Promise<SchemaModel>; putMany(data: any[]): Promise<Awaited<SchemaModel>[]>; update(filter: RootFilterQuery<SchemaModel>, data: AnyKeys<SchemaModel> & AnyObject): Promise<import("mongoose").UpdateWriteOpResult>; pushOnArrayProperty(filter: RootFilterQuery<SchemaModel>, property: string, data: any): Promise<import("mongoose").UpdateWriteOpResult>; pullFromArrayProperty(filter: RootFilterQuery<SchemaModel>, property: string, data: any): Promise<import("mongoose").UpdateWriteOpResult>; updateQuery(filter: RootFilterQuery<SchemaModel>, query: UpdateQuery<SchemaModel>): Promise<import("mongoose").UpdateWriteOpResult>; } export {};