From b57ee383270d8c3484cdf2e2d5766944b65cce6d Mon Sep 17 00:00:00 2001
From: Ben Whitmore <ben.whitmore0@gmail.com>
Date: Thu, 1 Apr 2021 21:34:37 +1300
Subject: [PATCH] fix(upload): fix broken baseUrl, improve env var naming

---
 config/custom-environment-variables.js |  5 ++++-
 config/default.js                      | 19 ++++++++++++++-----
 docker-compose.production.elife.yml    |  9 ++++-----
 docker-compose.production.ncrc.yml     |  9 ++++-----
 docker-compose.yml                     |  7 +++----
 5 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/config/custom-environment-variables.js b/config/custom-environment-variables.js
index 4dccdd862b..4d44e7c804 100644
--- a/config/custom-environment-variables.js
+++ b/config/custom-environment-variables.js
@@ -6,8 +6,11 @@ module.exports = {
   },
   'pubsweet-client': {
     protocol: 'CLIENT_PROTOCOL',
-    host: 'PUBLIC_CLIENT_HOST',
+    host: 'CLIENT_HOST',
     port: 'CLIENT_PORT',
+    publicProtocol: 'PUBLIC_CLIENT_PROTOCOL',
+    publicHost: 'PUBLIC_CLIENT_HOST',
+    publicPort: 'PUBLIC_CLIENT_PORT',
   },
   'pubsweet-server': {
     protocol: 'SERVER_PROTOCOL',
diff --git a/config/default.js b/config/default.js
index 4ea6f061dd..7b759dcfcd 100644
--- a/config/default.js
+++ b/config/default.js
@@ -161,12 +161,21 @@ module.exports = {
     theme: process.env.PUBSWEET_THEME,
     baseUrl: deferConfig(cfg => {
       const {
-        ORCID_AUTH_REDIRECT_PORT,
-        ORCID_AUTH_REDIRECT_HOSTNAME,
-        ORCID_AUTH_REDIRECT_PROTOCOL,
-      } = process.env
+        publicProtocol,
+        protocol,
+        publicHost,
+        host,
+        publicPort,
+        port,
+      } = cfg['pubsweet-client']
 
-      return `${ORCID_AUTH_REDIRECT_PROTOCOL}://${ORCID_AUTH_REDIRECT_HOSTNAME}:${ORCID_AUTH_REDIRECT_PORT}`
+      const protocolToUse = publicProtocol || protocol
+      let hostToUse = publicHost || host || 'localhost'
+      if (hostToUse === '0.0.0.0') hostToUse = 'localhost'
+      const portToUse = publicPort || port
+      return `${protocolToUse}://${hostToUse}${
+        portToUse ? `:${portToUse}` : ''
+      }`
     }),
   },
   'pubsweet-component-xpub-dashboard': {
diff --git a/docker-compose.production.elife.yml b/docker-compose.production.elife.yml
index 533e35e8da..e66538724e 100644
--- a/docker-compose.production.elife.yml
+++ b/docker-compose.production.elife.yml
@@ -18,16 +18,15 @@ services:
       - CLIENT_PROTOCOL=${CLIENT_PROTOCOL}
       - CLIENT_HOST=${CLIENT_HOST}
       - CLIENT_PORT=${CLIENT_PORT}
-      - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST:-0.0.0.0}
+      - PUBLIC_CLIENT_PROTOCOL=${PUBLIC_CLIENT_PROTOCOL}
+      - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST}
+      - PUBLIC_CLIENT_PORT=${PUBLIC_CLIENT_PORT}
       - SERVER_PROTOCOL=${SERVER_PROTOCOL}
       - SERVER_HOST=${SERVER_HOST}
       - SERVER_PORT=${SERVER_PORT}
       - ORCID_CLIENT_ID=${ORCID_CLIENT_ID}
       - ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET}
       - USE_SANDBOXED_ORCID=${USE_SANDBOXED_ORCID:-false}
-      - ORCID_AUTH_REDIRECT_PORT=${ORCID_AUTH_REDIRECT_PORT:-4000}
-      - ORCID_AUTH_REDIRECT_HOSTNAME=${ORCID_AUTH_REDIRECT_HOSTNAME:-localhost}
-      - ORCID_AUTH_REDIRECT_PROTOCOL=${ORCID_AUTH_REDIRECT_PROTOCOL:-http}
       - INSTANCE_NAME=${INSTANCE_NAME:-elife}
     entrypoint:
       [
@@ -83,4 +82,4 @@ services:
 
 volumes:
   db-data:
-    driver: local
\ No newline at end of file
+    driver: local
diff --git a/docker-compose.production.ncrc.yml b/docker-compose.production.ncrc.yml
index 1265a0d861..f7c615608a 100644
--- a/docker-compose.production.ncrc.yml
+++ b/docker-compose.production.ncrc.yml
@@ -18,16 +18,15 @@ services:
       - CLIENT_PROTOCOL=${CLIENT_PROTOCOL}
       - CLIENT_HOST=${CLIENT_HOST}
       - CLIENT_PORT=${CLIENT_PORT}
-      - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST:-0.0.0.0}
+      - PUBLIC_CLIENT_PROTOCOL=${PUBLIC_CLIENT_PROTOCOL}
+      - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST}
+      - PUBLIC_CLIENT_PORT=${PUBLIC_CLIENT_PORT}
       - SERVER_PROTOCOL=${SERVER_PROTOCOL}
       - SERVER_HOST=${SERVER_HOST}
       - SERVER_PORT=${SERVER_PORT}
       - ORCID_CLIENT_ID=${ORCID_CLIENT_ID}
       - ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET}
       - USE_SANDBOXED_ORCID=${USE_SANDBOXED_ORCID:-false}
-      - ORCID_AUTH_REDIRECT_PORT=${ORCID_AUTH_REDIRECT_PORT:-4000}
-      - ORCID_AUTH_REDIRECT_HOSTNAME=${ORCID_AUTH_REDIRECT_HOSTNAME:-localhost}
-      - ORCID_AUTH_REDIRECT_PROTOCOL=${ORCID_AUTH_REDIRECT_PROTOCOL:-http}
       - INSTANCE_NAME=${INSTANCE_NAME:-ncrc}
     entrypoint:
       [
@@ -83,4 +82,4 @@ services:
 
 volumes:
   db-data:
-    driver: local
\ No newline at end of file
+    driver: local
diff --git a/docker-compose.yml b/docker-compose.yml
index 247639c983..7205cf7ea5 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -68,13 +68,12 @@ services:
       - CLIENT_PROTOCOL=${CLIENT_PROTOCOL:-http}
       - CLIENT_HOST=${CLIENT_HOST:-localhost}
       - CLIENT_PORT=${CLIENT_PORT:-4000}
-      - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST:-0.0.0.0}
+      - PUBLIC_CLIENT_PROTOCOL=${PUBLIC_CLIENT_PROTOCOL}
+      - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST}
+      - PUBLIC_CLIENT_PORT=${PUBLIC_CLIENT_PORT}
       - ORCID_CLIENT_ID=${ORCID_CLIENT_ID}
       - ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET}
       - USE_SANDBOXED_ORCID=${USE_SANDBOXED_ORCID:-true}
-      - ORCID_AUTH_REDIRECT_PORT=${ORCID_AUTH_REDIRECT_PORT:-4000}
-      - ORCID_AUTH_REDIRECT_HOSTNAME=${ORCID_AUTH_REDIRECT_HOSTNAME:-localhost}
-      - ORCID_AUTH_REDIRECT_PROTOCOL=${ORCID_AUTH_REDIRECT_PROTOCOL:-https}
       - INSTANCE_NAME=${INSTANCE_NAME:-elife}
     volumes:
       - ./config:/home/node/app/config
-- 
GitLab