secajs/src/middlewares/index.js

55 lines
1.9 KiB
JavaScript

class MiddlewaresProvider {
constructor({ constants, sessionService, profileService }) {
this.constants = constants;
this.sessionService = sessionService;
this.profileService = profileService;
}
provide() {
const AttachPublicKeyMiddlewareProvider = require('./attachPublicKeyMiddleware');
const attachPublicKeyMiddleware = new AttachPublicKeyMiddlewareProvider({
sessionService: this.sessionService,
}).provide();
const CreateSessionMiddlewareProvider = require('./createSessionMiddleware');
const createSessionMiddleware = new CreateSessionMiddlewareProvider({
constants: this.constants,
sessionService: this.sessionService,
}).provide();
const RejectIfNotAuthorizedMiddleware = require('./rejectIfNotAuthorizedMiddleware');
const rejectIfNotAuthorizedMiddleware = new RejectIfNotAuthorizedMiddleware(
{
sessionService: this.sessionService,
}
).provide();
const RedirectHomeIfAuthorized = require('./redirectHomeIfAuthorized');
const redirectHomeIfAuthorized = new RedirectHomeIfAuthorized({
sessionService: this.sessionService,
}).provide();
const RedirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware');
const redirectIfNotAuthorizedMiddleware =
new RedirectIfNotAuthorizedMiddleware({
sessionService: this.sessionService,
}).provide();
const RedirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware');
const redirectIfMissingProfileDetailsMiddleware =
new RedirectIfMissingProfileDetailsMiddleware({
profileService: this.profileService,
}).provide();
return {
redirectIfNotAuthorizedMiddleware,
attachPublicKeyMiddleware,
redirectIfMissingProfileDetailsMiddleware,
redirectHomeIfAuthorized,
rejectIfNotAuthorizedMiddleware,
createSessionMiddleware,
};
}
}
module.exports = MiddlewaresProvider;