From 371e628a12b83d711019e7b3038a3593601e8343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Tue, 30 May 2023 18:20:53 +0200 Subject: [PATCH] Add routes management --- ExpressAPI/src/express/RoutesManager.ts | 9 ++++++++ ExpressAPI/src/routes/ApiRoutesManager.ts | 25 +++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ExpressAPI/src/express/RoutesManager.ts create mode 100644 ExpressAPI/src/routes/ApiRoutesManager.ts diff --git a/ExpressAPI/src/express/RoutesManager.ts b/ExpressAPI/src/express/RoutesManager.ts new file mode 100644 index 0000000..683f5ac --- /dev/null +++ b/ExpressAPI/src/express/RoutesManager.ts @@ -0,0 +1,9 @@ +import { Express } from 'express-serve-static-core'; + + +interface RoutesManager { + registerOnBackend(backend: Express): void; +} + + +export default RoutesManager; diff --git a/ExpressAPI/src/routes/ApiRoutesManager.ts b/ExpressAPI/src/routes/ApiRoutesManager.ts new file mode 100644 index 0000000..e8ff6de --- /dev/null +++ b/ExpressAPI/src/routes/ApiRoutesManager.ts @@ -0,0 +1,25 @@ +import { Express } from 'express-serve-static-core'; +import RoutesManager from '../express/RoutesManager'; +import BaseRoutes from './BaseRoutes'; + + +class AdminRoutesManager implements RoutesManager { + private static _instance: AdminRoutesManager; + + private constructor() { } + + public static get instance(): AdminRoutesManager { + if ( !AdminRoutesManager._instance ) { + AdminRoutesManager._instance = new AdminRoutesManager(); + } + + return AdminRoutesManager._instance; + } + + registerOnBackend(backend: Express) { + BaseRoutes.registerOnBackend(backend); + } +} + + +export default AdminRoutesManager.instance; -- GitLab