refactor middlewares

This commit is contained in:
counterweight 2025-03-05 15:46:51 +01:00
parent efa855c60a
commit 76efca914a
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
2 changed files with 31 additions and 19 deletions

View file

@ -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;
}

View file

@ -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', {});
}