< Summary - Jellyfin

Information
Class: Jellyfin.Server.Filters.ParameterObsoleteFilter
Assembly: jellyfin
File(s): /srv/git/jellyfin/Jellyfin.Server/Filters/ParameterObsoleteFilter.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 36
Line coverage: 100%
Branch coverage
87%
Covered branches: 7
Total branches: 8
Branch coverage: 87.5%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Apply(...)87.5%88100%

File(s)

/srv/git/jellyfin/Jellyfin.Server/Filters/ParameterObsoleteFilter.cs

#LineLine coverage
 1using System;
 2using System.Linq;
 3using Jellyfin.Api.Attributes;
 4using Microsoft.OpenApi.Models;
 5using Swashbuckle.AspNetCore.SwaggerGen;
 6
 7namespace Jellyfin.Server.Filters
 8{
 9    /// <summary>
 10    /// Mark parameter as deprecated if it has the <see cref="ParameterObsoleteAttribute"/>.
 11    /// </summary>
 12    public class ParameterObsoleteFilter : IOperationFilter
 13    {
 14        /// <inheritdoc />
 15        public void Apply(OpenApiOperation operation, OperationFilterContext context)
 16        {
 581617            foreach (var parameterDescription in context.ApiDescription.ParameterDescriptions)
 18            {
 252719                if (parameterDescription
 252720                    .CustomAttributes()
 252721                    .OfType<ParameterObsoleteAttribute>()
 252722                    .Any())
 23                {
 61624                    foreach (var parameter in operation.Parameters)
 25                    {
 28726                        if (parameter.Name.Equals(parameterDescription.Name, StringComparison.Ordinal))
 27                        {
 4228                            parameter.Deprecated = true;
 4229                            break;
 30                        }
 31                    }
 32                }
 33            }
 38134        }
 35    }
 36}