UNPKG

@autocodingsystems/gateway-client

Version:

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

45 lines (35 loc) 1.39 kB
var api = require('../api'); var globToRegExp = require('glob-to-regexp'); async function delete_command(argv, conf, options) { var target = require('../parameters/target')(argv); var name = require('../parameters/namenodefault')(argv); var raw = require('../parameters/raw')(argv); var multi = require('../parameters/multi')(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)); await Promise.all(devices.slice(0, multi.value ? devices.length : 1).map(async device => { var deleteResponse = await api(target.value).raw.deleteDevice(device.Id); if (raw.value) { console.log(JSON.stringify({DeviceId: device.Id})); } else { console.log(`Deleted ${device.Id}: ${device.Name}`); } })); } catch (e) { throw e; } function usage() { console.log('delete: delete devices from the gateway: '); console.log(' ' + target.description); console.log(' ' + name.description); console.log(' ' + multi.description); console.log(' ' + raw.description); } } module.exports = delete_command;