Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }