mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-17 15:36:48 +00:00
31 lines
948 B
TypeScript
31 lines
948 B
TypeScript
|
|
import {
|
||
|
|
initialFormulaBuilderFormValues,
|
||
|
|
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 transformQueryBuilderDataModel = (
|
||
|
|
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({ ...initialFormulaBuilderFormValues, ...formula });
|
||
|
|
} else {
|
||
|
|
const query = value as IBuilderQuery;
|
||
|
|
queryData.push({ ...initialQueryBuilderFormValues, ...query });
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
return { queryData, queryFormulas };
|
||
|
|
};
|