Fix dateonly parsing of filters

This commit is contained in:
Zoe Roux 2024-06-09 16:23:30 +02:00 committed by Scott Merchant
parent fec468401f
commit abffdedf3e
2 changed files with 7 additions and 3 deletions

View File

@ -215,14 +215,16 @@ public abstract record Filter<T> : Filter
}); });
} }
if (type == typeof(DateTime)) if (type == typeof(DateTime) || type == typeof(DateOnly))
{ {
return from year in Parse.Digit.Repeat(4).Text().Select(int.Parse) return from year in Parse.Digit.Repeat(4).Text().Select(int.Parse)
from yd in Parse.Char('-') from yd in Parse.Char('-')
from mouth in Parse.Digit.Repeat(2).Text().Select(int.Parse) from month in Parse.Digit.Repeat(2).Text().Select(int.Parse)
from md in Parse.Char('-') from md in Parse.Char('-')
from day in Parse.Digit.Repeat(2).Text().Select(int.Parse) from day in Parse.Digit.Repeat(2).Text().Select(int.Parse)
select new DateTime(year, mouth, day) as object; select type == typeof(DateTime)
? new DateTime(year, month, day) as object
: new DateOnly(year, month, day) as object;
} }
if (typeof(IEnumerable).IsAssignableFrom(type)) if (typeof(IEnumerable).IsAssignableFrom(type))

View File

@ -49,6 +49,8 @@ public static class MeilisearchModule
CamelCase.ConvertName(nameof(Movie.Genres)), CamelCase.ConvertName(nameof(Movie.Genres)),
CamelCase.ConvertName(nameof(Movie.Status)), CamelCase.ConvertName(nameof(Movie.Status)),
CamelCase.ConvertName(nameof(Movie.AirDate)), CamelCase.ConvertName(nameof(Movie.AirDate)),
CamelCase.ConvertName(nameof(Show.StartAir)),
CamelCase.ConvertName(nameof(Show.EndAir)),
CamelCase.ConvertName(nameof(Movie.StudioId)), CamelCase.ConvertName(nameof(Movie.StudioId)),
"kind" "kind"
}, },