1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-23 22:25:14 -04:00
Files
Radarr/src/Radarr.Api.V3/Wanted/CutoffController.cs
T
2024-06-10 14:23:55 +03:00

64 lines
2.4 KiB
C#

using System;
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.CustomFormats;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.DecisionEngine.Specifications;
using NzbDrone.Core.MediaCover;
using NzbDrone.Core.Movies;
using NzbDrone.Core.Movies.Translations;
using NzbDrone.Core.MovieStats;
using NzbDrone.SignalR;
using Radarr.Api.V3.Movies;
using Radarr.Http;
using Radarr.Http.Extensions;
namespace Radarr.Api.V3.Wanted
{
[V3ApiController("wanted/cutoff")]
public class CutoffController : MovieControllerWithSignalR
{
private readonly IMovieCutoffService _movieCutoffService;
public CutoffController(IMovieCutoffService movieCutoffService,
IMovieService movieService,
IMovieTranslationService movieTranslationService,
IMovieStatisticsService movieStatisticsService,
IUpgradableSpecification upgradableSpecification,
ICustomFormatCalculationService formatCalculator,
IConfigService configService,
IMapCoversToLocal coverMapper,
IBroadcastSignalRMessage signalRBroadcaster)
: base(movieService, movieTranslationService, movieStatisticsService, upgradableSpecification, formatCalculator, configService, coverMapper, signalRBroadcaster)
{
_movieCutoffService = movieCutoffService;
}
[NonAction]
public override ActionResult<MovieResource> GetResourceByIdWithErrorHandler(int id)
{
throw new NotImplementedException();
}
[HttpGet]
[Produces("application/json")]
public PagingResource<MovieResource> GetCutoffUnmetMovies([FromQuery] PagingRequestResource paging, bool monitored = true)
{
var pagingResource = new PagingResource<MovieResource>(paging);
var pagingSpec = new PagingSpec<Movie>
{
Page = pagingResource.Page,
PageSize = pagingResource.PageSize,
SortKey = pagingResource.SortKey,
SortDirection = pagingResource.SortDirection
};
pagingSpec.FilterExpressions.Add(v => v.Monitored == monitored);
var resource = pagingSpec.ApplyToPage(_movieCutoffService.MoviesWhereCutoffUnmet, v => MapToResource(v));
return resource;
}
}
}