UNPKG

vodafone-station-cli

Version:

Access your Vodafone Station from the comfort of the command line.

37 lines (36 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toggleHostExposureEntries = toggleHostExposureEntries; const discovery_1 = require("./discovery"); const docsis_diagnose_1 = require("./docsis-diagnose"); const factory_1 = require("./factory"); async function toggleHostExposureEntries(toggle, entries, password, logger, discoveryOptions) { const modemLocation = await (0, discovery_1.discoverModemLocation)(discoveryOptions); const discoveredModem = await new discovery_1.ModemDiscovery(modemLocation, logger).discover(); const modem = (0, factory_1.modemFactory)(discoveredModem, logger); try { await modem.login(password); const settings = await modem.getHostExposure(); let names = entries; if (names.length === 0) { names = settings.hosts.map(host => host.serviceName); } for (const name of names) { const index = settings.hosts.findIndex(host => host.serviceName === name); if (index === -1) { logger.log((0, docsis_diagnose_1.colorize)('yellow', `Entry with the name '${name}' does not exist.`)); } else { settings.hosts[index].enabled = toggle; } } await modem.setHostExposure(settings); } catch (error) { logger.error('Could not change host exposure settings on modem.', error); throw error; } finally { await modem.logout(); } }