| 145 | } |
| 146 | |
| 147 | func (b *Badger) WalkFeeds(_ context.Context, cb func(feed *model.Feed) error) error { |
| 148 | return b.db.View(func(txn *badger.Txn) error { |
| 149 | opts := badger.DefaultIteratorOptions |
| 150 | opts.Prefix = b.getKey(feedPrefix) |
| 151 | opts.PrefetchValues = true |
| 152 | return b.iterator(txn, opts, func(item *badger.Item) error { |
| 153 | feed := &model.Feed{} |
| 154 | if err := b.unmarshalObj(item, feed); err != nil { |
| 155 | return err |
| 156 | } |
| 157 | |
| 158 | return cb(feed) |
| 159 | }) |
| 160 | }) |
| 161 | } |
| 162 | |
| 163 | func (b *Badger) DeleteFeed(_ context.Context, feedID string) error { |
| 164 | return b.db.Update(func(txn *badger.Txn) error { |