diff --git a/api/devices_update.go b/api/devices_update.go index 2291224..9bc2850 100644 --- a/api/devices_update.go +++ b/api/devices_update.go @@ -27,6 +27,9 @@ func (api *API) DevicesUpdate(ctx context.Context, slug string, update *models.D } if err := device.Reload(ctx, api.db); err != nil { + if err.Error() == "sql: no rows in result set" { + return device, errs.Wrapw(err, "device not found", "slug", slug).Code(404) + } return device, errs.Wrapw(err, "failed to reload device", "slug", slug) } diff --git a/pkg/errs/errs.go b/pkg/errs/errs.go index fb4b7f9..a4dd706 100644 --- a/pkg/errs/errs.go +++ b/pkg/errs/errs.go @@ -74,6 +74,9 @@ func (er *Err) Error() string { s := strings.Builder{} if er.message != "" { s.WriteString(er.message) + if er.origin != nil { + s.WriteString(": ") + } } for unwrap := errors.Unwrap(er); unwrap != nil; { if e, ok := unwrap.(Error); ok && e.GetMessage() != "" {