[feat] add case insensitive search for users (#3413)

Co-authored-by: Arc <33088785+arcbtc@users.noreply.github.com>
This commit is contained in:
Vlad Stan
2025-10-16 23:23:01 +01:00
committed by GitHub
co-authored by Arc
parent 4cf9fae3e3
commit 40c065708a
2 changed files with 20 additions and 2 deletions
+8 -2
View File
@@ -424,6 +424,7 @@ class Operator(Enum):
LE = "le"
INCLUDE = "in"
EXCLUDE = "ex"
LIKE = "like"
@property
def as_sql(self):
@@ -443,6 +444,8 @@ class Operator(Enum):
return ">="
elif self == Operator.LE:
return "<="
elif self == Operator.LIKE:
return "LIKE"
else:
raise ValueError("Unknown SQL Operator")
@@ -499,7 +502,7 @@ class Filter(BaseModel, Generic[TFilterModel]):
return cls(field=field, op=op, values=values, model=model)
@property
def statement(self):
def statement(self) -> str:
stmt = []
for key in self.values.keys() if self.values else []:
clean_key = key.split("__")[0]
@@ -582,7 +585,10 @@ class Filters(BaseModel, Generic[TFilterModel]):
for page_filter in self.filters:
if page_filter.values:
for key, value in page_filter.values.items():
values[key] = value
if page_filter.op == Operator.LIKE:
values[key] = f"%{value}%"
else:
values[key] = value
if self.search and self.model:
values["search"] = f"%{self.search.lower()}%"
return values