diff --git a/src/middlewares/index.js b/src/middlewares/index.js index c546507..017f16d 100644 --- a/src/middlewares/index.js +++ b/src/middlewares/index.js @@ -1,5 +1,3 @@ -const redirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware'); - const sessionService = require('../services/sessionService'); const AttachPublicKeyMiddlewareProvider = require('./attachPublicKeyMiddleware'); const attachPublicKeyMiddleware = new AttachPublicKeyMiddlewareProvider( @@ -28,6 +26,13 @@ const redirectIfNotAuthorizedMiddleware = new RedirectIfNotAuthorizedMiddleware( { sessionService } ).provide(); +const profileService = require('../services/profileService'); +const RedirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware'); +const redirectIfMissingProfileDetailsMiddleware = + new RedirectIfMissingProfileDetailsMiddleware({ + profileService, + }).provide(); + module.exports = { redirectIfNotAuthorizedMiddleware, attachPublicKeyMiddleware, diff --git a/src/middlewares/redirectIfMissingProfileDetailsMiddleware.js b/src/middlewares/redirectIfMissingProfileDetailsMiddleware.js index 934048d..d7e758f 100644 --- a/src/middlewares/redirectIfMissingProfileDetailsMiddleware.js +++ b/src/middlewares/redirectIfMissingProfileDetailsMiddleware.js @@ -1,12 +1,17 @@ -const profileService = require('../services/profileService'); - -async function redirectIfMissingProfileDetailsMiddleware(req, res, next) { - const publicKey = req.cookies.publicKey; - if (!(await profileService.areProfileDetailsComplete(publicKey))) { - res.redirect('/createProfile'); +class RedirectIfMissingProfileDetailsMiddleware { + constructor({ profileService }) { + this.profileService = profileService; } - next(); -} + provide() { + return async (req, res, next) => { + const publicKey = req.cookies.publicKey; + if (!(await this.profileService.areProfileDetailsComplete(publicKey))) { + res.redirect('/createProfile'); + } -module.exports = redirectIfMissingProfileDetailsMiddleware; + next(); + }; + } +} +module.exports = RedirectIfMissingProfileDetailsMiddleware;