UNPKG

@autocodingsystems/gateway-client

Version:

Library and commandline utility to control the acs gateway - device drivers for the most common industrial production line devices

43 lines (33 loc) 1.3 kB
var api = require('../api'); var globToRegExp = require('glob-to-regexp'); async function activate_command(argv, conf, options) { var target = require('../parameters/target')(argv); var name = require('../parameters/name')(argv); var raw = require('../parameters/raw')(argv); if (!target.value || !name.value) { usage(); return; } var filter = globToRegExp(name.value, {extended: true}); try { var devices = await api(target.value).raw.getDevices(); devices = devices.filter(d => filter.test(d.Name)); var activateResults = await Promise.all(devices.map(async device => Object.assign({}, device, await api(target.value).raw.setActive(device.Id, true)))); activateResults.forEach(result => { if (raw.value) { console.log(JSON.stringify(result)); } else { console.log(`Activated ${result.Id}: ${result.Name}`); } }); } catch (e) { throw e; } function usage() { console.log('activate: start the drivers for the given devices: '); console.log(' ' + target.description); console.log(' ' + name.description); console.log(' ' + raw.description); } } module.exports = activate_command;