@aequum/mongoose
Version:
aequum mongoose tools for repository, pagination, CRUD/CRUDL, configs and utils
25 lines (24 loc) • 2.46 kB
TypeScript
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 {};