From 24f23000f12aa6c55b253982a274600d7b53b135 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Wed, 20 Jan 2021 12:36:32 +0100
Subject: [PATCH] Add a list of hidden activities to the app config.

This way everything depending on build env can be specified
in one place.
---
 app.config.js                                | 5 +++++
 assets/dbp-signature.topic.metadata.json.ejs | 9 +++++----
 rollup.config.js                             | 7 +++++--
 3 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/app.config.js b/app.config.js
index 6557fe0..6d7c6c7 100644
--- a/app.config.js
+++ b/app.config.js
@@ -9,6 +9,7 @@ export default {
         nextcloudBaseURL: 'http://localhost:8081',
         nextcloudName: 'TU Graz cloud',
         pdfAsQualifiedlySigningServer: 'https://sig-dev.tugraz.at',
+        hiddenActivities: [],
     },
     bs: {
         basePath: '/dist/',
@@ -20,6 +21,7 @@ export default {
         nextcloudBaseURL: 'http://bs-local.com:8081',
         nextcloudName: 'TU Graz cloud',
         pdfAsQualifiedlySigningServer: 'https://sig-dev.tugraz.at',
+        hiddenActivities: [],
     },
     development: {
         basePath: '/apps/signature/',
@@ -31,6 +33,7 @@ export default {
         nextcloudBaseURL: 'https://nc-dev.tugraz.at/pers',
         nextcloudName: 'TU Graz cloud',
         pdfAsQualifiedlySigningServer: 'https://sig-dev.tugraz.at',
+        hiddenActivities: [],
     },
     demo: {
         basePath: '/apps/signature/',
@@ -42,6 +45,7 @@ export default {
         nextcloudBaseURL: 'https://cloud.tugraz.at',
         nextcloudName: 'TU Graz cloud',
         pdfAsQualifiedlySigningServer: 'https://sig-test.tugraz.at',
+        hiddenActivities: ['dbp-signature-verification-full'],
     },
     production: {
         basePath: '/',
@@ -53,5 +57,6 @@ export default {
         nextcloudBaseURL: '',
         nextcloudName: '',
         pdfAsQualifiedlySigningServer: 'https://sig.tugraz.at',
+        hiddenActivities: ['dbp-signature-verification-full', 'dbp-signature-verification'],
     },
 };
\ No newline at end of file
diff --git a/assets/dbp-signature.topic.metadata.json.ejs b/assets/dbp-signature.topic.metadata.json.ejs
index a9a0739..65854cf 100644
--- a/assets/dbp-signature.topic.metadata.json.ejs
+++ b/assets/dbp-signature.topic.metadata.json.ejs
@@ -14,12 +14,13 @@
   "routing_name": "signature",
   "activities": [
     {"path": "dbp-official-signature-pdf-upload.metadata.json",
-     "visible": <%= environment == "local" || environment == "development" || environment == "demo" || environment == "bs" %>},
-    {"path": "dbp-qualified-signature-pdf-upload.metadata.json"},
+     "visible": <%= isVisible("dbp-official-signature-pdf-upload") %>},
+    {"path": "dbp-qualified-signature-pdf-upload.metadata.json",
+     "visible": <%= isVisible("dbp-qualified-signature-pdf-upload") %>},
     {"path": "dbp-signature-verification.metadata.json",
-     "visible": <%= environment == "local" || environment == "development" || environment == "demo" || environment == "bs" %>},
+     "visible": <%= isVisible("dbp-signature-verification") %>},
     {"path": "dbp-signature-verification-full.metadata.json",
-     "visible": <%= environment == "local" || environment == "development" %>}
+     "visible": <%= isVisible("dbp-signature-verification-full") %>}
   ],
   "attributes": []
 }
\ No newline at end of file
diff --git a/rollup.config.js b/rollup.config.js
index 08d4e2a..ef1fc7b 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -40,7 +40,8 @@ if (appEnv in appConfig) {
         matomoSiteId: -1,
         nextcloudBaseURL: 'https://test',
         nextcloudName: '',
-        pdfAsQualifiedlySigningServer: 'https://test'
+        pdfAsQualifiedlySigningServer: 'https://test',
+        hiddenActivities: [],
     };
 } else {
     console.error(`Unknown build environment: '${appEnv}', use one of '${Object.keys(appConfig)}'`);
@@ -121,6 +122,9 @@ export default (async () => {return {
             getPrivateUrl: (p) => {
                 return url.resolve(`${config.basePath}local/${pkg.name}/`, p);
             },
+            isVisible: (name) => {
+                return !config.hiddenActivities.includes(name);
+            },
             name: pkg.name,
             entryPointURL: config.entryPointURL,
             nextcloudWebAppPasswordURL: config.nextcloudWebAppPasswordURL,
@@ -130,7 +134,6 @@ export default (async () => {return {
             nextcloudName: config.nextcloudName,
             keyCloakBaseURL: config.keyCloakBaseURL,
             keyCloakClientId: config.keyCloakClientId,
-            environment: appEnv,
             CSP: config.CSP,
             matomoUrl: config.matomoUrl,
             matomoSiteId: config.matomoSiteId,
-- 
GitLab