all middlewares provider

This commit is contained in:
counterweight 2025-03-06 01:01:12 +01:00
parent 3623ff11cb
commit 1dca924b83
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
3 changed files with 59 additions and 41 deletions

View file

@ -3,12 +3,18 @@ const express = require('express');
function buildDependencies() { function buildDependencies() {
const dependencies = {}; const dependencies = {};
const middlewares = require('./middlewares'); const constants = require('./constants');
dependencies.middlewares = middlewares;
const services = require('./services'); const services = require('./services');
const errors = require('./errors'); const errors = require('./errors');
const MiddlewaresProvider = require('./middlewares');
const middlewares = new MiddlewaresProvider({
constants,
sessionService: services.sessionService,
profileService: services.profileService,
}).provide();
dependencies.middlewares = middlewares;
const WebRoutesProvider = require('./routes/webRoutes'); const WebRoutesProvider = require('./routes/webRoutes');
const webRoutesProvider = new WebRoutesProvider({ const webRoutesProvider = new WebRoutesProvider({
express, express,

View file

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

View file

@ -1,39 +1,47 @@
const sessionService = require('../services/sessionService'); class MiddlewaresProvider {
const AttachPublicKeyMiddlewareProvider = require('./attachPublicKeyMiddleware'); constructor({ constants, sessionService, profileService }) {
const attachPublicKeyMiddleware = new AttachPublicKeyMiddlewareProvider( this.constants = constants;
sessionService this.sessionService = sessionService;
).provide(); this.profileService = profileService;
}
provide() {
const AttachPublicKeyMiddlewareProvider = require('./attachPublicKeyMiddleware');
const attachPublicKeyMiddleware = new AttachPublicKeyMiddlewareProvider({
sessionService: this.sessionService,
}).provide();
const constants = require('../constants');
const CreateSessionMiddlewareProvider = require('./createSessionMiddleware'); const CreateSessionMiddlewareProvider = require('./createSessionMiddleware');
const createSessionMiddleware = new CreateSessionMiddlewareProvider({ const createSessionMiddleware = new CreateSessionMiddlewareProvider({
constants, constants: this.constants,
sessionService, sessionService: this.sessionService,
}).provide(); }).provide();
const RejectIfNotAuthorizedMiddleware = require('./rejectIfNotAuthorizedMiddleware'); const RejectIfNotAuthorizedMiddleware = require('./rejectIfNotAuthorizedMiddleware');
const rejectIfNotAuthorizedMiddleware = new RejectIfNotAuthorizedMiddleware({ const rejectIfNotAuthorizedMiddleware = new RejectIfNotAuthorizedMiddleware(
sessionService, {
}).provide(); sessionService: this.sessionService,
}
).provide();
const RedirectHomeIfAuthorized = require('./redirectHomeIfAuthorized'); const RedirectHomeIfAuthorized = require('./redirectHomeIfAuthorized');
const redirectHomeIfAuthorized = new RedirectHomeIfAuthorized({ const redirectHomeIfAuthorized = new RedirectHomeIfAuthorized({
sessionService, sessionService: this.sessionService,
}).provide(); }).provide();
const RedirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware'); const RedirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware');
const redirectIfNotAuthorizedMiddleware = new RedirectIfNotAuthorizedMiddleware( const redirectIfNotAuthorizedMiddleware =
{ sessionService } new RedirectIfNotAuthorizedMiddleware({
).provide(); sessionService: this.sessionService,
}).provide();
const profileService = require('../services/profileService');
const RedirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware'); const RedirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware');
const redirectIfMissingProfileDetailsMiddleware = const redirectIfMissingProfileDetailsMiddleware =
new RedirectIfMissingProfileDetailsMiddleware({ new RedirectIfMissingProfileDetailsMiddleware({
profileService, profileService: this.profileService,
}).provide(); }).provide();
module.exports = { return {
redirectIfNotAuthorizedMiddleware, redirectIfNotAuthorizedMiddleware,
attachPublicKeyMiddleware, attachPublicKeyMiddleware,
redirectIfMissingProfileDetailsMiddleware, redirectIfMissingProfileDetailsMiddleware,
@ -41,3 +49,7 @@ module.exports = {
rejectIfNotAuthorizedMiddleware, rejectIfNotAuthorizedMiddleware,
createSessionMiddleware, createSessionMiddleware,
}; };
}
}
module.exports = MiddlewaresProvider;