From 627bee144b0197b34c04368b26489c4ac9dba04f Mon Sep 17 00:00:00 2001
From: Jose Semedo <jose.semedo@cern.ch>
Date: Fri, 25 Mar 2022 14:08:56 +0100
Subject: [PATCH] Swagger: Make redirect url configurable

---
 .env              |  2 ++
 package-lock.json | 30 ++++++++++++++++++++++++++++++
 src/app.ts        | 10 ++++++----
 3 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/.env b/.env
index 1fadb28b..23e31358 100644
--- a/.env
+++ b/.env
@@ -85,3 +85,5 @@ MATTERMOST_TOKEN=fill-me
 # AUDITING=true
 # ETCD_USER=audituser
 # ETCD_PASSWORD=fill-me
+
+SWAGGER_REDIRECT_URL=fill-me
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index d43d63c2..31fd3566 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3936,6 +3936,21 @@
         }
       }
     },
+    "eslint-config-prettier": {
+      "version": "8.5.0",
+      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz",
+      "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==",
+      "dev": true
+    },
+    "eslint-plugin-prettier": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
+      "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
+      "dev": true,
+      "requires": {
+        "prettier-linter-helpers": "^1.0.0"
+      }
+    },
     "eslint-scope": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -4384,6 +4399,12 @@
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
       "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
     },
+    "fast-diff": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+      "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+      "dev": true
+    },
     "fast-glob": {
       "version": "3.2.6",
       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz",
@@ -8846,6 +8867,15 @@
       "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
       "dev": true
     },
+    "prettier-linter-helpers": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+      "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+      "dev": true,
+      "requires": {
+        "fast-diff": "^1.1.2"
+      }
+    },
     "pretty-format": {
       "version": "26.6.2",
       "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
diff --git a/src/app.ts b/src/app.ts
index 85857e02..9539ba5f 100644
--- a/src/app.ts
+++ b/src/app.ts
@@ -1,6 +1,6 @@
 import { validationMetadatasToSchemas } from 'class-validator-jsonschema';
 import 'reflect-metadata'; // this shim is required
-import { useExpressServer, Action, getMetadataArgsStorage } from 'routing-controllers';
+import { useExpressServer, getMetadataArgsStorage } from 'routing-controllers';
 import { routingControllersToSpec } from 'routing-controllers-openapi';
 import { createConnection } from 'typeorm';
 import * as http from 'http';
@@ -16,7 +16,7 @@ import * as https from 'https';
 
 Configuration.load();
 
-const { defaultMetadataStorage } = require('class-transformer/cjs/storage');
+import defaultMetadataStorage from 'class-transformer/cjs/storage';
 
 const routingControllersOptions = {
   controllers: [DevicesController, NotificationsController],
@@ -89,12 +89,14 @@ const spec = routingControllersToSpec(storage, routingControllersOptions, {
   },
 });
 
+console.log('-->>>LOADED? ', process.env.SWAGGER_REDIRECT_URL);
+
 const swaggerOptions = {
   swaggerOptions: {
-    oauth2RedirectUrl: 'https://localhost:8080/swagger/oauth2-redirect.html',
+    oauth2RedirectUrl: process.env.SWAGGER_REDIRECT_URL,
     oauth: {
       //clientId: "notifications-dev-clientapi",
-      // Use the app client-id instead, tha tmus tbe configure implicit but not public (see above)
+      // Use the app client-id instead, that must be configured implicit but not public (see above)
       clientId: process.env.OAUTH_CLIENT_ID,
     },
     filter: true,
-- 
GitLab