From efa855c60ac95b04ea377eb22fdf6ce9fc4dc570 Mon Sep 17 00:00:00 2001 From: counterweight Date: Wed, 5 Mar 2025 15:39:31 +0100 Subject: [PATCH] split --- src/app.js | 9 +-------- src/dependencies.js | 12 ++++++++++++ src/routes/webRoutes.js | 22 ++++++++++++---------- 3 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 src/dependencies.js diff --git a/src/app.js b/src/app.js index 9c89db5..7ec68ee 100644 --- a/src/app.js +++ b/src/app.js @@ -1,14 +1,7 @@ const express = require('express'); const cookieParser = require('cookie-parser'); const path = require('path'); - -function buildDependencies() { - const dependencies = {}; - - const webRoutesProvider = new (require('./routes/webRoutes'))(); - dependencies.webRoutes = webRoutesProvider.provide(); - return dependencies; -} +const { buildDependencies } = require('./dependencies'); function createApp(dependencies) { const app = express(); diff --git a/src/dependencies.js b/src/dependencies.js new file mode 100644 index 0000000..bef3e82 --- /dev/null +++ b/src/dependencies.js @@ -0,0 +1,12 @@ +const express = require('express'); + +function buildDependencies() { + const dependencies = {}; + + const WebRoutesProvider = require('./routes/webRoutes'); + const webRoutesProvider = new WebRoutesProvider(express); + dependencies.webRoutes = webRoutesProvider.provide(); + return dependencies; +} + +module.exports = { buildDependencies }; diff --git a/src/routes/webRoutes.js b/src/routes/webRoutes.js index 49ad7cd..8a9784f 100644 --- a/src/routes/webRoutes.js +++ b/src/routes/webRoutes.js @@ -1,6 +1,3 @@ -const express = require('express'); -const router = express.Router(); - const redirectIfNotAuthorizedMiddleware = require('../middlewares/redirectIfNotAuthorizedMiddleware'); const invitesService = require('../services/invitesService'); const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddleware'); @@ -8,8 +5,13 @@ const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redire const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized'); class WebRoutesProvider { + constructor(express) { + this.express; + this.router = express.Router(); + } + provide() { - router.get( + this.router.get( '/', redirectHomeIfAuthorized, redirectIfNotAuthorizedMiddleware, @@ -18,11 +20,11 @@ class WebRoutesProvider { } ); - router.get('/login', redirectHomeIfAuthorized, (req, res) => { + this.router.get('/login', redirectHomeIfAuthorized, (req, res) => { res.render('login', { uuid: req.cookies.sessionUuid }); }); - router.get('/invite/:inviteUuid', async (req, res) => { + this.router.get('/invite/:inviteUuid', async (req, res) => { const { inviteUuid } = req.params; res.cookie('inviteUuid', inviteUuid, { @@ -52,7 +54,7 @@ class WebRoutesProvider { return res.render('invite', { invite }); }); - router.get( + this.router.get( '/createProfile', redirectIfNotAuthorizedMiddleware, async (req, res) => { @@ -60,7 +62,7 @@ class WebRoutesProvider { } ); - router.get( + this.router.get( '/home', redirectIfNotAuthorizedMiddleware, attachPublicKeyMiddleware, @@ -70,7 +72,7 @@ class WebRoutesProvider { } ); - router.get( + this.router.get( '/offers', redirectIfNotAuthorizedMiddleware, attachPublicKeyMiddleware, @@ -80,7 +82,7 @@ class WebRoutesProvider { } ); - return router; + return this.router; } }