示例#1
0
        private async Task <List <SearchResource> > GetSearchReleases(string query, string type, List <int> indexerIds, List <int> categories)
        {
            try
            {
                var request = new NewznabRequest
                {
                    q      = query,
                    t      = type,
                    source = "Prowlarr",
                    cat    = string.Join(",", categories),
                    server = Request.GetServerUrl(),
                    host   = Request.GetHostName()
                };

                request.QueryToParams();

                var result = await _nzbSearhService.Search(request, indexerIds, true);

                var decisions = result.Releases;

                return(MapDecisions(decisions, Request.GetServerUrl()));
            }
            catch (SearchFailedException ex)
            {
                throw new NzbDroneClientException(HttpStatusCode.BadRequest, ex.Message);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Search failed: " + ex.Message);
            }

            return(new List <SearchResource>());
        }
示例#2
0
        private async Task <List <ReleaseResource> > GetSearchReleases([FromQuery] SearchResource payload)
        {
            try
            {
                var request = new NewznabRequest
                {
                    q      = payload.Query,
                    t      = payload.Type,
                    source = "Prowlarr",
                    cat    = string.Join(",", payload.Categories),
                    server = Request.GetServerUrl(),
                    host   = Request.GetHostName(),
                    limit  = payload.Limit,
                    offset = payload.Offset
                };

                request.QueryToParams();

                var result = await _nzbSearhService.Search(request, payload.IndexerIds, true);

                var decisions = result.Releases;

                return(MapDecisions(decisions, Request.GetServerUrl()));
            }
            catch (SearchFailedException ex)
            {
                throw new NzbDroneClientException(HttpStatusCode.BadRequest, ex.Message);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Search failed: " + ex.Message);
            }

            return(new List <ReleaseResource>());
        }