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); Task> GetAdminUserId(string address, string apiKey); IAsyncEnumerable GetMovieLibraryItems(string address, string apiKey, JellyfinLibrary library); IAsyncEnumerable GetShowLibraryItems(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 GetCollectionLibraryItems(string address, string apiKey, int mediaSourceId); IAsyncEnumerable GetCollectionItems( string address, string apiKey, int mediaSourceId, string collectionId); Task> GetLibraryItemCount( string address, string apiKey, JellyfinLibrary library, string parentId, string includeItemTypes, bool excludeFolders); Task> GetPlaybackInfo( string address, string apiKey, JellyfinLibrary library, string itemId); }