This commit is contained in:
counterweight 2025-03-05 15:39:31 +01:00
parent 7db9e7f78c
commit efa855c60a
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
3 changed files with 25 additions and 18 deletions

View file

@ -1,14 +1,7 @@
const express = require('express'); const express = require('express');
const cookieParser = require('cookie-parser'); const cookieParser = require('cookie-parser');
const path = require('path'); const path = require('path');
const { buildDependencies } = require('./dependencies');
function buildDependencies() {
const dependencies = {};
const webRoutesProvider = new (require('./routes/webRoutes'))();
dependencies.webRoutes = webRoutesProvider.provide();
return dependencies;
}
function createApp(dependencies) { function createApp(dependencies) {
const app = express(); const app = express();

12
src/dependencies.js Normal file
View file

@ -0,0 +1,12 @@
const express = require('express');
function buildDependencies() {
const dependencies = {};
const WebRoutesProvider = require('./routes/webRoutes');
const webRoutesProvider = new WebRoutesProvider(express);
dependencies.webRoutes = webRoutesProvider.provide();
return dependencies;
}
module.exports = { buildDependencies };

View file

@ -1,6 +1,3 @@
const express = require('express');
const router = express.Router();
const redirectIfNotAuthorizedMiddleware = require('../middlewares/redirectIfNotAuthorizedMiddleware'); const redirectIfNotAuthorizedMiddleware = require('../middlewares/redirectIfNotAuthorizedMiddleware');
const invitesService = require('../services/invitesService'); const invitesService = require('../services/invitesService');
const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddleware'); const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddleware');
@ -8,8 +5,13 @@ const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redire
const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized'); const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized');
class WebRoutesProvider { class WebRoutesProvider {
constructor(express) {
this.express;
this.router = express.Router();
}
provide() { provide() {
router.get( this.router.get(
'/', '/',
redirectHomeIfAuthorized, redirectHomeIfAuthorized,
redirectIfNotAuthorizedMiddleware, redirectIfNotAuthorizedMiddleware,
@ -18,11 +20,11 @@ class WebRoutesProvider {
} }
); );
router.get('/login', redirectHomeIfAuthorized, (req, res) => { this.router.get('/login', redirectHomeIfAuthorized, (req, res) => {
res.render('login', { uuid: req.cookies.sessionUuid }); res.render('login', { uuid: req.cookies.sessionUuid });
}); });
router.get('/invite/:inviteUuid', async (req, res) => { this.router.get('/invite/:inviteUuid', async (req, res) => {
const { inviteUuid } = req.params; const { inviteUuid } = req.params;
res.cookie('inviteUuid', inviteUuid, { res.cookie('inviteUuid', inviteUuid, {
@ -52,7 +54,7 @@ class WebRoutesProvider {
return res.render('invite', { invite }); return res.render('invite', { invite });
}); });
router.get( this.router.get(
'/createProfile', '/createProfile',
redirectIfNotAuthorizedMiddleware, redirectIfNotAuthorizedMiddleware,
async (req, res) => { async (req, res) => {
@ -60,7 +62,7 @@ class WebRoutesProvider {
} }
); );
router.get( this.router.get(
'/home', '/home',
redirectIfNotAuthorizedMiddleware, redirectIfNotAuthorizedMiddleware,
attachPublicKeyMiddleware, attachPublicKeyMiddleware,
@ -70,7 +72,7 @@ class WebRoutesProvider {
} }
); );
router.get( this.router.get(
'/offers', '/offers',
redirectIfNotAuthorizedMiddleware, redirectIfNotAuthorizedMiddleware,
attachPublicKeyMiddleware, attachPublicKeyMiddleware,
@ -80,7 +82,7 @@ class WebRoutesProvider {
} }
); );
return router; return this.router;
} }
} }