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 cookieParser = require('cookie-parser');
const path = require('path');
function buildDependencies() {
const dependencies = {};
const webRoutesProvider = new (require('./routes/webRoutes'))();
dependencies.webRoutes = webRoutesProvider.provide();
return dependencies;
}
const { buildDependencies } = require('./dependencies');
function createApp(dependencies) {
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 invitesService = require('../services/invitesService');
const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddleware');
@ -8,8 +5,13 @@ const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redire
const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized');
class WebRoutesProvider {
constructor(express) {
this.express;
this.router = express.Router();
}
provide() {
router.get(
this.router.get(
'/',
redirectHomeIfAuthorized,
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 });
});
router.get('/invite/:inviteUuid', async (req, res) => {
this.router.get('/invite/:inviteUuid', async (req, res) => {
const { inviteUuid } = req.params;
res.cookie('inviteUuid', inviteUuid, {
@ -52,7 +54,7 @@ class WebRoutesProvider {
return res.render('invite', { invite });
});
router.get(
this.router.get(
'/createProfile',
redirectIfNotAuthorizedMiddleware,
async (req, res) => {
@ -60,7 +62,7 @@ class WebRoutesProvider {
}
);
router.get(
this.router.get(
'/home',
redirectIfNotAuthorizedMiddleware,
attachPublicKeyMiddleware,
@ -70,7 +72,7 @@ class WebRoutesProvider {
}
);
router.get(
this.router.get(
'/offers',
redirectIfNotAuthorizedMiddleware,
attachPublicKeyMiddleware,
@ -80,7 +82,7 @@ class WebRoutesProvider {
}
);
return router;
return this.router;
}
}