claire-framework
Version:
- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)
34 lines • 1.77 kB
TypeScript
import { IQuery, QueryCondition, SubKeySet } from "./IQuery";
import { ModelMetadata } from "./ModelMetadata";
import { AbstractModel } from "./AbstractModel";
export declare abstract class AbstractQuery<T> implements IQuery<T> {
abstract deleteMany(queries: QueryCondition<T>[]): Promise<number>;
abstract deleteOne(modelInstance: Partial<T>): Promise<T>;
abstract getMany(queries?: QueryCondition<T>[], options?: {
order?: {
[key in SubKeySet<T>]?: "desc" | "asc";
};
projection?: SubKeySet<T>[];
limit?: number;
page?: number;
}): Promise<T[]>;
abstract getOne(queries?: QueryCondition<T>[], options?: {
order?: {
[key in SubKeySet<T>]?: "desc" | "asc";
};
projection?: SubKeySet<T>[];
}): Promise<T | undefined>;
abstract rawQuery(query: any): Promise<any>;
abstract saveMany(modelInstances: Partial<T>[]): Promise<T[]>;
abstract saveOne(modelInstance: Partial<T>): Promise<T>;
abstract updateMany(queries: QueryCondition<T>[], update: Partial<T>): Promise<number>;
abstract updateOne(modelInstance: Partial<T>): Promise<T>;
protected abstract getQueryObjectFromQueryConditions(queries: QueryCondition<T>[]): any;
protected readonly currentModel: new (...args: any[]) => AbstractModel;
protected readonly currentMetadata: ModelMetadata;
protected constructor(model: new (...args: any[]) => AbstractModel, metadata: ModelMetadata);
protected getProjectionFields(projection: SubKeySet<T>[]): string[];
protected convertToLogicObjects(dataObjects: any[], projection?: SubKeySet<T>[]): Partial<T>[];
protected convertToDataObjects(modelInstances: Partial<T>[]): any;
}
//# sourceMappingURL=AbstractQuery.d.ts.map