From f43c1d5567218406d4f6cc55ba3ebc6d99f93a41 Mon Sep 17 00:00:00 2001
From: Yannis Barlas <yannisbarlas@gmail.com>
Date: Tue, 8 Nov 2022 12:38:54 +0200
Subject: [PATCH] fix(server): do not allow gql playground in production

---
 src/graphqlServer.js | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/graphqlServer.js b/src/graphqlServer.js
index 95c7f18..55750b2 100644
--- a/src/graphqlServer.js
+++ b/src/graphqlServer.js
@@ -17,9 +17,11 @@ const helpers = require('pubsweet-server/src/helpers/authorization')
 
 const schema = require('./graphqlSchema')
 
-const hostname = config.has('pubsweet-server.hostname')
-  ? config.get('pubsweet-server.hostname')
-  : 'localhost'
+const host = `${config.get('pubsweet-server.host')}${
+  config.get('pubsweet-server.port')
+    ? `:${config.get('pubsweet-server.port')}`
+    : ''
+}`
 
 const extraApolloConfig = config.has('pubsweet-server.apollo')
   ? config.get('pubsweet-server.apollo')
@@ -81,9 +83,13 @@ const createGraphQLServer = testUserContext => {
         },
       }
     },
-    playground: {
-      subscriptionEndpoint: `ws://${hostname}:3000/subscriptions`,
-    },
+    playground:
+      process.env.NODE_ENV === 'production'
+        ? false
+        : {
+            subscriptionEndpoint: `ws://${host}/subscriptions`,
+          },
+    introspection: process.env.NODE_ENV === 'development',
     ...extraApolloConfig,
   })
 }
-- 
GitLab