UNPKG

@forestadmin/forestadmin-client

Version:

This package contains the logic to use the ForestAdmin API inside an agent.

57 lines 5.49 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const chart_detector_1 = __importDefault(require("../utils/chart-detector")); const context_variables_injector_1 = __importDefault(require("../utils/context-variables-injector")); class ChartHandlerService { constructor(contextVariablesInstantiator) { this.contextVariablesInstantiator = contextVariablesInstantiator; } async getChartWithContextInjected({ userId, renderingId, chartRequest, }) { const contextVariables = await this.contextVariablesInstantiator.buildContextVariables({ userId, renderingId, requestContextVariables: chartRequest.contextVariables, }); const chart = { ...chartRequest }; delete chart.contextVariables; if (chart_detector_1.default.isFilterableChart(chart)) { chart.filter = context_variables_injector_1.default.injectContextInFilter(chart.filter, contextVariables); } if (chart_detector_1.default.isAggregatedChart(chart)) { chart.aggregator = context_variables_injector_1.default.injectContextInValue(chart.aggregator, contextVariables); } if (chart_detector_1.default.isLineChart(chart)) { chart.timeRange = context_variables_injector_1.default.injectContextInValue(chart.timeRange, contextVariables); } if (chart_detector_1.default.isObjectiveChart(chart)) { chart.objective = Number(context_variables_injector_1.default.injectContextInValue(chart.objective, contextVariables)); } if (chart_detector_1.default.isLeaderboardChart(chart)) { chart.limit = Number(context_variables_injector_1.default.injectContextInValue(chart.limit, contextVariables)); } return chart; } async getQueryForChart({ userId, renderingId, chartRequest, }) { const contextVariables = await this.contextVariablesInstantiator.buildContextVariables({ userId, renderingId, requestContextVariables: chartRequest.contextVariables, }); const contextVariablesUsed = {}; const replaceContextVariable = (contextVariableName) => { const contextVariableRenamed = contextVariableName.replace(/\./g, '_'); contextVariablesUsed[contextVariableRenamed] = contextVariables.getValue(contextVariableName); return `$${contextVariableRenamed}`; }; const query = context_variables_injector_1.default.injectContextInValueCustom(chartRequest.query, replaceContextVariable); return { query, contextVariables: contextVariablesUsed, }; } } exports.default = ChartHandlerService; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGFydHMvY2hhcnQtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLDZFQUFvRDtBQUNwRCxxR0FBMkU7QUFNM0UsTUFBcUIsbUJBQW1CO0lBQ3RDLFlBQTZCLDRCQUEwRDtRQUExRCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO0lBQUcsQ0FBQztJQUVwRixLQUFLLENBQUMsMkJBQTJCLENBQUMsRUFDdkMsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEdBS2I7UUFDQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLDRCQUE0QixDQUFDLHFCQUFxQixDQUFDO1lBQ3JGLE1BQU07WUFDTixXQUFXO1lBQ1gsdUJBQXVCLEVBQUUsWUFBWSxDQUFDLGdCQUFnQjtTQUN2RCxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFDbEMsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFFOUIsSUFBSSx3QkFBYSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsb0NBQXdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQy9GO1FBRUQsSUFBSSx3QkFBYSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsb0NBQXdCLENBQUMsb0JBQW9CLENBQzlELEtBQUssQ0FBQyxVQUFVLEVBQ2hCLGdCQUFnQixDQUNqQixDQUFDO1NBQ0g7UUFFRCxJQUFJLHdCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxTQUFTLEdBQUcsb0NBQXdCLENBQUMsb0JBQW9CLENBQzdELEtBQUssQ0FBQyxTQUFTLEVBQ2YsZ0JBQWdCLENBQ2pCLENBQUM7U0FDSDtRQUVELElBQUksd0JBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QyxLQUFLLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FDdEIsb0NBQXdCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUNqRixDQUFDO1NBQ0g7UUFFRCxJQUFJLHdCQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQ2xCLG9DQUF3QixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FDN0UsQ0FBQztTQUNIO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQzVCLE1BQU0sRUFDTixXQUFXLEVBQ1gsWUFBWSxHQUtiO1FBQ0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxxQkFBcUIsQ0FBQztZQUNyRixNQUFNO1lBQ04sV0FBVztZQUNYLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxnQkFBZ0I7U0FDdkQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBNEIsRUFBRSxDQUFDO1FBRXpELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxtQkFBMkIsRUFBRSxFQUFFO1lBQzdELE1BQU0sc0JBQXNCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RSxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBRTlGLE9BQU8sSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUFHLG9DQUF3QixDQUFDLDBCQUEwQixDQUMvRCxZQUFZLENBQUMsS0FBSyxFQUNsQixzQkFBc0IsQ0FDdkIsQ0FBQztRQUVGLE9BQU87WUFDTCxLQUFLO1lBQ0wsZ0JBQWdCLEVBQUUsb0JBQW9CO1NBQ3ZDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF2RkQsc0NBdUZDIn0=