Files
ddns-updater/internal/data/persistence.go
Quentin McGaw 32fafeca95 chore(all): rename host to owner
- Retro-compatible change, `host` field still works
- Documentation updated to use `owner` field
- Code updated to use owner variable name
2024-06-27 06:51:08 +00:00

31 lines
653 B
Go

package data
import (
"fmt"
"github.com/qdm12/ddns-updater/internal/records"
)
func (db *Database) Update(id uint, record records.Record) (err error) {
db.Lock()
defer db.Unlock()
if int(id) > len(db.data)-1 {
return fmt.Errorf("%w: for id %d", ErrRecordNotFound, id)
}
currentCount := len(db.data[id].History)
newCount := len(record.History)
db.data[id] = record
// new IP address added
if newCount > currentCount {
if err := db.persistentDB.StoreNewIP(
record.Provider.Domain(),
record.Provider.Owner(),
record.History.GetCurrentIP(),
record.History.GetSuccessTime(),
); err != nil {
return err
}
}
return nil
}