import cmd from './cmd' import tc from '@uci/try-catch' async function apdelete(con) { let ret = null let filter = con.name || con.uuid if (!filter) return new Error('no delete filter supplied') let cmdStr = `nmcli --terse --fields UUID,name,type c show | grep 802-11-wireless | grep '${filter}'` ret = await tc(cmd)(cmdStr) if (ret.err || ret.res === '') return new Error(`no connections to delete => ${ret.err.cmd}`) let connections = ret.res.split('\n') await connections.forEach(async acon => { if (acon != '') { // console returns an extra blank line let fields = acon.replace(/\\:/g, '&&').split(':') // console.log('deleting',fields[0],acon) let cmdStr = `nmcli con delete uuid ${fields[0]}` await tc(cmd)(cmdStr) } }) cmdStr = `nmcli --terse --fields uuid,name,type c show | grep 802-11-wireless | grep '${filter}'` ret = await tc(cmd)(cmdStr) if (ret.err || ret.res === '') return { res: 'success all connections deleted', connnections: connections } } export default apdelete