diff --git a/server/services/apiService.js b/server/services/apiService.js index b64db39..a7dfd0b 100644 --- a/server/services/apiService.js +++ b/server/services/apiService.js @@ -1,9 +1,10 @@ // apiService.js import axios from "axios"; import config from "../config/config.js"; -import secureStorageService from "./secureStorageService.js"; import { logger } from "../config/loggerConfig.js"; +let secureStorageServicePromise; + // API service for making HTTP requests class ApiService { constructor(options = {}) { @@ -464,6 +465,18 @@ 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 + 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) { await secureStorageService.initialize();