From ab81d23a012ba8e85a22a8116118000cf3e80ee5 Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Fri, 7 Aug 2026 11:57:30 +0200 Subject: [PATCH 1/5] fix(Server): remove unstorage --- package.json | 1 - server/utils/server_config.js | 27 ++++++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 321fc11d..bd308f56 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,6 @@ "sanitize-filename": "1.6.3", "sass": "1.87.0", "semver": "7.7.1", - "unstorage": "1.17.5", "uuid": "11.1.0", "vuetify": "3.12.5", "vuetify-nuxt-module": "0.18.7", diff --git a/server/utils/server_config.js b/server/utils/server_config.js index 6a3eaf84..62dee986 100644 --- a/server/utils/server_config.js +++ b/server/utils/server_config.js @@ -1,32 +1,37 @@ -import { createStorage, prefixStorage } from "unstorage"; - -const storage = createStorage(); -const config = prefixStorage(storage, "config"); +const storage = new Map(); function getAppBaseUrl() { - return config.getItem("APP_BASE_URL"); + return storage.get("APP_BASE_URL"); } function setAppBaseUrl(baseUrl) { - return config.setItem("APP_BASE_URL", baseUrl); + return storage.set("APP_BASE_URL", baseUrl); } function getBackBaseUrl() { - return config.getItem("BACK_BASE_URL"); + return storage.get("BACK_BASE_URL"); } function setBackBaseUrl(baseUrl) { - return config.setItem("BACK_BASE_URL", baseUrl); + return storage.set("BACK_BASE_URL", baseUrl); } function getViewerBaseUrl() { - return config.getItem("VIEWER_BASE_URL"); + return storage.get("VIEWER_BASE_URL"); } function setViewerBaseUrl(baseUrl) { - return config.setItem("VIEWER_BASE_URL", baseUrl); + return storage.set("VIEWER_BASE_URL", baseUrl); +} +function getIsAppReady() { + return storage.get("IS_APP_READY") ?? false; +} +function setIsAppReady(isAppReady) { + return storage.set("IS_APP_READY", isAppReady); } export { getAppBaseUrl, - setAppBaseUrl, getBackBaseUrl, + getIsAppReady, getViewerBaseUrl, + setAppBaseUrl, setBackBaseUrl, + setIsAppReady, setViewerBaseUrl, }; From eab10e6ba91b9a122326ced941f7cf8c720bf6c2 Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Sat, 8 Aug 2026 08:17:48 +0200 Subject: [PATCH 2/5] missing route --- .../app/set_is_app_ready.post copy.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 server/api/microservice/app/set_is_app_ready.post copy.js diff --git a/server/api/microservice/app/set_is_app_ready.post copy.js b/server/api/microservice/app/set_is_app_ready.post copy.js new file mode 100644 index 00000000..8d32a8c7 --- /dev/null +++ b/server/api/microservice/app/set_is_app_ready.post copy.js @@ -0,0 +1,25 @@ +// Third party imports +import { createError, defineEventHandler, readBody } from "h3"; + +// Local imports +import { setIsAppReady } from "@geode/opengeodeweb-front/server/utils/server_config.js"; + +export default defineEventHandler(async (event) => { + try { + const { isReady } = await readBody(event); + if (!isReady) { + throw createError({ statusCode: 400, statusMessage: "isReady is required" }); + } + + await setIsAppReady(isReady); + console.log(`Updated IS_APP_READY to ${isReady}`); + + return { statusCode: 200, isReady }; + } catch (error) { + console.log(error); + throw createError({ + statusCode: error.statusCode, + statusMessage: error.statusMessage ?? error.message, + }); + } +}); From e0754746760f84de37726b7937b69bebc87bb40a Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Sat, 8 Aug 2026 08:24:27 +0200 Subject: [PATCH 3/5] missing helpers --- shared/scripts.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/shared/scripts.js b/shared/scripts.js index f754488a..ae18ca12 100644 --- a/shared/scripts.js +++ b/shared/scripts.js @@ -53,4 +53,20 @@ function setViewerBaseUrl(appBaseUrl, viewerBaseUrl) { return fetchSchema({ schema, params, baseURL: appBaseUrl }); } -export { setAppBaseUrl, setBackBaseUrl, setViewerBaseUrl }; +function setIsAppReady(appBaseUrl, isReady) { + console.log("[API] setIsAppReady", isReady); + const schema = { + $id: "/api/microservice/app/set_is_app_ready", + methods: ["POST"], + type: "object", + properties: { + isReady: { type: "boolean" }, + }, + required: ["baseUrl"], + additionalProperties: false, + }; + const params = { isReady }; + return fetchSchema({ schema, params, baseURL: appBaseUrl }); +} + +export { setAppBaseUrl, setBackBaseUrl, setIsAppReady, setViewerBaseUrl }; From aed6847b3c0e2602fee1779fb4e41008cb8e7520 Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Sat, 8 Aug 2026 08:28:12 +0200 Subject: [PATCH 4/5] fix --- shared/scripts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/scripts.js b/shared/scripts.js index ae18ca12..92809fd4 100644 --- a/shared/scripts.js +++ b/shared/scripts.js @@ -62,7 +62,7 @@ function setIsAppReady(appBaseUrl, isReady) { properties: { isReady: { type: "boolean" }, }, - required: ["baseUrl"], + required: ["isReady"], additionalProperties: false, }; const params = { isReady }; From 7dd1427f4a11fb34d17262ca99b67666fcc04e95 Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Sat, 8 Aug 2026 08:54:50 +0200 Subject: [PATCH 5/5] typo filename --- .../microservice/app/get_is_app_ready.get.js | 19 +++++++++++++++++++ ....post copy.js => set_is_app_ready.post.js} | 0 2 files changed, 19 insertions(+) create mode 100644 server/api/microservice/app/get_is_app_ready.get.js rename server/api/microservice/app/{set_is_app_ready.post copy.js => set_is_app_ready.post.js} (100%) diff --git a/server/api/microservice/app/get_is_app_ready.get.js b/server/api/microservice/app/get_is_app_ready.get.js new file mode 100644 index 00000000..9f3f962b --- /dev/null +++ b/server/api/microservice/app/get_is_app_ready.get.js @@ -0,0 +1,19 @@ +// Third party imports +import { createError, defineEventHandler } from "h3"; + +// Local imports +import { getIsAppReady } from "@geode/opengeodeweb-front/server/utils/server_config.js"; + +export default defineEventHandler(async () => { + try { + const isReady = await getIsAppReady(); + console.log(`IS_APP_READY is ${isReady}`); + return { statusCode: 200, isReady }; + } catch (error) { + console.log(error); + throw createError({ + statusCode: error.statusCode, + statusMessage: error.statusMessage ?? error.message, + }); + } +}); diff --git a/server/api/microservice/app/set_is_app_ready.post copy.js b/server/api/microservice/app/set_is_app_ready.post.js similarity index 100% rename from server/api/microservice/app/set_is_app_ready.post copy.js rename to server/api/microservice/app/set_is_app_ready.post.js