mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
49 lines
1.6 KiB
using ErsatzTV.Core.Domain; |
|
using ErsatzTV.Core.Jellyfin; |
|
|
|
namespace ErsatzTV.Core.Interfaces.Jellyfin; |
|
|
|
public interface IJellyfinApiClient |
|
{ |
|
Task<Either<BaseError, JellyfinServerInformation>> GetServerInformation(string address, string apiKey); |
|
Task<Either<BaseError, List<JellyfinLibrary>>> GetLibraries(string address, string apiKey); |
|
Task<Either<BaseError, string>> GetAdminUserId(string address, string apiKey); |
|
|
|
IAsyncEnumerable<JellyfinMovie> GetMovieLibraryItems(string address, string apiKey, JellyfinLibrary library); |
|
|
|
IAsyncEnumerable<JellyfinShow> GetShowLibraryItems(string address, string apiKey, JellyfinLibrary library); |
|
|
|
IAsyncEnumerable<JellyfinSeason> GetSeasonLibraryItems( |
|
string address, |
|
string apiKey, |
|
JellyfinLibrary library, |
|
string showId); |
|
|
|
IAsyncEnumerable<JellyfinEpisode> GetEpisodeLibraryItems( |
|
string address, |
|
string apiKey, |
|
JellyfinLibrary library, |
|
string seasonId); |
|
|
|
IAsyncEnumerable<JellyfinCollection> GetCollectionLibraryItems(string address, string apiKey, int mediaSourceId); |
|
|
|
IAsyncEnumerable<MediaItem> GetCollectionItems( |
|
string address, |
|
string apiKey, |
|
int mediaSourceId, |
|
string collectionId); |
|
|
|
Task<Either<BaseError, int>> GetLibraryItemCount( |
|
string address, |
|
string apiKey, |
|
JellyfinLibrary library, |
|
string parentId, |
|
string includeItemTypes, |
|
bool excludeFolders); |
|
|
|
Task<Either<BaseError, MediaVersion>> GetPlaybackInfo( |
|
string address, |
|
string apiKey, |
|
JellyfinLibrary library, |
|
string itemId); |
|
}
|
|
|