mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-25 19:40:24 +00:00
* fix: removed unused code for querycontext (#8674) * Update frontend/src/utils/queryValidationUtils.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * feat: added tooltips in metric aggregations * feat: enabled legend enhancement for explorer pages and alert page * feat: updated the error state in explorer pages with new APIError * fix: cloned panel query shows previous query (#8681) * fix: cloned panel query shows previous query * chore: removed comments * chore: added null check * fix: added fix for auto run query in dashboard panel + trace view issue --------- Co-authored-by: Abhi Kumar <abhikumar@Mac.lan> * feat: added new SubstituteVars api and enable v5 for creating new alerts (#8683) * feat: added new SubstituteVars api and enable v5 for creating new alerts * feat: add warning notification for query response * feat: fixed failing test case * fix: metric histogram UI config state in edit mode * fix: fixed table columns getting duplicate data (#8685) * fix: added fix for conversion of QB function to filter expression. (#8684) * fix: added fix for QB filters for functions * chore: minor fix --------- Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com> * feat: query builder fixes and enhancement (#8692) * feat: legend format fixes around single and multiple aggregation * feat: fixed table unit and metric units * feat: add fallbacks to columnWidth and columnUnits for old-dashboards * feat: fixed metric edit issue and having filter suggestion duplications * feat: fix and cleanup functions across product for v5 * chore: add tooltips with links to documentation (#8676) * fix: added fix for query validation and empty query error (#8694) * fix: added fix for selected columns being empty in logs explorer (#8709) * feat: added columnUnit changes for old dashboard migrations (#8706) * fix: fixed keyfetching logic (#8712) * chore: lint fix * fix: fixed logs explorer test * feat: fix type checks --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: SagarRajput-7 <sagar@signoz.io> Co-authored-by: Abhi Kumar <abhikumar@Mac.lan> Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
74 lines
1.9 KiB
TypeScript
74 lines
1.9 KiB
TypeScript
import {
|
|
IBuilderFormula,
|
|
IBuilderQuery,
|
|
} from 'types/api/queryBuilder/queryBuilderData';
|
|
import { BuilderQuery, QueryBuilderFormula } from 'types/api/v5/queryRange';
|
|
import { DataSource } from 'types/common/queryBuilder';
|
|
|
|
// Helper functions
|
|
|
|
const getDataSourceFromSignal = (signal: string): DataSource => {
|
|
switch (signal) {
|
|
case 'metrics':
|
|
return DataSource.METRICS;
|
|
case 'logs':
|
|
return DataSource.LOGS;
|
|
case 'traces':
|
|
return DataSource.TRACES;
|
|
default:
|
|
return DataSource.METRICS;
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Converts new BuilderQuery to old IBuilderQuery
|
|
*/
|
|
export const convertBuilderQueryToIBuilderQuery = (
|
|
builderQuery: BuilderQuery,
|
|
): IBuilderQuery => {
|
|
// Determine data source based on signal
|
|
const dataSource = getDataSourceFromSignal(builderQuery.signal);
|
|
|
|
const result: IBuilderQuery = ({
|
|
...builderQuery,
|
|
queryName: builderQuery.name,
|
|
dataSource,
|
|
legend: builderQuery.legend,
|
|
groupBy: builderQuery.groupBy?.map((group) => ({
|
|
key: group?.name,
|
|
dataType: group?.fieldDataType,
|
|
type: group?.fieldContext,
|
|
isColumn: group?.isColumn ?? true,
|
|
isJSON: group?.isJSON || false,
|
|
id: `${group?.name}--${group?.fieldDataType}--${group?.fieldContext}--${group?.isColumn}`,
|
|
})),
|
|
orderBy: builderQuery.order?.map((order) => ({
|
|
columnName: order?.key?.name,
|
|
order: order?.direction,
|
|
})),
|
|
} as unknown) as IBuilderQuery;
|
|
|
|
return result;
|
|
};
|
|
|
|
/**
|
|
* Converts new QueryBuilderFormula to old IBuilderFormula
|
|
*/
|
|
export const convertQueryBuilderFormulaToIBuilderFormula = (
|
|
formula: QueryBuilderFormula,
|
|
): IBuilderFormula => {
|
|
const result: IBuilderFormula = ({
|
|
...formula,
|
|
expression: formula.expression,
|
|
queryName: formula.name,
|
|
legend: formula.legend,
|
|
limit: formula.limit || null,
|
|
orderBy: formula.order?.map((order) => ({
|
|
columnName: order?.key?.name,
|
|
order: order?.direction,
|
|
})),
|
|
} as unknown) as IBuilderFormula;
|
|
|
|
return result;
|
|
};
|