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)
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 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))

View File

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