From 230d2790dd622afde81e5e1e23440e56f3fc1283 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me>
Date: Thu, 7 Dec 2023 16:03:08 +0100
Subject: [PATCH] OpenAPI => Fix docs paths

---
 ExpressAPI/assets/OpenAPI/OpenAPI.yaml |  2 +-
 ExpressAPI/package.json                |  2 +-
 ExpressAPI/src/express/API.ts          | 13 ++++++++-----
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/ExpressAPI/assets/OpenAPI/OpenAPI.yaml b/ExpressAPI/assets/OpenAPI/OpenAPI.yaml
index f9568c0..ba7dd03 100644
--- a/ExpressAPI/assets/OpenAPI/OpenAPI.yaml
+++ b/ExpressAPI/assets/OpenAPI/OpenAPI.yaml
@@ -1,7 +1,7 @@
 openapi: 3.1.0
 info:
     title: Dojo API
-    version: 3.1.0
+    version: 3.1.2
     description: |
         **Backend API of the Dojo project.**
         
diff --git a/ExpressAPI/package.json b/ExpressAPI/package.json
index 40101b7..037f615 100644
--- a/ExpressAPI/package.json
+++ b/ExpressAPI/package.json
@@ -1,7 +1,7 @@
 {
     "name"           : "dojo_backend_api",
     "description"    : "Backend API of the Dojo project",
-    "version"        : "3.1.1",
+    "version"        : "3.1.2",
     "license"        : "AGPLv3",
     "author"         : "Michaƫl Minelli <dojo@minelli.me>",
     "main"           : "dist/src/app.js",
diff --git a/ExpressAPI/src/express/API.ts b/ExpressAPI/src/express/API.ts
index 21873c0..dcc801c 100644
--- a/ExpressAPI/src/express/API.ts
+++ b/ExpressAPI/src/express/API.ts
@@ -47,8 +47,10 @@ class API implements WorkerTask {
 
     private initSwagger() {
         const options = {
-            swaggerOptions: {
-                url: '/docs/OpenAPI.yaml'
+            customSiteTitle: 'Dojo API',
+            explorer       : false,
+            swaggerOptions : {
+                url: '../OpenAPI.yaml'
             }
         };
         this.backend.get('/docs/OpenAPI.yaml', (req, res) => res.sendFile(path.resolve(__dirname + '/../../assets/OpenAPI/OpenAPI.yaml')));
@@ -56,16 +58,17 @@ class API implements WorkerTask {
         this.backend.get('/docs/redoc.html', (req, res) => res.sendFile(path.resolve(__dirname + '/../../assets/OpenAPI/redoc.html')));
 
         this.backend.get('/docs/', (req, res) => {
+            const prefix = req.url.slice(-1) === '/' ? '' : 'docs/';
             res.send(`
                 <!DOCTYPE html>
                 <html lang="en">
                 <body>
                     <ul>
-                        <li><a href="/docs/OpenAPI.yaml">OpenAPI</a></li>
+                        <li><a href="${ prefix }OpenAPI.yaml">OpenAPI</a></li>
                         <li>GUI
                             <ul>
-                                <li><a href="/docs/swagger">Swagger</a></li>
-                                <li><a href="/docs/redoc.html">Redoc</a></li>
+                                <li><a href="${ prefix }swagger/">Swagger</a></li>
+                                <li><a href="${ prefix }redoc.html">Redoc</a></li>
                             </ul>
                         </li>
                     </ul>
-- 
GitLab