using ErsatzTV.Core.Domain; using ErsatzTV.Core.Jellyfin; namespace ErsatzTV.Core.Interfaces.Jellyfin; public interface IJellyfinApiClient { Task> GetServerInformation(string address, string apiKey); Task>> GetLibraries(string address, string apiKey); IAsyncEnumerable> GetMovieLibraryItems( string address, string apiKey, JellyfinLibrary library); IAsyncEnumerable> GetShowLibraryItemsWithoutPeople( string address, string apiKey, JellyfinLibrary library); IAsyncEnumerable> GetSeasonLibraryItems( string address, string apiKey, JellyfinLibrary library, string showId); IAsyncEnumerable> GetEpisodeLibraryItems( string address, string apiKey, JellyfinLibrary library, string seasonId); IAsyncEnumerable> GetEpisodeLibraryItemsWithoutPeople( string address, string apiKey, JellyfinLibrary library, string seasonId); IAsyncEnumerable> GetCollectionLibraryItems( string address, string apiKey, int mediaSourceId); IAsyncEnumerable> GetCollectionItems( string address, string apiKey, int mediaSourceId, string collectionId); Task> GetPlaybackInfo( string address, string apiKey, JellyfinLibrary library, string itemId); Task>> GetSingleShow( string address, string apiKey, JellyfinLibrary library, string showId); Task>> SearchShowsByTitle( string address, string apiKey, JellyfinLibrary library, string showTitle); Task>> GetSingleEpisode( string address, string apiKey, JellyfinLibrary library, string seasonId, string episodeId); }