UNPKG

tuain-ecosystem-lib

Version:

Servicio de gestión mensajería instantanea de la plataforma Tuain

43 lines (40 loc) 2.31 kB
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;