Law/app/schemas/universal.py
2026-02-22 10:57:49 +03:00

23 lines
472 B
Python

from pydantic import BaseModel
from typing import Any, List, Literal
Op = Literal["=", "!=", ">", "<", ">=", "<=", "~"]
Dir = Literal["asc", "desc"]
class FilterClause(BaseModel):
field: str
op: Op
value: Any
class SortClause(BaseModel):
field: str
dir: Dir
class Page(BaseModel):
limit: int = 50
offset: int = 0
class UniversalQuery(BaseModel):
filters: List[FilterClause] = []
sort: List[SortClause] = []
page: Page = Page()