diff --git a/src/middlewares/index.js b/src/middlewares/index.js index 4a13843..c4fc3c7 100644 --- a/src/middlewares/index.js +++ b/src/middlewares/index.js @@ -1,6 +1,5 @@ const redirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware'); const redirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware'); -const redirectHomeIfAuthorized = require('./redirectHomeIfAuthorized'); const sessionService = require('../services/sessionService'); const AttachPublicKeyMiddlewareProvider = require('./attachPublicKeyMiddleware'); @@ -20,6 +19,11 @@ const rejectIfNotAuthorizedMiddleware = new RejectIfNotAuthorizedMiddleware( sessionService ).provide(); +const RedirectHomeIfAuthorized = require('./redirectHomeIfAuthorized'); +const redirectHomeIfAuthorized = new RedirectHomeIfAuthorized( + sessionService +).provide(); + module.exports = { redirectIfNotAuthorizedMiddleware, attachPublicKeyMiddleware, diff --git a/src/middlewares/redirectHomeIfAuthorized.js b/src/middlewares/redirectHomeIfAuthorized.js index 9619c68..4fcca17 100644 --- a/src/middlewares/redirectHomeIfAuthorized.js +++ b/src/middlewares/redirectHomeIfAuthorized.js @@ -1,10 +1,18 @@ -const sessionService = require('../services/sessionService'); - -async function redirectHomeIfAuthorized(req, res, next) { - if (await sessionService.isSessionAuthorized(req.cookies.sessionUuid)) { - return res.redirect('/home'); +class RedirectHomeIfAuthorized { + constructor(sessionService) { + this.sessionService = sessionService; + } + + provide() { + return async (req, res, next) => { + if ( + await this.sessionService.isSessionAuthorized(req.cookies.sessionUuid) + ) { + return res.redirect('/home'); + } + next(); + }; } - next(); } -module.exports = redirectHomeIfAuthorized; +module.exports = RedirectHomeIfAuthorized;