synth-net / src /schemas /search_request.py
github-actions
Sync from GitHub (CI)
6ca4b94
raw
history blame contribute delete
565 Bytes
import json
from pydantic import field_validator, BaseModel
class SearchRequest(BaseModel):
mode: str
items: list
scale: list
filter_string: str = ""
sort_col: str = "max_similarity"
sort_descending: bool = True
page_index: int = 0
page_size: int = 5
session_id: str = ""
@field_validator('items', 'scale', mode='before')
@classmethod
def parse_json_string(cls, v):
if isinstance(v, list) and len(v) > 0:
v = v[0]
if isinstance(v, str):
return json.loads(v)
return v