redirect nicely depending on authorized or not

This commit is contained in:
counterweight 2025-02-21 16:07:29 +01:00
parent 2e79a1fadd
commit 70f9118d82
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
4 changed files with 23 additions and 3 deletions

View file

@ -0,0 +1,10 @@
const sessionService = require('../services/sessionService');
async function redirectHomeIfAuthorized(req, res, next) {
if (await sessionService.isSessionAuthorized(req.cookies.sessionUuid)) {
return res.redirect('/home');
}
next();
}
module.exports = redirectHomeIfAuthorized;

View file

@ -2,7 +2,7 @@ const sessionService = require('../services/sessionService');
async function redirectIfNotAuthorizedMiddleware(req, res, next) { async function redirectIfNotAuthorizedMiddleware(req, res, next) {
if (!(await sessionService.isSessionAuthorized(req.cookies.sessionUuid))) { if (!(await sessionService.isSessionAuthorized(req.cookies.sessionUuid))) {
return res.redirect('/'); return res.redirect('/login');
} }
next(); next();
} }

View file

@ -5,9 +5,19 @@ const redirectIfNotAuthorizedMiddleware = require('../middlewares/redirectIfNotA
const invitesService = require('../services/invitesService'); const invitesService = require('../services/invitesService');
const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddleware'); const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddleware');
const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redirectIfMissingProfileDetailsMiddleware'); const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redirectIfMissingProfileDetailsMiddleware');
const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized');
router.get('/', (req, res) => { router.get(
res.render('index', { uuid: req.cookies.sessionUuid }); '/',
redirectHomeIfAuthorized,
redirectIfNotAuthorizedMiddleware,
(req, res) => {
res.redirect('/login');
}
);
router.get('/login', redirectHomeIfAuthorized, (req, res) => {
res.render('login', { uuid: req.cookies.sessionUuid });
}); });
router.get('/invite/:inviteUuid', async (req, res) => { router.get('/invite/:inviteUuid', async (req, res) => {