feeds for each runs all and returns all errs

main
bel 2025-12-10 08:38:59 -07:00
parent 47c7aa74d3
commit 375fc1000a
1 changed files with 6 additions and 1 deletions

View File

@ -72,15 +72,20 @@ func ForEach(ctx context.Context, cb func(Feed) error) error {
return err
}
var errs []string
for _, id := range ids {
feed, err := Get(ctx, id.ID)
if err != nil {
return err
} else if err := cb(feed); err != nil {
return err
errs = append(errs, fmt.Sprintf(`failed to fetch %s: %v`, id.ID, err))
}
}
if len(errs) > 0 {
return fmt.Errorf("failed some callbacks: %+v", errs)
}
return nil
}