UNPKG

flexmonster-mongo-connector

Version:

MongoDB connector for Flexmonster Pivot Table and Charts

38 lines (37 loc) 1.83 kB
import { IRequestArgument } from "../IRequestArgument"; import { QueryBuilder } from "../../../query/builder/QueryBuilder"; import { AbstractApiRequest } from "./AbstractApiRequest"; import { APISchema } from "../../../schema/APISchema"; import { IQuery } from "../../../query/IQuery"; import { MongoQueryExecutor } from "../../../query/MongoQueryExecutor"; import { ArrayDataObject } from "../../../cache/dataObject/impl/ArrayDataObject"; export declare class AggregationApiRequest extends AbstractApiRequest { private readonly GROUPING_LIMITATION; private _isPaginationEnabled; private _templateQuery; private _isFinished; private _currentTimer; constructor(requestArgument: IRequestArgument); getData(queryBuilder: QueryBuilder, queryExecutor: MongoQueryExecutor): Promise<any>; _getData(queryBuilder: QueryBuilder, queryExecutor: MongoQueryExecutor): Promise<any>; private loadDataAsync; buildMongoQuery(queryBuilder: QueryBuilder, schema: APISchema, preFilteredQueries?: IQuery[]): any; private preFilterQueries; parseQueryResult: (queryResult: Promise<any>, date?: Date, preFilteredQueries?: IQuery[]) => Promise<ArrayDataObject>; updateLoadingStatus(data: any): void; toJSON(response: any, nextPageToken?: string): any; private isAllQueryDataLoaded; private updateQueryStats; private isEverythingLoaded; protected _splitQuery(query: any): any[]; private applyPaginationStrategie; private balanceGroupingLimitation; private isPaginationNecessary; private _splitIntersectionQuery; private getExpectedNumberOfRecords; private _splitSubTotalQuery; private _generateAllSubtotalsCombinations; private areSubTotalsAvailable; private _splitGrandTotalQuery; private areValuesAvailable; }