From 33b4dbf55a11bd4a5f7ff9433f9594d9001c3281 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Jun 2026 05:27:26 +0000 Subject: [PATCH 1/3] Initial plan From 633512dd49cf9f925ffb4658c6c50e9454933337 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Jun 2026 05:31:41 +0000 Subject: [PATCH 2/3] fix(server): break api/secureStorage import cycle --- server/services/apiService.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/services/apiService.js b/server/services/apiService.js index b64db39..7433029 100644 --- a/server/services/apiService.js +++ b/server/services/apiService.js @@ -1,7 +1,6 @@ // apiService.js import axios from "axios"; import config from "../config/config.js"; -import secureStorageService from "./secureStorageService.js"; import { logger } from "../config/loggerConfig.js"; // API service for making HTTP requests @@ -464,6 +463,12 @@ class ApiService { `[API] ${process.env.NODE_ENV !== "production" ? "Mock " : ""}file upload: ${file.originalname} (${file.size} bytes)` ); + // Lazy-load to avoid module initialization cycle: + // apiService -> secureStorageService -> hipaaComplianceService -> apiService + const { default: secureStorageService } = await import( + "./secureStorageService.js" + ); + // Use local storage service instead of mocks if (!secureStorageService.initialized) { await secureStorageService.initialize(); From 1c7b3c82bb9885815a9b5b97d2e559a8e3fb5a34 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Jun 2026 05:36:18 +0000 Subject: [PATCH 3/3] fix(server): reset cached import promise on load failure --- server/services/apiService.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server/services/apiService.js b/server/services/apiService.js index 7433029..a7dfd0b 100644 --- a/server/services/apiService.js +++ b/server/services/apiService.js @@ -3,6 +3,8 @@ import axios from "axios"; import config from "../config/config.js"; import { logger } from "../config/loggerConfig.js"; +let secureStorageServicePromise; + // API service for making HTTP requests class ApiService { constructor(options = {}) { @@ -465,9 +467,15 @@ class ApiService { // Lazy-load to avoid module initialization cycle: // apiService -> secureStorageService -> hipaaComplianceService -> apiService - const { default: secureStorageService } = await import( - "./secureStorageService.js" - ); + if (!secureStorageServicePromise) { + secureStorageServicePromise = import("./secureStorageService.js").then( + ({ default: service }) => service + ).catch((error) => { + secureStorageServicePromise = null; + throw error; + }); + } + const secureStorageService = await secureStorageServicePromise; // Use local storage service instead of mocks if (!secureStorageService.initialized) {