Implement device ID
This commit is contained in:
parent
7213ee7a28
commit
e0e2d9b164
4 changed files with 83 additions and 79 deletions
28
main.go
28
main.go
|
|
@ -6,11 +6,11 @@ import (
|
|||
|
||||
// Standard
|
||||
"flag"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"path"
|
||||
"slices"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const VERSION = "v1"
|
||||
|
|
@ -77,35 +77,35 @@ func main() {
|
|||
|
||||
devices = make(map[string]RouterosDevice)
|
||||
/*
|
||||
device.Host = config.Device.Address
|
||||
device.Port = config.Device.Port
|
||||
device.Username = config.Device.Username
|
||||
device.Password = config.Device.Password
|
||||
device.Timeout = config.Device.Timeout
|
||||
device.Init()
|
||||
device.Host = config.Device.Address
|
||||
device.Port = config.Device.Port
|
||||
device.Username = config.Device.Username
|
||||
device.Password = config.Device.Password
|
||||
device.Timeout = config.Device.Timeout
|
||||
device.Init()
|
||||
*/
|
||||
|
||||
registerWebserverHandlers()
|
||||
startWebserver()
|
||||
}
|
||||
|
||||
func routerosDevice(name string) (dev RouterosDevice, err error) {
|
||||
func routerosDevice(id string) (dev RouterosDevice, err error) {
|
||||
var found bool
|
||||
if dev, found = devices[name]; found {
|
||||
logger.Debug("routeros", "op", "connection", "name", name, "cached", true)
|
||||
if dev, found = devices[id]; found {
|
||||
logger.Debug("routeros", "op", "connection", "ID", id, "cached", true)
|
||||
return
|
||||
}
|
||||
|
||||
i := slices.IndexFunc(config.Devices, func(d Device) bool {
|
||||
return d.Name == name
|
||||
return d.ID == id
|
||||
})
|
||||
if i == -1 {
|
||||
err = fmt.Errorf("Unknown device '%s'", name)
|
||||
err = fmt.Errorf("Unknown device '%s'", id)
|
||||
logger.Error("routeros", "op", "connection", "error", err)
|
||||
return
|
||||
}
|
||||
|
||||
logger.Debug("routeros", "name", name, "cached", false)
|
||||
logger.Debug("routeros", "name", id, "cached", false)
|
||||
confDev := config.Devices[i]
|
||||
dev.Host = confDev.Address
|
||||
dev.Port = confDev.Port
|
||||
|
|
@ -113,7 +113,7 @@ func routerosDevice(name string) (dev RouterosDevice, err error) {
|
|||
dev.Password = confDev.Password
|
||||
dev.Timeout = confDev.Timeout
|
||||
dev.Init()
|
||||
devices[name] = dev
|
||||
devices[id] = dev
|
||||
|
||||
return
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue