Yevhen Shevchenko 818a984af3
Feat/extend query builder state (#2755)
* feat: extends query builder state

* fix: correct import path for query type
2023-05-23 19:17:52 +05:30

28 lines
858 B
TypeScript

import { initialQueryBuilderFormValues } from 'constants/queryBuilder';
import { FORMULA_REGEXP } from 'constants/regExp';
import {
BuilderQueryDataResourse,
IBuilderFormula,
IBuilderQuery,
} from 'types/api/queryBuilder/queryBuilderData';
import { QueryBuilderData } from 'types/common/queryBuilder';
export const mapQueryDataFromApi = (
data: BuilderQueryDataResourse,
): QueryBuilderData => {
const queryData: QueryBuilderData['queryData'] = [];
const queryFormulas: QueryBuilderData['queryFormulas'] = [];
Object.entries(data).forEach(([, value]) => {
if (FORMULA_REGEXP.test(value.queryName)) {
const formula = value as IBuilderFormula;
queryFormulas.push(formula);
} else {
const query = value as IBuilderQuery;
queryData.push({ ...initialQueryBuilderFormValues, ...query });
}
});
return { queryData, queryFormulas };
};