55 lines
1.9 KiB
JavaScript
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;
|