]> git.giacomolli.uk - onechat/blobdiff - schedule.go
Complete context on forwarded local errors
[onechat] / schedule.go
index 23462d292e634b70906646d88def5ea7712abef8..3c3456ddbcc6363be07b9398b01b737c00653366 100644 (file)
@@ -286,7 +286,12 @@ func (s *Schedules) Done(schedule Schedule, now time.Time) error {
        if schedule.Cron == "" {
                s.file.Schedules = slices.Delete(s.file.Schedules, index, index+1)
 
-               return s.save()
+               err := s.save()
+               if err != nil {
+                       return fmt.Errorf("save completed one-time schedule: %w", err)
+               }
+
+               return nil
        }
 
        cron, err := scheduleParseCron(schedule.Cron)
@@ -298,12 +303,22 @@ func (s *Schedules) Done(schedule Schedule, now time.Time) error {
        if !found {
                s.file.Schedules = slices.Delete(s.file.Schedules, index, index+1)
 
-               return s.save()
+               err = s.save()
+               if err != nil {
+                       return fmt.Errorf("save exhausted schedule: %w", err)
+               }
+
+               return nil
        }
 
        s.file.Schedules[index].Due = next
 
-       return s.save()
+       err = s.save()
+       if err != nil {
+               return fmt.Errorf("save next schedule run: %w", err)
+       }
+
+       return nil
 }
 
 // sorted returns a copy of the schedules by due time, then by ID.