diff --git a/ui/src/components/LegacyCms/Actions/LoadSelectCms.tsx b/ui/src/components/LegacyCms/Actions/LoadSelectCms.tsx index f04ba0dc9..a3e2f0ca7 100644 --- a/ui/src/components/LegacyCms/Actions/LoadSelectCms.tsx +++ b/ui/src/components/LegacyCms/Actions/LoadSelectCms.tsx @@ -4,7 +4,7 @@ import { useParams } from 'react-router'; // Service import { updateLegacyCMSData } from '../../../services/api/migration.service'; -import { fileValidation } from '../../../services/api/upload.service'; +import { fileValidation, getConfig } from '../../../services/api/upload.service'; // Utilities import { isEmptyString, validateArray } from '../../../utilities/functions'; @@ -44,7 +44,7 @@ const LoadSelectCms = (props: LoadSelectCmsProps) => { const [searchText, setSearchText] = useState(''); const [cmsFilterStatus, setCmsFilterStatus] = useState({}); const [cmsFilter, setCmsFilter] = useState([]); - const [cmsType, setCmsType] = useState( + const [cmsType, setCmsType] = useState( newMigrationData?.legacy_cms?.selectedCms?.title?.toLowerCase() ); @@ -63,9 +63,10 @@ const LoadSelectCms = (props: LoadSelectCmsProps) => { } }); - await updateLegacyCMSData(selectedOrganisation?.value, projectId, { legacy_cms: cms?.cms_id }); - - props?.handleStepChange(props?.currentStep); + + if (!isEmptyString(cms?.title)) { + props?.handleStepChange(props?.currentStep); + } }; //Handle CMS Filter Updation in local storage. @@ -89,10 +90,11 @@ const LoadSelectCms = (props: LoadSelectCmsProps) => { const filterCMSData = async (searchText: string) => { const { all_cms = [] } = migrationData?.legacyCMSData || {}; - const res: any = await fileValidation(); - const cms = res?.data?.file_details?.cmsType?.toLowerCase(); - setCmsType(cms); - const cmstype = cms; // Fetch the specific CMS type + const apiRes: any = await getConfig(); // api call to get cms type from upload service + + const cms = apiRes?.data?.cmsType?.toLowerCase(); + + const cmstype = !isEmptyString(cmsType) ? cmsType : cms; // Fetch the specific CMS type let filteredCmsData: ICMSType[] = []; if (isEmptyString(searchText) && !validateArray(cmsFilter) && !cmstype) { @@ -158,16 +160,6 @@ const LoadSelectCms = (props: LoadSelectCmsProps) => { } }, [cmsType, selectedCard]); - useEffect(() => { - const getCmsType = async () => { - const res: any = await fileValidation(); - const cms = res?.data?.file_details?.cmsType?.toLowerCase(); - setCmsType(cms); - filterCMSData(cms); - return cmsType; - }; - getCmsType(); - }, [cmsType]); return (
diff --git a/ui/src/components/LegacyCms/index.tsx b/ui/src/components/LegacyCms/index.tsx index 13db987a8..583675190 100644 --- a/ui/src/components/LegacyCms/index.tsx +++ b/ui/src/components/LegacyCms/index.tsx @@ -17,7 +17,7 @@ import { isEmptyString, validateArray } from '../../utilities/functions'; import { ICardType, defaultCardType } from '../Common/Card/card.interface'; import './legacyCms.scss'; import { IFilterType } from '../Common/Modal/FilterModal/filterModal.interface'; -import { updateCurrentStepData } from '../../services/api/migration.service'; +import { updateCurrentStepData, updateLegacyCMSData } from '../../services/api/migration.service'; import { MigrationResponse } from '../../services/api/service.interface'; import { getCMSDataFromFile } from '../../cmsData/cmsSelector'; @@ -60,6 +60,9 @@ const LegacyCMSComponent = ({ legacyCMSData, projectData }: LegacyCMSComponentPr event.preventDefault(); //Update Data in backend + await updateLegacyCMSData(selectedOrganisation?.value, projectId, { + legacy_cms: newMigrationData?.legacy_cms?.selectedCms?.cms_id + }); const res = await updateCurrentStepData(selectedOrganisation.value, projectId); if (res) { const url = `/projects/${projectId}/migration/steps/2`; diff --git a/ui/src/services/api/upload.service.ts b/ui/src/services/api/upload.service.ts index 35c4cdd7e..67ada600d 100644 --- a/ui/src/services/api/upload.service.ts +++ b/ui/src/services/api/upload.service.ts @@ -43,3 +43,11 @@ export const fileValidation = () => { return error; } }; + +export const getConfig = () => { + try { + return getCall(`${UPLOAD_FILE_RELATIVE_URL}config`); + } catch (error) { + return error; + } +};