diff --git a/ExpressAPI/src/express/RoutesManager.ts b/ExpressAPI/src/express/RoutesManager.ts new file mode 100644 index 0000000000000000000000000000000000000000..683f5ac33fe75f7598454785a4eb000b0d635b39 --- /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 0000000000000000000000000000000000000000..e8ff6deba9b3b529f29d6173b38130766fec33b2 --- /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;