diff --git a/src/Sonarr.Http/REST/RestController.cs b/src/Sonarr.Http/REST/RestController.cs index 7632d8b7f..e08790a45 100644 --- a/src/Sonarr.Http/REST/RestController.cs +++ b/src/Sonarr.Http/REST/RestController.cs @@ -70,11 +70,15 @@ public override void OnActionExecuting(ActionExecutingContext context) var skipValidate = skipAttribute?.Skip ?? false; var skipShared = skipAttribute?.SkipShared ?? false; - if (Request.Method == "POST" || Request.Method == "PUT") + if (Request.Method is "POST" or "PUT") { - var resourceArgs = context.ActionArguments.Values.Where(x => x.GetType() == typeof(TResource)) - .Select(x => x as TResource) - .ToList(); + var resourceArgs = context.ActionArguments.Values + .SelectMany(x => x switch + { + TResource single => new[] { single }, + IEnumerable multiple => multiple, + _ => Enumerable.Empty() + }); foreach (var resource in resourceArgs) {