/// <inheritdoc/> public async Task <MediaContainer> GetHomeRecentlyAddedAsync(string authToken, string plexServerHost, int start = 0, int count = 50) { var apiRequest = new ApiRequestBuilder(plexServerHost, $"hubs/home/recentlyAdded", HttpMethod.Get) .AddPlexToken(authToken) .AddRequestHeaders(ClientUtilities.GetClientIdentifierHeader(this.clientOptions.ClientId)) .AddRequestHeaders(ClientUtilities.GetClientLimitHeaders(start, count)) .AcceptJson() .Build(); var wrapper = await this.apiService.InvokeApiAsync <GenericWrapper <MediaContainer> >(apiRequest); return(wrapper.Container); }
/// <inheritdoc/> public async Task <MediaContainer> GetLibraryRecentlyAddedAsync(string authToken, string plexServerHost, SearchType libraryType, string key, int start = 0, int count = 50) { var apiRequest = new ApiRequestBuilder(plexServerHost, $"library/sections/{key}/recentlyAdded", HttpMethod.Get) .AddPlexToken(authToken) .AddQueryParam("type", ((int)libraryType).ToString()) .AddRequestHeaders(ClientUtilities.GetClientIdentifierHeader(this.clientOptions.ClientId)) .AddRequestHeaders(ClientUtilities.GetClientLimitHeaders(start, count)) .AcceptJson() .Build(); var wrapper = await this.apiService.InvokeApiAsync <GenericWrapper <MediaContainer> >(apiRequest); return(wrapper.Container); }
/// <inheritdoc/> public async Task <MediaContainer> LibrarySearch(string authToken, string plexServerHost, string title, string libraryKey, string sort, SearchType libraryType, List <FilterRequest> filters = null, int start = 0, int count = 100) { var queryParams = new Dictionary <string, string> { { "type", ((int)libraryType).ToString() } }; if (!string.IsNullOrEmpty(title)) { queryParams.Add("title", title); } if (!string.IsNullOrEmpty(sort)) { queryParams.Add("sort", sort); } // Include Guids now available PMS v1.24.3.5033 queryParams.Add("includeGuids", "1"); var apiRequest = new ApiRequestBuilder(plexServerHost, $"library/sections/{libraryKey}/all", HttpMethod.Get) .AddPlexToken(authToken) .AddQueryParams(queryParams) .AddFilterFields(filters) .AddQueryParams(ClientUtilities.GetLibraryFlagFields()) .AddQueryParams(ClientUtilities.GetClientIdentifierHeader(this.clientOptions.ClientId)) .AddQueryParams(ClientUtilities.GetClientLimitHeaders(start, count)) .AcceptJson() .Build(); var wrapper = await this.apiService.InvokeApiAsync <GenericWrapper <MediaContainer> >(apiRequest); return(wrapper.Container); }