From 9eb174dc8b2fd8937be9081ec4da84f63d5a8e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoni=20Nu=C3=B1ez=20Romeu?= Date: Thu, 16 Jul 2026 23:14:48 +0200 Subject: [PATCH 1/2] fix(parapharmacy-api): use CORS_ORIGIN env var for Swagger server URL Swagger UI hardcoded localhost:3002, causing NetworkError when accessed from the deployed server. Now reads CORS_ORIGIN to build the correct server URL for API calls from the Swagger UI. --- .env.example | 1 + apps/parapharmacy-api/src/server.js | 8 ++++++-- docker-compose.yml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 6559bfb..b7cced0 100644 --- a/.env.example +++ b/.env.example @@ -18,6 +18,7 @@ N8N_EMAIL=admin@farmafinder.com # Parapharmacy API PARAPHARMACY_API_URL=http://parapharmacy-api:3002 +PARAPHARMACY_CORS_ORIGIN=http://localhost:4000 MONGODB_URI=mongodb://mongodb:27017/parapharmacy # Expo Push Notifications (mobile) diff --git a/apps/parapharmacy-api/src/server.js b/apps/parapharmacy-api/src/server.js index 3a705c7..fb2cab1 100644 --- a/apps/parapharmacy-api/src/server.js +++ b/apps/parapharmacy-api/src/server.js @@ -12,6 +12,10 @@ import scraperRouter from './routes/scraper.js'; const app = express(); // Swagger configuration +const swaggerServerUrl = process.env.CORS_ORIGIN + ? process.env.CORS_ORIGIN.replace(/\/$/, '') // strip trailing slash + : `http://localhost:${config.port}`; + const swaggerOptions = { definition: { openapi: '3.0.0', @@ -22,8 +26,8 @@ const swaggerOptions = { }, servers: [ { - url: `http://localhost:${config.port}`, - description: 'Development server', + url: swaggerServerUrl, + description: process.env.CORS_ORIGIN ? 'Production server' : 'Development server', }, ], components: { diff --git a/docker-compose.yml b/docker-compose.yml index 191b7a8..d2d9725 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -98,7 +98,7 @@ services: PORT: "3002" NODE_ENV: production MONGODB_URI: mongodb://mongodb:27017/parapharmacy - CORS_ORIGIN: http://localhost:4000 + CORS_ORIGIN: ${PARAPHARMACY_CORS_ORIGIN:-http://localhost:4000} depends_on: - mongodb -- 2.52.0 From 1c45be852aef395dec11b69c0c9d71a1cd33a0aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoni=20Nu=C3=B1ez=20Romeu?= Date: Fri, 17 Jul 2026 09:43:47 +0200 Subject: [PATCH 2/2] fix(ci): remove MongoDB service from parapharmacy-api tests (port 27017 conflict) --- .gitea/workflows/docker.yaml | 5 ----- .gitea/workflows/test-branches.yaml | 5 ----- 2 files changed, 10 deletions(-) diff --git a/.gitea/workflows/docker.yaml b/.gitea/workflows/docker.yaml index 71ede82..2ccf5a6 100644 --- a/.gitea/workflows/docker.yaml +++ b/.gitea/workflows/docker.yaml @@ -59,11 +59,6 @@ jobs: if: needs.detect-changes.outputs.parapharmacy-api == 'true' runs-on: ubuntu-latest timeout-minutes: 15 - services: - mongodb: - image: mongo:7 - ports: - - 27017:27017 steps: - uses: actions/checkout@v4 - name: Setup Node.js diff --git a/.gitea/workflows/test-branches.yaml b/.gitea/workflows/test-branches.yaml index 0081115..f469337 100644 --- a/.gitea/workflows/test-branches.yaml +++ b/.gitea/workflows/test-branches.yaml @@ -99,11 +99,6 @@ jobs: if: needs.detect-changes.outputs.parapharmacy-api == 'true' runs-on: ubuntu-latest timeout-minutes: 15 - services: - mongodb: - image: mongo:7 - ports: - - 27017:27017 steps: - uses: actions/checkout@v4 - name: Setup Node.js -- 2.52.0