From 3623ff11cb851394028665a8a202b45a9b08a0bd Mon Sep 17 00:00:00 2001 From: counterweight Date: Thu, 6 Mar 2025 00:46:51 +0100 Subject: [PATCH] last one --- src/middlewares/index.js | 9 ++++++-- ...directIfMissingProfileDetailsMiddleware.js | 23 +++++++++++-------- 2 files changed, 21 insertions(+), 11 deletions(-) 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;