This commit is contained in:
counterweight 2025-03-06 00:39:16 +01:00
parent 6ba8eed427
commit c4131c82aa
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
3 changed files with 28 additions and 14 deletions

View file

@ -1,4 +1,3 @@
const redirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware');
const redirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware');
const sessionService = require('../services/sessionService');
@ -15,13 +14,18 @@ const createSessionMiddleware = new CreateSessionMiddlewareProvider({
}).provide();
const RejectIfNotAuthorizedMiddleware = require('./rejectIfNotAuthorizedMiddleware');
const rejectIfNotAuthorizedMiddleware = new RejectIfNotAuthorizedMiddleware(
sessionService
).provide();
const rejectIfNotAuthorizedMiddleware = new RejectIfNotAuthorizedMiddleware({
sessionService,
}).provide();
const RedirectHomeIfAuthorized = require('./redirectHomeIfAuthorized');
const redirectHomeIfAuthorized = new RedirectHomeIfAuthorized(
sessionService
const redirectHomeIfAuthorized = new RedirectHomeIfAuthorized({
sessionService,
}).provide();
const RedirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware');
const redirectIfNotAuthorizedMiddleware = new RedirectIfNotAuthorizedMiddleware(
{ sessionService }
).provide();
module.exports = {

View file

@ -1,5 +1,5 @@
class RedirectHomeIfAuthorized {
constructor(sessionService) {
constructor({ sessionService }) {
this.sessionService = sessionService;
}

View file

@ -1,10 +1,20 @@
const sessionService = require('../services/sessionService');
class RedirectIfNotAuthorizedMiddleware {
constructor({ sessionService }) {
this.sessionService = sessionService;
}
async function redirectIfNotAuthorizedMiddleware(req, res, next) {
if (!(await sessionService.isSessionAuthorized(req.cookies.sessionUuid))) {
provide() {
return async (req, res, next) => {
if (
!(await this.sessionService.isSessionAuthorized(
req.cookies.sessionUuid
))
) {
return res.redirect('/login');
}
next();
};
}
}
module.exports = redirectIfNotAuthorizedMiddleware;
module.exports = RedirectIfNotAuthorizedMiddleware;