diff --git a/src/dependencies.js b/src/dependencies.js index bef3e82..1eeaac2 100644 --- a/src/dependencies.js +++ b/src/dependencies.js @@ -3,8 +3,20 @@ const express = require('express'); function buildDependencies() { const dependencies = {}; + const redirectIfNotAuthorizedMiddleware = require('./middlewares/redirectIfNotAuthorizedMiddleware'); + const attachPublicKeyMiddleware = require('./middlewares/attachPublicKeyMiddleware'); + const redirectIfMissingProfileDetailsMiddleware = require('./middlewares/redirectIfMissingProfileDetailsMiddleware'); + const redirectHomeIfAuthorized = require('./middlewares/redirectHomeIfAuthorized'); + + const middlewares = { + redirectIfNotAuthorizedMiddleware, + attachPublicKeyMiddleware, + redirectIfMissingProfileDetailsMiddleware, + redirectHomeIfAuthorized, + }; + const WebRoutesProvider = require('./routes/webRoutes'); - const webRoutesProvider = new WebRoutesProvider(express); + const webRoutesProvider = new WebRoutesProvider({ express, middlewares }); dependencies.webRoutes = webRoutesProvider.provide(); return dependencies; } diff --git a/src/routes/webRoutes.js b/src/routes/webRoutes.js index 8a9784f..4849c91 100644 --- a/src/routes/webRoutes.js +++ b/src/routes/webRoutes.js @@ -1,28 +1,28 @@ -const redirectIfNotAuthorizedMiddleware = require('../middlewares/redirectIfNotAuthorizedMiddleware'); const invitesService = require('../services/invitesService'); -const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddleware'); -const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redirectIfMissingProfileDetailsMiddleware'); -const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized'); class WebRoutesProvider { - constructor(express) { - this.express; + constructor({ express, middlewares }) { this.router = express.Router(); + this.middlewares = middlewares; } provide() { this.router.get( '/', - redirectHomeIfAuthorized, - redirectIfNotAuthorizedMiddleware, + this.middlewares.redirectHomeIfAuthorized, + this.middlewares.redirectIfNotAuthorizedMiddleware, (req, res) => { res.redirect('/login'); } ); - this.router.get('/login', redirectHomeIfAuthorized, (req, res) => { - res.render('login', { uuid: req.cookies.sessionUuid }); - }); + this.router.get( + '/login', + this.middlewares.redirectHomeIfAuthorized, + (req, res) => { + res.render('login', { uuid: req.cookies.sessionUuid }); + } + ); this.router.get('/invite/:inviteUuid', async (req, res) => { const { inviteUuid } = req.params; @@ -56,7 +56,7 @@ class WebRoutesProvider { this.router.get( '/createProfile', - redirectIfNotAuthorizedMiddleware, + this.middlewares.redirectIfNotAuthorizedMiddleware, async (req, res) => { return res.status(200).render('createProfile'); } @@ -64,9 +64,9 @@ class WebRoutesProvider { this.router.get( '/home', - redirectIfNotAuthorizedMiddleware, - attachPublicKeyMiddleware, - redirectIfMissingProfileDetailsMiddleware, + this.middlewares.redirectIfNotAuthorizedMiddleware, + this.middlewares.attachPublicKeyMiddleware, + this.middlewares.redirectIfMissingProfileDetailsMiddleware, (req, res) => { res.render('home', {}); } @@ -74,9 +74,9 @@ class WebRoutesProvider { this.router.get( '/offers', - redirectIfNotAuthorizedMiddleware, - attachPublicKeyMiddleware, - redirectIfMissingProfileDetailsMiddleware, + this.middlewares.redirectIfNotAuthorizedMiddleware, + this.middlewares.attachPublicKeyMiddleware, + this.middlewares.redirectIfMissingProfileDetailsMiddleware, (req, res) => { res.render('offers', {}); }