miniflux-archiver/internal/miniflux/miniflux.go

36 lines
814 B
Go

package miniflux
import (
"git.alecodes.page/alecodes/miniflux-archiver/internal/config"
"git.alecodes.page/alecodes/miniflux-archiver/internal/logger"
mfApi "miniflux.app/v2/client"
)
type Miniflux struct {
config.MinifluxConfig
client *mfApi.Client
}
func (mf *Miniflux) GetEntries() (*mfApi.EntryResultSet, error) {
filter := &mfApi.Filter{
Statuses: []string{mfApi.EntryStatusRead, mfApi.EntryStatusRemoved},
}
return mf.client.FeedEntries(mf.FeedId, filter)
}
func NewMiniflux(config config.MinifluxConfig) (*Miniflux, error) {
mf := &Miniflux{
MinifluxConfig: config,
client: mfApi.NewClient(config.Host, config.Token),
}
version, err := mf.client.Version()
if err != nil {
return nil, err
}
logger.Info("Miniflux server version: %v", version.Version)
return mf, nil
}