MCPcopy
hub / github.com/mxpv/podsync / UpdateEpisode

Method UpdateEpisode

pkg/db/badger.go:199–220  ·  view source on GitHub ↗
(feedID string, episodeID string, cb func(episode *model.Episode) error)

Source from the content-addressed store, hash-verified

197}
198
199func (b *Badger) UpdateEpisode(feedID string, episodeID string, cb func(episode *model.Episode) error) error {
200 var (
201 key = b.getKey(episodePath, feedID, episodeID)
202 episode model.Episode
203 )
204
205 return b.db.Update(func(txn *badger.Txn) error {
206 if err := b.getObj(txn, key, &episode); err != nil {
207 return err
208 }
209
210 if err := cb(&episode); err != nil {
211 return err
212 }
213
214 if episode.ID != episodeID {
215 return errors.New("can't change episode ID")
216 }
217
218 return b.setObj(txn, key, &episode, true)
219 })
220}
221
222func (b *Badger) DeleteEpisode(feedID, episodeID string) error {
223 key := b.getKey(episodePath, feedID, episodeID)

Callers 1

TestBadger_UpdateEpisodeFunction · 0.95

Calls 4

getKeyMethod · 0.95
getObjMethod · 0.95
setObjMethod · 0.95
UpdateMethod · 0.45

Tested by 1

TestBadger_UpdateEpisodeFunction · 0.76