Check all errors for db.Save

This commit is contained in:
Kristoffer Dalby 2022-05-30 15:31:06 +02:00
parent 405de9e0f8
commit 52cc3bc8eb
4 changed files with 45 additions and 13 deletions

View file

@ -367,23 +367,30 @@ func (h *Headscale) SetTags(machine *Machine, tags []string) error {
return err
}
h.setLastStateChangeToNow(machine.Namespace.Name)
h.db.Save(machine)
if err := h.db.Save(machine).Error; err != nil {
return fmt.Errorf("failed to update tags for machine in the database: %w", err)
}
return nil
}
// ExpireMachine takes a Machine struct and sets the expire field to now.
func (h *Headscale) ExpireMachine(machine *Machine) {
func (h *Headscale) ExpireMachine(machine *Machine) error {
now := time.Now()
machine.Expiry = &now
h.setLastStateChangeToNow(machine.Namespace.Name)
h.db.Save(machine)
if err := h.db.Save(machine).Error; err != nil {
return fmt.Errorf("failed to expire machine in the database: %w", err)
}
return nil
}
// RefreshMachine takes a Machine struct and sets the expire field to now.
func (h *Headscale) RefreshMachine(machine *Machine, expiry time.Time) {
// RefreshMachine takes a Machine struct and sets the expire field.
func (h *Headscale) RefreshMachine(machine *Machine, expiry time.Time) error {
now := time.Now()
machine.LastSuccessfulUpdate = &now
@ -391,7 +398,11 @@ func (h *Headscale) RefreshMachine(machine *Machine, expiry time.Time) {
h.setLastStateChangeToNow(machine.Namespace.Name)
h.db.Save(machine)
if err := h.db.Save(machine).Error; err != nil {
return fmt.Errorf("failed to refresh machine (update expiration) in the database: %w", err)
}
return nil
}
// DeleteMachine softs deletes a Machine from the database.
@ -761,7 +772,9 @@ func (h *Headscale) RegisterMachine(machine Machine,
machine.IPAddresses = ips
h.db.Save(&machine)
if err := h.db.Save(machine).Error; err != nil {
return nil, fmt.Errorf("failed register(save) machine in the database: %w", err)
}
log.Trace().
Caller().
@ -821,7 +834,10 @@ func (h *Headscale) EnableRoutes(machine *Machine, routeStrs ...string) error {
}
machine.EnabledRoutes = newRoutes
h.db.Save(&machine)
if err := h.db.Save(machine).Error; err != nil {
return fmt.Errorf("failed enable routes for machine in the database: %w", err)
}
return nil
}