Skip to content

Commit

Permalink
fix: having filter removing payload (#2706)
Browse files Browse the repository at this point in the history
  • Loading branch information
yeshev committed May 18, 2023
1 parent 679eb39 commit 18fc1a2
Show file tree
Hide file tree
Showing 15 changed files with 458 additions and 120 deletions.
12 changes: 10 additions & 2 deletions frontend/src/api/queryBuilder/getAggregateAttribute.ts
Expand Up @@ -6,7 +6,11 @@ import createQueryParams from 'lib/createQueryParams';
import { ErrorResponse, SuccessResponse } from 'types/api';
// ** Types
import { IGetAggregateAttributePayload } from 'types/api/queryBuilder/getAggregatorAttribute';
import { IQueryAutocompleteResponse } from 'types/api/queryBuilder/queryAutocompleteResponse';
import {
BaseAutocompleteData,
IQueryAutocompleteResponse,
} from 'types/api/queryBuilder/queryAutocompleteResponse';
import { v4 as uuid } from 'uuid';

export const getAggregateAttribute = async ({
aggregateOperator,
Expand All @@ -26,11 +30,15 @@ export const getAggregateAttribute = async ({
})}`,
);

const payload: BaseAutocompleteData[] =
response.data.data.attributeKeys?.map((item) => ({ ...item, id: uuid() })) ||
[];

return {
statusCode: 200,
error: null,
message: response.statusText,
payload: response.data.data,
payload: { attributeKeys: payload },
};
} catch (e) {
return ErrorResponseHandler(e as AxiosError);
Expand Down
12 changes: 10 additions & 2 deletions frontend/src/api/queryBuilder/getAttributeKeys.ts
Expand Up @@ -5,7 +5,11 @@ import createQueryParams from 'lib/createQueryParams';
import { ErrorResponse, SuccessResponse } from 'types/api';
// ** Types
import { IGetAttributeKeysPayload } from 'types/api/queryBuilder/getAttributeKeys';
import { IQueryAutocompleteResponse } from 'types/api/queryBuilder/queryAutocompleteResponse';
import {
BaseAutocompleteData,
IQueryAutocompleteResponse,
} from 'types/api/queryBuilder/queryAutocompleteResponse';
import { v4 as uuid } from 'uuid';

export const getAggregateKeys = async ({
aggregateOperator,
Expand All @@ -28,11 +32,15 @@ export const getAggregateKeys = async ({
})}&tagType=${tagType}`,
);

const payload: BaseAutocompleteData[] =
response.data.data.attributeKeys?.map((item) => ({ ...item, id: uuid() })) ||
[];

return {
statusCode: 200,
error: null,
message: response.statusText,
payload: response.data.data,
payload: { attributeKeys: payload },
};
} catch (e) {
return ErrorResponseHandler(e as AxiosError);
Expand Down
20 changes: 14 additions & 6 deletions frontend/src/constants/queryBuilder.ts
Expand Up @@ -10,20 +10,27 @@ import {
import {
BoolOperators,
DataSource,
LogsAggregatorOperator,
MetricAggregateOperator,
NumberOperators,
PanelTypeKeys,
QueryAdditionalFilter,
ReduceOperators,
StringOperators,
TracesAggregatorOperator,
} from 'types/common/queryBuilder';
import { SelectOption } from 'types/common/select';
import { v4 as uuid } from 'uuid';

import {
logsAggregateOperatorOptions,
metricAggregateOperatorOptions,
tracesAggregateOperatorOptions,
} from './queryBuilderOperators';

export const MAX_FORMULAS = 20;
export const MAX_QUERIES = 26;

export const selectValueDivider = '--';

export const formulasNames: string[] = Array.from(
Array(MAX_FORMULAS),
(_, i) => `F${i + 1}`,
Expand All @@ -37,10 +44,10 @@ export enum QueryBuilderKeys {
GET_ATTRIBUTE_KEY = 'GET_ATTRIBUTE_KEY',
}

export const mapOfOperators: Record<DataSource, string[]> = {
metrics: Object.values(MetricAggregateOperator),
logs: Object.values(LogsAggregatorOperator),
traces: Object.values(TracesAggregatorOperator),
export const mapOfOperators = {
metrics: metricAggregateOperatorOptions,
logs: logsAggregateOperatorOptions,
traces: tracesAggregateOperatorOptions,
};

export const mapOfFilters: Record<DataSource, QueryAdditionalFilter[]> = {
Expand Down Expand Up @@ -78,6 +85,7 @@ export const initialHavingValues: HavingForm = {
};

export const initialAggregateAttribute: IBuilderQuery['aggregateAttribute'] = {
id: uuid(),
dataType: null,
key: '',
isColumn: null,
Expand Down

0 comments on commit 18fc1a2

Please sign in to comment.