Yevhen Shevchenko 8679f2c37a
feat: add query builder to the alerts (#2657)
* fix: having value data type

* feat: connect new builder to dashboard

* Fix/query builder filters (#2623)

* feat: rename query data type

* fix: remove reset of groupBy

* fix: filters search

* fix: calls autocomplete times

* fix: response mapper

* fix: removee unnecessary field

* fix: no check ts types for old query builder

* fix: disable check utils old builder

* feat: add query builder to the alerts

* fix: alert response integration with query builder

* fix: validation of query builder rules

* fix: rules query builder

* fix: filter value with similar keys

* fix: null values for options

* fix: query builder disabled when exist formula

* fix: removing filter key with underscore

* feat: add builder data to metric application (#2665)

* feat: add builder data to metric application

* fix: query types to single variant

* fix: formula legend formatting

* fix: argumant name

* fix: date for graph

---------

Co-authored-by: Palash Gupta <palashgdev@gmail.com>

* fix: pipeline

---------

Co-authored-by: Palash Gupta <palashgdev@gmail.com>
2023-05-10 22:10:27 +05:30

50 lines
979 B
TypeScript

import { QueryBuilderData } from 'types/common/queryBuilder';
import {
MapFormula,
MapQuery,
MapQueryDataToApiResult,
} from 'types/common/queryBuilderMappers.types';
export const mapQueryDataToApi = (
data: QueryBuilderData,
): MapQueryDataToApiResult => {
const newLegendMap: Record<string, string> = {};
const preparedQueryData: MapQuery = data.queryData.reduce<MapQuery>(
(acc, query) => {
const newResult: MapQuery = {
...acc,
[query.queryName]: {
...query,
},
};
newLegendMap[query.queryName] = query.legend;
return newResult;
},
{},
);
const preparedFormulaData: MapFormula = data.queryFormulas.reduce<MapFormula>(
(acc, formula) => {
const newResult: MapFormula = {
...acc,
[formula.queryName]: {
...formula,
},
};
newLegendMap[formula.queryName] = formula.legend;
return newResult;
},
{},
);
return {
data: { ...preparedQueryData, ...preparedFormulaData },
newLegendMap,
};
};