service

package
v1.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AudiobookStore

type AudiobookStore interface {
	StoreAll(context.Context, []audiobooks.Audiobook) error
	GetAll(context.Context) ([]audiobooks.Audiobook, error)
	Get(context.Context, func(*audiobooks.Audiobook) bool) ([]audiobooks.Audiobook, error)
	IsReady(context.Context) bool
}

type Filter

type Filter func(a *audiobooks.Audiobook) bool

func AuthorFilter

func AuthorFilter(name string) Filter

func GenreFilter

func GenreFilter(genre audiobooks.Genre) Filter

type MediaScanner

type MediaScanner interface {
	GetAllAudiobooks(context.Context) ([]audiobooks.Audiobook, error)
}

type Service

type Service struct {
	// contains filtered or unexported fields
}

func New

func New(mediaScanner MediaScanner, audiobookStore AudiobookStore, logger loggerrific.Logger,
	thirdPartyUpdateServices ...ThirdPartyNotifier) *Service

func (*Service) GetAllAudiobooks

func (s *Service) GetAllAudiobooks(ctx context.Context) ([]audiobooks.Audiobook, error)

func (*Service) GetAudiobooksBy

func (s *Service) GetAudiobooksBy(ctx context.Context, filter func(*audiobooks.Audiobook) bool) ([]audiobooks.Audiobook, error)

func (*Service) GetAudiobooksByAuthor

func (s *Service) GetAudiobooksByAuthor(ctx context.Context, name string) ([]audiobooks.Audiobook, error)

func (*Service) GetAudiobooksByGenre

func (s *Service) GetAudiobooksByGenre(ctx context.Context, genre audiobooks.Genre) ([]audiobooks.Audiobook, error)

func (*Service) IsReady

func (s *Service) IsReady(ctx context.Context) bool

func (*Service) UpdateAudiobooks

func (s *Service) UpdateAudiobooks(ctx context.Context) error

type ThirdPartyNotifier added in v1.7.2

type ThirdPartyNotifier interface {
	Notify(context.Context) error
	String() string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL