mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-31 12:14:46 -04:00
clean up CreateMeilisearchFilter
This commit is contained in:
parent
7725d2534b
commit
34573359cb
@ -15,13 +15,13 @@ internal static class FilterExtensionMethods
|
|||||||
=> $"({and.First.CreateMeilisearchFilter()}) AND ({and.Second.CreateMeilisearchFilter()})",
|
=> $"({and.First.CreateMeilisearchFilter()}) AND ({and.Second.CreateMeilisearchFilter()})",
|
||||||
Filter<T>.Or or
|
Filter<T>.Or or
|
||||||
=> $"({or.First.CreateMeilisearchFilter()}) OR ({or.Second.CreateMeilisearchFilter()})",
|
=> $"({or.First.CreateMeilisearchFilter()}) OR ({or.Second.CreateMeilisearchFilter()})",
|
||||||
Filter<T>.Gt gt => $"{CamelCase.ConvertName(gt.Property)} > {gt.Value.InMeilsearchFilterFormat()}",
|
Filter<T>.Gt gt => CreateBasicFilterString(gt.Property, ">", gt.Value),
|
||||||
Filter<T>.Lt lt => $"{CamelCase.ConvertName(lt.Property)} < {lt.Value.InMeilsearchFilterFormat()}",
|
Filter<T>.Lt lt => CreateBasicFilterString(lt.Property, "<", lt.Value),
|
||||||
Filter<T>.Ge ge => $"{CamelCase.ConvertName(ge.Property)} >= {ge.Value.InMeilsearchFilterFormat()}",
|
Filter<T>.Ge ge => CreateBasicFilterString(ge.Property, ">=", ge.Value),
|
||||||
Filter<T>.Le le => $"{CamelCase.ConvertName(le.Property)} <= {le.Value.InMeilsearchFilterFormat()}",
|
Filter<T>.Le le => CreateBasicFilterString(le.Property, "<=", le.Value),
|
||||||
Filter<T>.Eq eq => $"{CamelCase.ConvertName(eq.Property)} = {eq.Value.InMeilsearchFilterFormat()}",
|
Filter<T>.Eq eq => CreateBasicFilterString(eq.Property, "=", eq.Value),
|
||||||
Filter<T>.Has has => $"{CamelCase.ConvertName(has.Property)} = {has.Value.InMeilsearchFilterFormat()}",
|
Filter<T>.Has has => CreateBasicFilterString(has.Property, "=", has.Value),
|
||||||
Filter<T>.Ne ne => $"{CamelCase.ConvertName(ne.Property)} != {ne.Value.InMeilsearchFilterFormat()}",
|
Filter<T>.Ne ne => CreateBasicFilterString(ne.Property, "!=", ne.Value),
|
||||||
Filter<T>.Not not => $"NOT ({not.Filter.CreateMeilisearchFilter()})",
|
Filter<T>.Not not => $"NOT ({not.Filter.CreateMeilisearchFilter()})",
|
||||||
Filter<T>.CmpRandom
|
Filter<T>.CmpRandom
|
||||||
=> throw new ValidationException("Random comparison is not supported."),
|
=> throw new ValidationException("Random comparison is not supported."),
|
||||||
@ -29,6 +29,11 @@ internal static class FilterExtensionMethods
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string CreateBasicFilterString(string property, string @operator, object? value)
|
||||||
|
{
|
||||||
|
return $"{CamelCase.ConvertName(property)} {@operator} {value.InMeilisearchFormat()}";
|
||||||
|
}
|
||||||
|
|
||||||
private static object? InMeilsearchFilterFormat(this object? value)
|
private static object? InMeilsearchFilterFormat(this object? value)
|
||||||
{
|
{
|
||||||
return value switch
|
return value switch
|
||||||
|
Loading…
x
Reference in New Issue
Block a user