From 6ce2592f27c8793cddd1e77db2d5dd17c503d9c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Le=20Bihan?= Date: Sat, 5 Mar 2022 22:26:41 +0100 Subject: [PATCH] adding update ids on state --- web-app/src/pages/HomePage.tsx | 10 +++++++--- web-app/src/utils/CRUDPipeline.tsx | 9 +++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/web-app/src/pages/HomePage.tsx b/web-app/src/pages/HomePage.tsx index e203454..caffa82 100644 --- a/web-app/src/pages/HomePage.tsx +++ b/web-app/src/pages/HomePage.tsx @@ -71,9 +71,13 @@ export default function HomePage() { const [pipelinesData, setPipelinesData] = useState>([]); const homePagePipeLineSave = async (pD: AppPipelineType, creation: boolean) => { - if (await requestCreatePipeline(pD, creation)) { - if (creation) setPipelinesData([...pipelinesData, pD]); - else setPipelinesData(pipelinesData.map((iPd) => (iPd.id !== pD.id ? iPd : pD))); + let pDId = await requestCreatePipeline(pD, creation); + console.log(pDId); + if (pDId > 0) { + if (creation) { + pD.id = pDId; + setPipelinesData([...pipelinesData, pD]); + } else setPipelinesData(pipelinesData.map((iPd) => (iPd.id !== pD.id ? iPd : pD))); return setModalMode(ModalSelection.None); } }; diff --git a/web-app/src/utils/CRUDPipeline.tsx b/web-app/src/utils/CRUDPipeline.tsx index 54ca73d..314d78a 100644 --- a/web-app/src/utils/CRUDPipeline.tsx +++ b/web-app/src/utils/CRUDPipeline.tsx @@ -2,7 +2,7 @@ import { AppPipelineType } from "./types"; import { getCookie, PipeLineHostToApi } from "./utils"; import { API_ROUTE } from "./globals"; -export const requestCreatePipeline = async (pipelineData: AppPipelineType, creation: boolean): Promise => { +export const requestCreatePipeline = async (pipelineData: AppPipelineType, creation: boolean): Promise => { const jwt = getCookie("aeris_jwt"); const request = API_ROUTE + "/workflow/" + (!creation ? pipelineData.id : ""); @@ -16,7 +16,9 @@ export const requestCreatePipeline = async (pipelineData: AppPipelineType, creat }, body: JSON.stringify(PipeLineHostToApi(pipelineData)), }); - return rawResponse.ok; + + let data = await rawResponse.json(); + return rawResponse.ok ? data.action?.id ?? -2 : -1; }; export const deletePipeline = async (pipelineData: AppPipelineType): Promise => { @@ -37,8 +39,7 @@ export const deletePipeline = async (pipelineData: AppPipelineType): Promise => { const rawResponse = await fetch(API_ROUTE + "/about.json"); - if (!rawResponse.ok) - return {}; + if (!rawResponse.ok) return {}; let json = await rawResponse.json(); return json ?? {}; };