mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-10 19:37:08 +02:00
- Parse podcast:images, podcast:funding, podcast:transcript, podcast:chapters, podcast:soundbite, and podcast:person tags from RSS feeds - Add DB migration and repositories for podcast images and funding sources - Expose Podcasting 2.0 fields in Subsonic API responses - Tag downloaded episodes with genre=Podcast for playlist filtering - Update mock data store and fix subsonic test compatibility
59 lines
2.1 KiB
Go
59 lines
2.1 KiB
Go
package model
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/Masterminds/squirrel"
|
|
"github.com/deluan/rest"
|
|
)
|
|
|
|
type QueryOptions struct {
|
|
Sort string
|
|
Order string
|
|
Max int
|
|
Offset int
|
|
Filters squirrel.Sqlizer
|
|
Seed string // for random sorting
|
|
}
|
|
|
|
type ResourceRepository interface {
|
|
rest.Repository
|
|
}
|
|
|
|
type DataStore interface {
|
|
Library(ctx context.Context) LibraryRepository
|
|
Folder(ctx context.Context) FolderRepository
|
|
Album(ctx context.Context) AlbumRepository
|
|
Artist(ctx context.Context) ArtistRepository
|
|
MediaFile(ctx context.Context) MediaFileRepository
|
|
Genre(ctx context.Context) GenreRepository
|
|
Tag(ctx context.Context) TagRepository
|
|
Playlist(ctx context.Context) PlaylistRepository
|
|
PlayQueue(ctx context.Context) PlayQueueRepository
|
|
Transcoding(ctx context.Context) TranscodingRepository
|
|
Player(ctx context.Context) PlayerRepository
|
|
Radio(ctx context.Context) RadioRepository
|
|
Share(ctx context.Context) ShareRepository
|
|
Property(ctx context.Context) PropertyRepository
|
|
User(ctx context.Context) UserRepository
|
|
UserProps(ctx context.Context) UserPropsRepository
|
|
ScrobbleBuffer(ctx context.Context) ScrobbleBufferRepository
|
|
Scrobble(ctx context.Context) ScrobbleRepository
|
|
Plugin(ctx context.Context) PluginRepository
|
|
Artwork(ctx context.Context) ArtworkRepository
|
|
ArtworkQueue(ctx context.Context) ArtworkQueueRepository
|
|
PodcastChannel(ctx context.Context) PodcastChannelRepository
|
|
PodcastEpisode(ctx context.Context) PodcastEpisodeRepository
|
|
PodcastTranscript(ctx context.Context) PodcastTranscriptRepository
|
|
PodcastPerson(ctx context.Context) PodcastPersonRepository
|
|
PodcastPodroll(ctx context.Context) PodcastPodrollRepository
|
|
PodcastLiveItem(ctx context.Context) PodcastLiveItemRepository
|
|
PodcastFunding(ctx context.Context) PodcastFundingRepository
|
|
PodcastImage(ctx context.Context) PodcastImageRepository
|
|
|
|
Resource(ctx context.Context, model any) ResourceRepository
|
|
|
|
WithTx(block func(tx DataStore) error, scope ...string) error
|
|
WithTxImmediate(block func(tx DataStore) error, scope ...string) error
|
|
GC(ctx context.Context, libraryIDs ...int) error
|
|
}
|