aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs
diff options
context:
space:
mode:
authorDominik <git@secnd.me>2023-06-15 19:38:42 +0200
committerGitHub <noreply@github.com>2023-06-15 19:38:42 +0200
commit17f1e8d19b1fd693893d66d2275ed8ae2476344e (patch)
tree7f48be975faa92042769870957587b3c7864f631 /Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs
parente8ae7e5c38e28f13fa8de295e26c930cb46d9b79 (diff)
parent6771b5cabe96b4b3cbd1cd0c998d564f3dd17ed4 (diff)
Merge branch 'master' into segment-deletion
Diffstat (limited to 'Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs')
-rw-r--r--Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs61
1 files changed, 30 insertions, 31 deletions
diff --git a/Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs b/Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs
index d2e78ac88..a2e139ca1 100644
--- a/Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs
+++ b/Jellyfin.Api/ModelBinders/NullableEnumModelBinder.cs
@@ -4,45 +4,44 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.Extensions.Logging;
-namespace Jellyfin.Api.ModelBinders
+namespace Jellyfin.Api.ModelBinders;
+
+/// <summary>
+/// Nullable enum model binder.
+/// </summary>
+public class NullableEnumModelBinder : IModelBinder
{
+ private readonly ILogger<NullableEnumModelBinder> _logger;
+
/// <summary>
- /// Nullable enum model binder.
+ /// Initializes a new instance of the <see cref="NullableEnumModelBinder"/> class.
/// </summary>
- public class NullableEnumModelBinder : IModelBinder
+ /// <param name="logger">Instance of the <see cref="ILogger{NullableEnumModelBinder}"/> interface.</param>
+ public NullableEnumModelBinder(ILogger<NullableEnumModelBinder> logger)
{
- private readonly ILogger<NullableEnumModelBinder> _logger;
-
- /// <summary>
- /// Initializes a new instance of the <see cref="NullableEnumModelBinder"/> class.
- /// </summary>
- /// <param name="logger">Instance of the <see cref="ILogger{NullableEnumModelBinder}"/> interface.</param>
- public NullableEnumModelBinder(ILogger<NullableEnumModelBinder> logger)
- {
- _logger = logger;
- }
+ _logger = logger;
+ }
- /// <inheritdoc />
- public Task BindModelAsync(ModelBindingContext bindingContext)
+ /// <inheritdoc />
+ public Task BindModelAsync(ModelBindingContext bindingContext)
+ {
+ var valueProviderResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
+ var elementType = bindingContext.ModelType.GetElementType() ?? bindingContext.ModelType.GenericTypeArguments[0];
+ var converter = TypeDescriptor.GetConverter(elementType);
+ if (valueProviderResult.Length != 0)
{
- var valueProviderResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
- var elementType = bindingContext.ModelType.GetElementType() ?? bindingContext.ModelType.GenericTypeArguments[0];
- var converter = TypeDescriptor.GetConverter(elementType);
- if (valueProviderResult.Length != 0)
+ try
{
- try
- {
- // REVIEW: This shouldn't be null here
- var convertedValue = converter.ConvertFromString(valueProviderResult.FirstValue!);
- bindingContext.Result = ModelBindingResult.Success(convertedValue);
- }
- catch (FormatException e)
- {
- _logger.LogDebug(e, "Error converting value.");
- }
+ // REVIEW: This shouldn't be null here
+ var convertedValue = converter.ConvertFromString(valueProviderResult.FirstValue!);
+ bindingContext.Result = ModelBindingResult.Success(convertedValue);
+ }
+ catch (FormatException e)
+ {
+ _logger.LogDebug(e, "Error converting value.");
}
-
- return Task.CompletedTask;
}
+
+ return Task.CompletedTask;
}
}