flexmonster-mongo-connector
Version:
MongoDB connector for Flexmonster Pivot Table and Charts
28 lines (27 loc) • 1.44 kB
TypeScript
import { IApiRequest } from "../IApiRequest";
import { IRequestArgument } from "../IRequestArgument";
import { QueryBuilder } from "../../../query/builder/QueryBuilder";
import { MongoQueryExecutor } from "../../../query/MongoQueryExecutor";
import { APISchema } from "../../../schema/APISchema";
import { IQuery } from "../../../query/IQuery";
import { Db } from "mongodb";
export declare abstract class AbstractApiRequest implements IApiRequest {
protected readonly _requestArgument: IRequestArgument;
protected _splitedQueries: any[] | IQuery[];
protected _curentQueryIndex: number;
protected _currentPageIndex: number;
protected _db: Db;
protected CHUNK_SIZE: number;
protected _loggingTemplate: string;
protected _schema: APISchema;
constructor(requestArgument: IRequestArgument);
get requestArgument(): IRequestArgument;
get loggingTemplate(): string;
getData(queryBuilder: QueryBuilder, queryExecutor: MongoQueryExecutor): Promise<any>;
protected _splitQuery(query: any): any[];
protected executeQuery(queryExecutor: MongoQueryExecutor, mongoQuery: any): Promise<any>;
abstract toJSON(response: any, nextpageToken?: string): any;
protected abstract buildMongoQuery(queryBuilder: QueryBuilder, schema: APISchema): any;
protected abstract parseQueryResult(queryResultCursor: Promise<any>, date: Date): Promise<any>;
dispose(): void;
}