zents
Version:
ZenTS is a Node.js & TypeScript MVC-Framework for building rich web applications, released as free and open-source software under the MIT License. It is designed for building web applications with modern tools and design patterns.
49 lines • 2.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Registry = void 0;
const ControllerFactory_1 = require("../controller/ControllerFactory");
const types_1 = require("../types");
const email_1 = require("../email");
const RequestFactory_1 = require("../http/RequestFactory");
const RouterFactory_1 = require("../router/RouterFactory");
const ServiceFactory_1 = require("../service/ServiceFactory");
const SessionFactory_1 = require("../security/SessionFactory");
class Registry {
constructor(controllers, services, templateData, emailTemplates, databaseContainer, entities, securityProviders) {
this.controllers = controllers;
this.services = services;
this.databaseContainer = databaseContainer;
this.entities = entities;
this.securityProviders = securityProviders;
const sessionFactory = new SessionFactory_1.SessionFactory(securityProviders, databaseContainer);
const emailFactory = new email_1.EmailFactory(emailTemplates);
this.factories = {
router: new RouterFactory_1.RouterFactory(),
controller: new ControllerFactory_1.ControllerFactory(controllers, emailFactory, sessionFactory, securityProviders, databaseContainer, templateData),
request: new RequestFactory_1.RequestFactory(this),
service: new ServiceFactory_1.ServiceFactory(services, emailFactory, sessionFactory, securityProviders, databaseContainer),
session: sessionFactory,
email: emailFactory,
};
}
getControllers() {
return this.controllers;
}
getServices() {
return this.services;
}
getEntities() {
return this.entities;
}
getConnection() {
return this.databaseContainer.get(types_1.DB_TYPE.ORM);
}
getRedisClient() {
return this.databaseContainer.get(types_1.DB_TYPE.REDIS);
}
getSecurityProviders() {
return this.securityProviders;
}
}
exports.Registry = Registry;
//# sourceMappingURL=Registry.js.map