mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-30 11:38:32 -07:00
parent
bf043fc76e
commit
0e6462bbd5
31 changed files with 410 additions and 33 deletions
|
@ -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