Implement device ID
This commit is contained in:
parent
7213ee7a28
commit
e0e2d9b164
4 changed files with 83 additions and 79 deletions
17
config.go
17
config.go
|
|
@ -28,6 +28,7 @@ type Config struct {
|
|||
}
|
||||
|
||||
type Device struct {
|
||||
ID string
|
||||
Name string
|
||||
Address string
|
||||
Port int
|
||||
|
|
@ -48,10 +49,9 @@ func readConfig() (config Config, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func (cfg *Config) UpdateDevice(currentName string, deviceToUpdate Device) (dev Device, err error) {// {{{
|
||||
|
||||
func (cfg *Config) UpdateDevice(deviceToUpdate Device) (dev Device, err error) { // {{{
|
||||
i := slices.IndexFunc(cfg.Devices, func(d Device) bool {
|
||||
return strings.TrimSpace(strings.ToLower(d.Name)) == strings.TrimSpace(strings.ToLower(currentName))
|
||||
return d.ID == deviceToUpdate.ID
|
||||
})
|
||||
|
||||
if i > -1 {
|
||||
|
|
@ -75,7 +75,7 @@ func (cfg *Config) UpdateDevice(currentName string, deviceToUpdate Device) (dev
|
|||
return
|
||||
}
|
||||
|
||||
dev.Name = strings.TrimSpace(strings.ToLower(deviceToUpdate.Name))
|
||||
dev.Name = strings.TrimSpace(deviceToUpdate.Name)
|
||||
dev.Address = strings.TrimSpace(strings.ToLower(deviceToUpdate.Address))
|
||||
dev.Port = deviceToUpdate.Port
|
||||
dev.Username = strings.TrimSpace(deviceToUpdate.Username)
|
||||
|
|
@ -91,6 +91,7 @@ func (cfg *Config) UpdateDevice(currentName string, deviceToUpdate Device) (dev
|
|||
err = fmt.Errorf("Password can't be empty")
|
||||
return
|
||||
}
|
||||
dev.ID = deviceToUpdate.ID
|
||||
dev.Password = strings.TrimSpace(deviceToUpdate.Password)
|
||||
cfg.Devices = append(cfg.Devices, dev)
|
||||
} else {
|
||||
|
|
@ -104,14 +105,14 @@ func (cfg *Config) UpdateDevice(currentName string, deviceToUpdate Device) (dev
|
|||
err = os.WriteFile(cfg.filename, j, 0600)
|
||||
|
||||
return
|
||||
}// }}}
|
||||
func (cfg *Config) DeleteDevice(devname string) (err error) {// {{{
|
||||
} // }}}
|
||||
func (cfg *Config) DeleteDevice(devID string) (err error) { // {{{
|
||||
cfg.Devices = slices.DeleteFunc(cfg.Devices, func(d Device) bool {
|
||||
return strings.TrimSpace(strings.ToLower(d.Name)) == strings.TrimSpace(strings.ToLower(devname))
|
||||
return d.ID == devID
|
||||
})
|
||||
|
||||
j, _ := json.Marshal(cfg)
|
||||
err = os.WriteFile(cfg.filename, j, 0600)
|
||||
|
||||
return
|
||||
}// }}}
|
||||
} // }}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue