mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-14 02:26:55 -07:00
parent
bf043fc76e
commit
0e6462bbd5
31 changed files with 410 additions and 33 deletions
|
@ -10,10 +10,11 @@ namespace Ombi.Api.Plex
|
|||
Task<PlexStatus> GetStatus(string authToken, string uri);
|
||||
Task<PlexAuthentication> SignIn(UserRequest user);
|
||||
Task<PlexServer> GetServer(string authToken);
|
||||
Task<PlexLibraries> GetLibrarySections(string authToken, string plexFullHost);
|
||||
Task<PlexLibraries> GetLibrary(string authToken, string plexFullHost, string libraryId);
|
||||
Task<PlexContainer> GetLibrarySections(string authToken, string plexFullHost);
|
||||
Task<PlexContainer> GetLibrary(string authToken, string plexFullHost, string libraryId);
|
||||
Task<PlexMetadata> GetEpisodeMetaData(string authToken, string host, string ratingKey);
|
||||
Task<PlexMetadata> GetMetadata(string authToken, string plexFullHost, string itemId);
|
||||
Task<PlexMetadata> GetSeasons(string authToken, string plexFullHost, string ratingKey);
|
||||
Task<PlexContainer> GetAllEpisodes(string authToken, string host, string section, int start, int retCount);
|
||||
}
|
||||
}
|
|
@ -26,7 +26,7 @@
|
|||
#endregion
|
||||
namespace Ombi.Api.Plex.Models
|
||||
{
|
||||
public class PlexLibraries
|
||||
public class PlexContainer
|
||||
{
|
||||
public Mediacontainer MediaContainer { get; set; }
|
||||
}
|
|
@ -60,18 +60,18 @@ namespace Ombi.Api.Plex
|
|||
return await Api.Request<PlexServer>(request);
|
||||
}
|
||||
|
||||
public async Task<PlexLibraries> GetLibrarySections(string authToken, string plexFullHost)
|
||||
public async Task<PlexContainer> GetLibrarySections(string authToken, string plexFullHost)
|
||||
{
|
||||
var request = new Request("library/sections", plexFullHost, HttpMethod.Get);
|
||||
AddHeaders(request, authToken);
|
||||
return await Api.Request<PlexLibraries>(request);
|
||||
return await Api.Request<PlexContainer>(request);
|
||||
}
|
||||
|
||||
public async Task<PlexLibraries> GetLibrary(string authToken, string plexFullHost, string libraryId)
|
||||
public async Task<PlexContainer> GetLibrary(string authToken, string plexFullHost, string libraryId)
|
||||
{
|
||||
var request = new Request($"library/sections/{libraryId}/all", plexFullHost, HttpMethod.Get);
|
||||
AddHeaders(request, authToken);
|
||||
return await Api.Request<PlexLibraries>(request);
|
||||
return await Api.Request<PlexContainer>(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -106,6 +106,26 @@ namespace Ombi.Api.Plex
|
|||
return await Api.Request<PlexMetadata>(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets all episodes.
|
||||
/// </summary>
|
||||
/// <param name="authToken">The authentication token.</param>
|
||||
/// <param name="host">The host.</param>
|
||||
/// <param name="section">The section.</param>
|
||||
/// <param name="start">The start count.</param>
|
||||
/// <param name="retCount">The return count, how many items you want returned.</param>
|
||||
/// <returns></returns>
|
||||
public async Task<PlexContainer> GetAllEpisodes(string authToken, string host, string section, int start, int retCount)
|
||||
{
|
||||
var request = new Request($"/library/sections/{section}/all", host, HttpMethod.Get);
|
||||
|
||||
request.AddQueryString("type", "4");
|
||||
AddLimitHeaders(request, start, retCount);
|
||||
AddHeaders(request, authToken);
|
||||
|
||||
return await Api.Request<PlexContainer>(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the required headers and also the authorization header
|
||||
/// </summary>
|
||||
|
@ -129,5 +149,11 @@ namespace Ombi.Api.Plex
|
|||
request.AddContentHeader("Content-Type", request.ContentType == ContentType.Json ? "application/json" : "application/xml");
|
||||
request.AddHeader("Accept", "application/json");
|
||||
}
|
||||
|
||||
private void AddLimitHeaders(Request request, int from, int to)
|
||||
{
|
||||
request.AddHeader("X-Plex-Container-Start", from.ToString());
|
||||
request.AddHeader("X-Plex-Container-Size", to.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue