From 2da944b7b1c4d00d01c02042f67180eceff6c088 Mon Sep 17 00:00:00 2001 From: MailineN Date: Fri, 23 Aug 2024 18:07:58 +0200 Subject: [PATCH] fix: delete state data only for the put request --- src/pages/home-surveyed/HomeSurveyed.tsx | 2 +- src/service/api-service/putRemoteData.ts | 21 +++++++++++---------- src/service/survey-state-service.ts | 1 - src/utils/utils.ts | 5 +++-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/pages/home-surveyed/HomeSurveyed.tsx b/src/pages/home-surveyed/HomeSurveyed.tsx index 443e2351..e712947a 100644 --- a/src/pages/home-surveyed/HomeSurveyed.tsx +++ b/src/pages/home-surveyed/HomeSurveyed.tsx @@ -236,7 +236,6 @@ const HomeSurveyedPage = () => { setInitialized(true); }); }); - return ( <> {renderReminderNote()} @@ -259,6 +258,7 @@ const HomeSurveyedPage = () => { const renderHomeInterviewer = () => { let userDataGroupedInterv = nameSurveyGroupMap(); let groups = Object.keys(userDataGroupedInterv); + console.log("groups", groups); return ( <> {renderReminderNote()} diff --git a/src/service/api-service/putRemoteData.ts b/src/service/api-service/putRemoteData.ts index f990760b..b20a6e04 100644 --- a/src/service/api-service/putRemoteData.ts +++ b/src/service/api-service/putRemoteData.ts @@ -15,16 +15,17 @@ const requestPutSurveyData = ( token?: string, ): Promise => { const collectedData = transformCollectedArray(data?.data?.COLLECTED); + const stateData = data.stateData; if (data.data) { data.data.COLLECTED = collectedData; - delete data.data.COLLECTED?.WEEKLYPLANNER; - delete data.data.stateData; } - console.log("requestPutSurveyData", data); - const stateData = data.stateData; + const tempData = { ...data }; + delete tempData.data.COLLECTED?.WEEKLYPLANNER; + delete tempData.data.stateData; + console.log("requestPutSurveyData", tempData); const putLunaticData = axios.put( `${stromaeBackOfficeApiBaseUrl}api/survey-unit/${idSurvey}/data`, - data.data, + tempData.data, getHeader(stromaeBackOfficeApiBaseUrl, token), ); @@ -68,8 +69,6 @@ const remotePutSurveyDataReviewer = ( stateData: StateData, data: LunaticData, ): Promise => { - //Temporar check on token validity to avoid 401 error, if not valid, reload page - // const now = new Date(); const tokenExpiresAt = jwt(getUserToken() ?? "").exp; // * 1000 because tokenExpiresAt is in seconds and now.getTime() in milliseconds @@ -96,13 +95,15 @@ const requestPutDataReviewer = ( ): Promise => { console.log("requestPutDataReviewer", data); data.COLLECTED = transformCollectedArray(data?.COLLECTED); - //TODO: Find another solution to avoid ui problem - delete data.COLLECTED?.WEEKLYPLANNER; + const tempData = { ...data }; + delete tempData.COLLECTED?.WEEKLYPLANNER; + delete tempData.stateData; + console.log("requestPutSurveyData", tempData); return new Promise(resolve => { axios .put( stromaeBackOfficeApiBaseUrl + "api/survey-unit/" + idSurvey + "/data", - data, + tempData, getHeader(stromaeBackOfficeApiBaseUrl, token), ) .then(() => { diff --git a/src/service/survey-state-service.ts b/src/service/survey-state-service.ts index f09d4313..31dfc00e 100644 --- a/src/service/survey-state-service.ts +++ b/src/service/survey-state-service.ts @@ -155,7 +155,6 @@ const validateAllEmptySurveys = (idHousehold: string) => { }; const value = getValue(idSurvey, FieldNameEnum.FIRSTNAME) as string; - if (value == null || value.length == 0) { data.stateData = validatedStateData; promisesToWait.push(saveData(idSurvey, data, false, true, validatedStateData)); diff --git a/src/utils/utils.ts b/src/utils/utils.ts index ac2f2894..08490dc4 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -59,12 +59,13 @@ function getSurveyIdFromUrl(context: OrchestratorContext, location: Location) { } function addItemToSession(idSurvey: string, item: any) { + console.log("Add item to session", idSurvey, item); sessionStorage.setItem(idSurvey, JSON.stringify(item)); } function getItemFromSession(idSurvey: string) { - console.log("getItemFromSession", idSurvey, sessionStorage.getItem(idSurvey)); - return JSON.parse(sessionStorage.getItem(idSurvey ?? "") ?? "{}"); + const item = JSON.parse(sessionStorage.getItem(idSurvey ?? "") ?? "{}"); + return item; } function addArrayToSession(nameItem: string, array: any[]) {