service

package
v1.13.0 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 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 should remove any audiobooks not in the current slice and store those in the slice
	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

func NarratorFilter added in v1.12.0

func NarratorFilter(name string) Filter

func TagFilter added in v1.13.0

func TagFilter(tag string) Filter

type MediaScanner

type MediaScanner interface {
	GetAllAudiobooks(context.Context) ([]audiobooks.Audiobook, error)
	ScanForNewAndUpdatedAudiobooks(context.Context, []audiobooks.Audiobook) ([]audiobooks.Audiobook, bool, 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) GetAudiobooksByNarrator added in v1.12.0

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

func (*Service) GetAudiobooksByTag added in v1.13.0

func (s *Service) GetAudiobooksByTag(ctx context.Context, tag string) ([]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