diff --git a/src/middlewares/attachPublicKeyMiddleware.js b/src/middlewares/attachPublicKeyMiddleware.js index c6ad835..4a60104 100644 --- a/src/middlewares/attachPublicKeyMiddleware.js +++ b/src/middlewares/attachPublicKeyMiddleware.js @@ -1,14 +1,20 @@ -const sessionService = require('../services/sessionService'); - -async function attachPublicKeyMiddleware(req, res, next) { - const publicKey = await sessionService.getPublicKeyRelatedToSession( - req.cookies.sessionUuid - ); - - if (publicKey) { - req.cookies.publicKey = publicKey; +class AttachPublicKeyMiddlewareProvider { + constructor(sessionService) { + this.sessionService = sessionService; + } + + provide() { + return async (req, res, next) => { + const publicKey = await this.sessionService.getPublicKeyRelatedToSession( + req.cookies.sessionUuid + ); + + if (publicKey) { + req.cookies.publicKey = publicKey; + } + next(); + }; } - next(); } -module.exports = attachPublicKeyMiddleware; +module.exports = AttachPublicKeyMiddlewareProvider; diff --git a/src/middlewares/index.js b/src/middlewares/index.js index 6a56fa8..289f72e 100644 --- a/src/middlewares/index.js +++ b/src/middlewares/index.js @@ -1,10 +1,15 @@ const redirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware'); -const attachPublicKeyMiddleware = require('./attachPublicKeyMiddleware'); const redirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware'); const redirectHomeIfAuthorized = require('./redirectHomeIfAuthorized'); const rejectIfNotAuthorizedMiddleware = require('./rejectIfNotAuthorizedMiddleware'); const createSessionMiddleware = require('./createSessionMiddleware'); +const sessionService = require('../services/sessionService'); +const AttachPublicKeyMiddlewareProvider = require('./attachPublicKeyMiddleware'); +const attachPublicKeyMiddleware = new AttachPublicKeyMiddlewareProvider( + sessionService +).provide(); + module.exports = { redirectIfNotAuthorizedMiddleware, attachPublicKeyMiddleware,