add validation
parent
c27cef35eb
commit
afcf5ab780
@ -0,0 +1,22 @@
|
|||||||
|
from typing import List, Optional
|
||||||
|
|
||||||
|
from pydantic import Field
|
||||||
|
from src.models import DefultBase
|
||||||
|
|
||||||
|
|
||||||
|
class CommonParams(DefultBase):
|
||||||
|
# This ensures no extra query params are allowed
|
||||||
|
current_user: Optional[str] = Field(None, alias="currentUser")
|
||||||
|
page: int = Field(1, gt=0, lt=2147483647)
|
||||||
|
items_per_page: int = Field(5, gt=-2, lt=2147483647)
|
||||||
|
query_str: Optional[str] = Field(None, alias="q")
|
||||||
|
filter_spec: Optional[str] = Field(None, alias="filter")
|
||||||
|
sort_by: List[str] = Field(default_factory=list, alias="sortBy[]")
|
||||||
|
descending: List[bool] = Field(default_factory=list, alias="descending[]")
|
||||||
|
exclude: List[str] = Field(default_factory=list, alias="exclude[]")
|
||||||
|
all_params: int = Field(0, alias="all")
|
||||||
|
|
||||||
|
# Property to mirror your original return dict's bool conversion
|
||||||
|
@property
|
||||||
|
def is_all(self) -> bool:
|
||||||
|
return bool(self.all_params)
|
||||||
Loading…
Reference in New Issue