uci-wifi/src/delete.mjs

26 lines
1017 B
JavaScript

import cmd from './cmd'
import tc from '@uci/try-catch'
export default async function (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}
}