tuain-ecosystem-lib
Version:
Servicio de gestión mensajería instantanea de la plataforma Tuain
43 lines (40 loc) • 2.31 kB
JavaScript
const EnvironmentManager = require('./lib/ecosystem/environment');
const PriceManager = require('./lib/ecosystem/prices');
const ProductManager = require('./lib/ecosystem/products');
const ThirdPartyManager = require('./lib/ecosystem/third-parties');
const StoreManager = require('./lib/ecosystem/stores');
const SetupManager = require('./lib/ecosystem/setups');
const DeviceManager = require('./lib/ecosystem/devices');
const GroupManager = require('./lib/ecosystem/groups');
const TerminalManager = require('./lib/ecosystem/terminals');
const UserManager = require('./lib/ecosystem/users');
const ParamManager = require('./lib/ecosystem/parameters');
class EcosystemManager {
constructor(databaseParams, logger, errMgr, privateKeyFile, databasePool, ecosystemOptions = null) {
this.logger = logger;
this.errMgr = errMgr;
this.ready = null;
this.databasePool = databasePool;
if (!databasePool) {
this.logger.debug('Se requiere de un pool de base de datos para inicializar el gestor');
}
this.initObjects(databaseParams, logger, errMgr, privateKeyFile, databasePool, ecosystemOptions);
}
initObjects(databaseParams, logger, errMgr, privateKeyFile, databasePool, ecosystemOptions) {
const { devices, environment, parameters, prices, products, setups, stores, terminals, thirdParties, users } =
ecosystemOptions ?? {};
const getDb = () => this.databasePool.db();
this.environmentManager = new EnvironmentManager(getDb, logger, errMgr, environment);
this.priceManager = new PriceManager(getDb, logger, errMgr, prices);
this.setupManager = new SetupManager(getDb, logger, errMgr, setups);
this.productManager = new ProductManager(getDb, logger, errMgr, products);
this.thirdPartyManager = new ThirdPartyManager(getDb, logger, errMgr, thirdParties);
this.storeManager = new StoreManager(getDb, logger, errMgr, stores);
this.deviceManager = new DeviceManager(getDb, logger, errMgr, devices);
this.groupManager = new GroupManager(getDb, logger, errMgr, devices);
this.terminalManager = new TerminalManager(getDb, logger, errMgr, terminals);
this.userManager = new UserManager(getDb, logger, errMgr, users);
this.paramsManager = new ParamManager(getDb, logger, errMgr, parameters);
}
}
module.exports = EcosystemManager;