claire-framework
Version:
- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)
35 lines • 1.2 kB
TypeScript
import { QueryOperator } from "./QueryOperator";
/**
* Subset of the keys of an interface/class.
*/
export declare type SubKeySet<T> = keyof Partial<T>;
/**
* Query condition based on a interface/class.
*/
export declare type QueryCondition<T> = {
[name in SubKeySet<T>]?: QueryOperator;
};
export interface IQuery<T> {
saveOne(modelInstance: Partial<T>): Promise<T>;
saveMany(modelInstances: Partial<T>[]): Promise<T[]>;
updateOne(modelInstance: T): Promise<T>;
updateMany(queries: QueryCondition<T>[], update: Partial<T>): Promise<number>;
deleteOne(modelInstance: T): Promise<T>;
deleteMany(queries: QueryCondition<T>[]): Promise<number>;
getOne(queries?: QueryCondition<T>[], options?: {
order?: {
[key in SubKeySet<T>]?: "desc" | "asc";
};
projection?: SubKeySet<T>[];
}): Promise<T | undefined>;
getMany(queries?: QueryCondition<T>[], options?: {
order?: {
[key in SubKeySet<T>]?: "desc" | "asc";
};
projection?: SubKeySet<T>[];
limit?: number;
page?: number;
}): Promise<T[]>;
rawQuery(query: any): Promise<any>;
}
//# sourceMappingURL=IQuery.d.ts.map