From 1df4fcfcb99fa9b6fc8591a179486b40882a1466 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Mon, 19 Jun 2023 10:50:42 +0700 Subject: [PATCH] fetchData --- src/modules/01_metadata/store.ts | 58 ++++++++++++++------------------ 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/src/modules/01_metadata/store.ts b/src/modules/01_metadata/store.ts index 01e310555..661ae6e4f 100644 --- a/src/modules/01_metadata/store.ts +++ b/src/modules/01_metadata/store.ts @@ -272,28 +272,30 @@ export const useManageDataStore = defineStore("manage", () => { selector: boolean = false, newFetch: boolean = false ) => { - if (dataPrefix.value.length === 0) { - await fetchPrefix(true, selector); + let apiPrefix = ""; + if (selector) { + apiPrefix = config.API.prefix; + } else { + apiPrefix = config.API.listPrefixHistory; + } + if ( + dataPrefix.value.length === 0 || + (dataPrefix.value.length !== 0 && newFetch) + ) { + let data = await fetchData(true, apiPrefix); + dataPrefix.value = data; + draftPrefix.value = data; return { data: draftPrefix.value, version: storeVersion.value, idversion: storeIdVersion.value, }; } else { - if (newFetch) { - await fetchPrefix(true, selector); - return { - data: draftPrefix.value, - version: storeVersion.value, - idversion: storeIdVersion.value, - }; - } else { - return { - data: draftPrefix.value, - version: storeVersion.value, - idversion: storeIdVersion.value, - }; - } + return { + data: draftPrefix.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; } }; @@ -558,23 +560,17 @@ export const useManageDataStore = defineStore("manage", () => { } }; - const fetchPrefix = async (loader: boolean, selector: boolean) => { - let apiPrefix = ""; + const fetchData = async (loader: boolean, api: string): Promise => { if (loader) { showLoader(); } - if (selector) { - apiPrefix = config.API.prefix; - } else { - apiPrefix = config.API.listPrefixHistory; - } + let rows: any = []; await http - .get(apiPrefix) + .get(api) .then((res) => { const data = res.data.result; - let rows: RequestItemsHistoryObject[] = []; - if (selector) { - data.map((e: RequestItemsHistoryObject) => { + if (api) { + data.map((e: any) => { rows.push({ ...e, }); @@ -583,17 +579,12 @@ export const useManageDataStore = defineStore("manage", () => { storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ storeIdVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { + data.items.map((e: any) => { rows.push({ ...e, }); }); } - - draftPrefix.value = rows; - if (loader) { - dataPrefix.value = rows; - } }) .catch((e) => { messageError($q, e); @@ -603,6 +594,7 @@ export const useManageDataStore = defineStore("manage", () => { hideLoader(); } }); + return rows; }; const fetchInsignia = async (loader: boolean, selector: boolean) => {