Kavita/Kavita.Database/Converters/AnnotationFilterFieldValueConverter.cs
Fesaa c62b20f54b
BE Tech Debt (#4497)
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Co-authored-by: Joe Milazzo <josephmajora@gmail.com>
2026-03-07 10:04:08 -08:00

28 lines
949 B
C#

using System;
using Kavita.Common.Extensions;
using Kavita.Models.DTOs.Filtering.v2;
namespace Kavita.Database.Converters;
public static class AnnotationFilterFieldValueConverter
{
public static object ConvertValue(AnnotationFilterField field, string value)
{
return field switch
{
AnnotationFilterField.Owner or
AnnotationFilterField.HighlightSlot or
AnnotationFilterField.Library or
AnnotationFilterField.Series => value.ParseIntArray(),
AnnotationFilterField.Spoiler => bool.Parse(value),
AnnotationFilterField.Selection => value,
AnnotationFilterField.Comment => value,
AnnotationFilterField.Likes => int.Parse(value),
AnnotationFilterField.LikedBy => value.ParseIntArray(),
_ => throw new ArgumentOutOfRangeException(nameof(field), field, "Field is not supported")
};
}
}