diff --git a/package.json b/package.json index 672009842..d432cd291 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "azion-console-kit", - "version": "1.22.0", + "version": "1.22.2", "private": false, "type": "module", "repository": { diff --git a/src/modules/real-time-metrics/constants/reports.js b/src/modules/real-time-metrics/constants/reports.js index 97e17bd98..8a08edcf2 100644 --- a/src/modules/real-time-metrics/constants/reports.js +++ b/src/modules/real-time-metrics/constants/reports.js @@ -1123,8 +1123,8 @@ const REPORTS = [ classifiedIn: ['bad bot', 'good bot'] }, limit: 5000, - groupBy: ['geoipCountry'], - fields: ['geoipCountry'], + groupBy: ['geolocCountryName'], + fields: ['geolocCountryName'], orderDirection: 'ASC', dashboardId: '371360344901061482', variationType: 'regular', diff --git a/src/modules/real-time-metrics/reports/convert-beholder-to-chart.js b/src/modules/real-time-metrics/reports/convert-beholder-to-chart.js index 82a3965a5..c80448fb0 100644 --- a/src/modules/real-time-metrics/reports/convert-beholder-to-chart.js +++ b/src/modules/real-time-metrics/reports/convert-beholder-to-chart.js @@ -346,6 +346,15 @@ const formatCatAbsoluteChartData = ({ report, data }) => { const seriesName = report.groupBy[0] const fieldName = report.aggregationType || report.fields[0] + const botCaptchaIds = ['455330743572401794', '071851224118431167'] + + if (botCaptchaIds.includes(report.id)) { + return data[dataset].map((item) => { + const captchaSeriesName = item[seriesName] == 'true' ? 'Solved' : 'Not Solved' + return [camelToTitle(captchaSeriesName), item[fieldName]] + }) + } + return data[dataset].map((item) => { return [camelToTitle(item[seriesName]), item[fieldName]] }) diff --git a/src/modules/real-time-metrics/reports/load-report-variation.js b/src/modules/real-time-metrics/reports/load-report-variation.js index a373d1ad1..df970c1a4 100644 --- a/src/modules/real-time-metrics/reports/load-report-variation.js +++ b/src/modules/real-time-metrics/reports/load-report-variation.js @@ -78,9 +78,7 @@ function getFeedbackDifference(currentAggregation, previousAggregation) { const currentValue = Object.values(currentAggregation)[0] const previousValue = Object.values(previousAggregation)[0] - if (previousValue === 0 && currentValue === 0) return 0 - if (previousValue === 0 && currentValue > 0) return 100 - if (previousValue === 0 && currentValue < 0) return -100 + if (previousValue === 0) return 0 return ((currentValue - previousValue) / previousValue) * 100 } diff --git a/src/services/real-time-purge/make-real-time-purge-service.js b/src/services/real-time-purge/make-real-time-purge-service.js index 805b04923..ee4bf097c 100644 --- a/src/services/real-time-purge/make-real-time-purge-service.js +++ b/src/services/real-time-purge/make-real-time-purge-service.js @@ -1,4 +1,4 @@ export const makeRealTimePurgeBaseUrl = () => { const version = 'v4' - return `${version}/edge/purge` + return `${version}/workspace/purge` } diff --git a/src/templates/graphs-card-block/components/chart/big-numbers-chart.vue b/src/templates/graphs-card-block/components/chart/big-numbers-chart.vue index 4f8303546..576cd1ce0 100644 --- a/src/templates/graphs-card-block/components/chart/big-numbers-chart.vue +++ b/src/templates/graphs-card-block/components/chart/big-numbers-chart.vue @@ -59,8 +59,13 @@ 'no-variation': { severity: 'info' }, - neutral: { - severity: 'info' + 'positive-neutral': { + severity: 'info', + icon: 'pi pi-arrow-up-right' + }, + 'negative-neutral': { + severity: 'info', + icon: 'pi pi-arrow-down-left' } } return variations[variation] @@ -84,12 +89,6 @@ } let variationState = props.variationValue > upperLimit ? 'positive' : 'negative' - if (variationType === 'neutral') { - return { - ...getTagPropsByVariation(variationType), - value: `${props.variationValue.toFixed(precision)}%` - } - } return { ...getTagPropsByVariation(`${variationState}-${variationType}`), diff --git a/src/tests/modules/real-time-metrics/constants/reports.test.js b/src/tests/modules/real-time-metrics/constants/reports.test.js index 429eaf3ef..5ccdc8344 100644 --- a/src/tests/modules/real-time-metrics/constants/reports.test.js +++ b/src/tests/modules/real-time-metrics/constants/reports.test.js @@ -1101,8 +1101,8 @@ describe('RealTimeMetricsModule', () => { classifiedIn: ['bad bot', 'good bot'] }, limit: 5000, - groupBy: ['geoipCountry'], - fields: ['geoipCountry'], + groupBy: ['geolocCountryName'], + fields: ['geolocCountryName'], orderDirection: 'ASC', dashboardId: '371360344901061482', variationType: 'regular', diff --git a/src/tests/modules/real-time-metrics/reports/fixtures/gql-fixtures.js b/src/tests/modules/real-time-metrics/reports/fixtures/gql-fixtures.js index 6572c3a51..52a97c726 100644 --- a/src/tests/modules/real-time-metrics/reports/fixtures/gql-fixtures.js +++ b/src/tests/modules/real-time-metrics/reports/fixtures/gql-fixtures.js @@ -1326,7 +1326,7 @@ botCategory limit: 5000 aggregate: {sum: requests } - groupBy: [geoipCountry] + groupBy: [geolocCountryName] orderBy: [sum_ASC] filter: { tsRange: { @@ -1338,9 +1338,9 @@ classifiedIn: ["bad bot","good bot"] } ) { - geoipCountry + geolocCountryName sum -geoipCountry +geolocCountryName } }`, variables: { diff --git a/src/tests/services/real-time-purge/create-real-time-purge.test.js b/src/tests/services/real-time-purge/create-real-time-purge.test.js index ed537e188..fb5cc225c 100644 --- a/src/tests/services/real-time-purge/create-real-time-purge.test.js +++ b/src/tests/services/real-time-purge/create-real-time-purge.test.js @@ -29,7 +29,7 @@ describe('RealTimePurgeServices', () => { await sut(fixtures.realTimePurgeMock) expect(requestSpy).toHaveBeenCalledWith({ - url: `${version}/edge/purge/cachekey`, + url: `${version}/workspace/purge/cachekey`, method: 'POST', body: { items: ['www.example.com', 'www.test.com.br'], diff --git a/src/tests/services/real-time-purge/make-real-time-purge.test.js b/src/tests/services/real-time-purge/make-real-time-purge.test.js index caef453e0..ba83a3707 100644 --- a/src/tests/services/real-time-purge/make-real-time-purge.test.js +++ b/src/tests/services/real-time-purge/make-real-time-purge.test.js @@ -13,7 +13,7 @@ describe('RealTimePurgeServices', () => { it('should return the API base url to real-time purge', () => { const { sut } = makeSut() const version = 'v4' - const correctApiUrl = `${version}/edge/purge` + const correctApiUrl = `${version}/workspace/purge` const baseUrl = sut() diff --git a/src/views/AccountSettings/AccountSettingsView.vue b/src/views/AccountSettings/AccountSettingsView.vue index 9efe90a6d..ba2323819 100644 --- a/src/views/AccountSettings/AccountSettingsView.vue +++ b/src/views/AccountSettings/AccountSettingsView.vue @@ -3,8 +3,13 @@ import ContentBlock from '@/templates/content-block' import EditFormBlock from '@/templates/edit-form-block' import PageHeadingBlock from '@/templates/page-heading-block' + import { handleTrackerError } from '@/utils/errorHandlingTracker' import * as yup from 'yup' import FormFieldsAccountSettings from './FormFields/FormFieldsAccountSettings' + import { inject } from 'vue' + + /**@type {import('@/plugins/analytics/AnalyticsTrackerAdapter').AnalyticsTrackerAdapter} */ + const tracker = inject('tracker') defineProps({ getAccountSettingsService: { @@ -29,6 +34,25 @@ } }) + const handleTrackSuccessEdit = () => { + tracker.product + .productEdited({ + productName: 'Account Settings' + }) + .track() + } + const handleTrackFailEdit = (error) => { + const { fieldName, message } = handleTrackerError(error) + tracker.product + .failedToEdit({ + productName: 'Account Settings', + errorType: 'api', + fieldName: fieldName.trim(), + errorMessage: message + }) + .track() + } + const validationSchema = yup.object({ accountName: yup.string().required().label('Account Name'), clientId: yup.string(), @@ -55,6 +79,8 @@ diff --git a/src/views/RealTimePurge/Dialog/index.vue b/src/views/RealTimePurge/Dialog/index.vue index 118094836..537607cfb 100644 --- a/src/views/RealTimePurge/Dialog/index.vue +++ b/src/views/RealTimePurge/Dialog/index.vue @@ -14,9 +14,14 @@ dialogRef.value.close() } - const handleRealTimePurge = () => { - dialogRef.value.data.repurge() - loading.value = true + const handleRealTimePurge = async () => { + try { + loading.value = true + await dialogRef.value.data.repurge(dialogRef.value.data.item) + } finally { + loading.value = false + closeDialog() + } } watch( @@ -70,6 +75,14 @@ to propagate to all edge nodes. +