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)
- && (
-
-
-
- )}