From 36d233fa8aa9d140397e75290db976a90e49e0f1 Mon Sep 17 00:00:00 2001 From: Maham Akif <113524403+mahamakifdar19@users.noreply.github.com> Date: Fri, 3 May 2024 16:05:42 +0500 Subject: [PATCH] fix: removed threshold from poll request and made necessary changes (#417) Co-authored-by: Maham Akif --- src/components/aiCuration/data/hooks.jsx | 2 +- src/components/aiCuration/data/service.js | 9 +++++++-- .../xpertResultCard/XpertResultCard.jsx | 15 +++------------ 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/components/aiCuration/data/hooks.jsx b/src/components/aiCuration/data/hooks.jsx index 24c5b777..8d79241b 100644 --- a/src/components/aiCuration/data/hooks.jsx +++ b/src/components/aiCuration/data/hooks.jsx @@ -39,7 +39,7 @@ export const useXpertResultsWithThreshold = () => { const { status, data: responseData, error: responseError } = response; if (status >= 400 && status < 600) { - setError(responseError); + setError(responseError || responseData?.error); setXpertResultsData({}); } else { setXpertResultsData(responseData.result || defaultResult); diff --git a/src/components/aiCuration/data/service.js b/src/components/aiCuration/data/service.js index e96a58eb..d3e75d34 100644 --- a/src/components/aiCuration/data/service.js +++ b/src/components/aiCuration/data/service.js @@ -30,9 +30,14 @@ class EnterpriseCatalogAiCurationApiService { return new Promise(resolve => { setTimeout(resolve, ms); }); } - static async getXpertResults(taskId, threshold = 0) { + static async getXpertResults(taskId, threshold) { try { - const response = await axios.get(`${EnterpriseCatalogAiCurationApiService.enterpriseCatalogAiCurationServiceUrl}?task_id=${taskId}&threshold=${threshold}`); + let url = `${EnterpriseCatalogAiCurationApiService.enterpriseCatalogAiCurationServiceUrl}?task_id=${taskId}`; + if (threshold) { + url += `&threshold=${threshold}`; + } + + const response = await axios.get(url); return { status: response.status, data: response.data, diff --git a/src/components/aiCuration/xpertResultCard/XpertResultCard.jsx b/src/components/aiCuration/xpertResultCard/XpertResultCard.jsx index d2bdaec2..63432e4e 100644 --- a/src/components/aiCuration/xpertResultCard/XpertResultCard.jsx +++ b/src/components/aiCuration/xpertResultCard/XpertResultCard.jsx @@ -7,7 +7,6 @@ import { FormattedMessage } from '@edx/frontend-platform/i18n'; import { Close } from '@openedx/paragon/icons'; import askXpretImage from '../../../assets/edx-xpert-card-side-image.png'; import { useXpertResultsWithThreshold } from '../data/hooks'; -import { hasNonEmptyValues } from '../../../utils/common'; import { CONTENT_TYPE_COURSE, CONTENT_TYPE_PROGRAM, @@ -31,14 +30,16 @@ const XpertResultCard = ({ }, 1000), [taskId]); useEffect(() => { - setXpertResults(xpertResultsData); if (xpertResultsData && Object.keys(xpertResultsData).length > 0) { + setXpertResults(xpertResultsData); const aggregationKeys = { [CONTENT_TYPE_COURSE]: xpertResultsData.ocm_courses?.map(item => item.aggregation_key), [EXEC_ED_TITLE]: xpertResultsData.exec_ed_courses?.map(item => item.aggregation_key), [CONTENT_TYPE_PROGRAM]: xpertResultsData.programs?.map(item => item.aggregation_key), }; onXpertResults(aggregationKeys); + } else if (error) { + setXpertResults({}); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [thresholdValue, xpertResultsData]); @@ -142,16 +143,6 @@ const XpertResultCard = ({ />

)} - {!error && !hasNonEmptyValues(xpertResults) - && ( -

- -

- )}