Documentation
¶
Index ¶
- Constants
- type Badger
- func (b *Badger) AddFeed(_ context.Context, feedID string, feed *model.Feed) error
- func (b *Badger) Close() error
- func (b *Badger) DeleteEpisode(feedID, episodeID string) error
- func (b *Badger) DeleteFeed(_ context.Context, feedID string) error
- func (b *Badger) GetEpisode(_ context.Context, feedID string, episodeID string) (*model.Episode, error)
- func (b *Badger) GetFeed(_ context.Context, feedID string) (*model.Feed, error)
- func (b *Badger) UpdateEpisode(feedID string, episodeID string, cb func(episode *model.Episode) error) error
- func (b *Badger) Version() (int, error)
- func (b *Badger) WalkEpisodes(ctx context.Context, feedID string, cb func(episode *model.Episode) error) error
- func (b *Badger) WalkFeeds(_ context.Context, cb func(feed *model.Feed) error) error
- type BadgerConfig
- type Config
- type Storage
- type Version
Constants ¶
View Source
const (
CurrentVersion = 1
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Badger ¶
type Badger struct {
// contains filtered or unexported fields
}
func (*Badger) DeleteEpisode ¶
func (*Badger) GetEpisode ¶
func (*Badger) UpdateEpisode ¶
func (*Badger) WalkEpisodes ¶
type BadgerConfig ¶
BadgerConfig represents BadgerDB configuration parameters
type Config ¶
type Config struct {
// Dir is a directory to keep database files
Dir string `toml:"dir"`
Badger *BadgerConfig `toml:"badger"`
}
type Storage ¶
type Storage interface {
Close() error
Version() (int, error)
// AddFeed will:
// - Insert or update feed info
// - Append new episodes to the existing list of episodes (existing episodes are not overwritten!)
AddFeed(ctx context.Context, feedID string, feed *model.Feed) error
// GetFeed gets a feed by ID
GetFeed(ctx context.Context, feedID string) (*model.Feed, error)
// WalkFeeds iterates over feeds saved to database
WalkFeeds(ctx context.Context, cb func(feed *model.Feed) error) error
// DeleteFeed deletes feed and all related data from database
DeleteFeed(ctx context.Context, feedID string) error
// GetEpisode gets episode by identifier
GetEpisode(ctx context.Context, feedID string, episodeID string) (*model.Episode, error)
// UpdateEpisode updates episode fields
UpdateEpisode(feedID string, episodeID string, cb func(episode *model.Episode) error) error
// DeleteEpisode deletes an episode
DeleteEpisode(feedID string, episodeID string) error
// WalkEpisodes iterates over episodes that belong to the given feed ID
WalkEpisodes(ctx context.Context, feedID string, cb func(episode *model.Episode) error) error
}
Click to show internal directories.
Click to hide internal directories.