1
0
Fork 0
mirror of https://github.com/Radarr/Radarr synced 2025-02-24 07:10:57 +00:00

Fixed: Filter history by multiple event types

This commit is contained in:
Bogdan 2024-01-04 11:21:53 +02:00
parent 4630de9616
commit bda2b9b0b8

View file

@ -61,15 +61,15 @@ protected HistoryResource MapToResource(MovieHistory model, bool includeMovie)
[HttpGet] [HttpGet]
[Produces("application/json")] [Produces("application/json")]
public PagingResource<HistoryResource> GetHistory([FromQuery] PagingRequestResource paging, bool includeMovie, int? eventType, string downloadId, [FromQuery] int[] movieIds = null, [FromQuery] int[] languages = null, [FromQuery] int[] quality = null) public PagingResource<HistoryResource> GetHistory([FromQuery] PagingRequestResource paging, bool includeMovie, [FromQuery(Name = "eventType")] int[] eventTypes, string downloadId, [FromQuery] int[] movieIds = null, [FromQuery] int[] languages = null, [FromQuery] int[] quality = null)
{ {
var pagingResource = new PagingResource<HistoryResource>(paging); var pagingResource = new PagingResource<HistoryResource>(paging);
var pagingSpec = pagingResource.MapToPagingSpec<HistoryResource, MovieHistory>("date", SortDirection.Descending); var pagingSpec = pagingResource.MapToPagingSpec<HistoryResource, MovieHistory>("date", SortDirection.Descending);
if (eventType.HasValue) if (eventTypes != null && eventTypes.Any())
{ {
var filterValue = (MovieHistoryEventType)eventType.Value; var filterValues = eventTypes.Cast<MovieHistoryEventType>().ToArray();
pagingSpec.FilterExpressions.Add(v => v.EventType == filterValue); pagingSpec.FilterExpressions.Add(v => filterValues.Contains(v.EventType));
} }
if (downloadId.IsNotNullOrWhiteSpace()) if (downloadId.IsNotNullOrWhiteSpace())