vodafone-station-cli
Version:
Access your Vodafone Station from the comfort of the command line.
37 lines (36 loc) • 1.5 kB
JavaScript
;
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();
}
}