satupeta-main/app/core/params.py

37 lines
919 B
Python
Raw Normal View History

2026-01-27 02:11:58 +00:00
import json
from typing import Optional
from fastapi import Query
class CommonParams:
def __init__(
self,
filter: Optional[str] = Query(default=None),
sort: Optional[str] = Query(default=None),
search: str = Query(default=""),
group_by: Optional[str] = Query(default=None),
limit: int = Query(default=100, ge=1),
offset: int = Query(default=0, ge=0),
):
if filter:
try:
self.filter = json.loads(filter)
except Exception:
self.filter = filter
else:
self.filter = []
if sort:
try:
self.sort = json.loads(sort)
except Exception:
self.sort = sort
else:
self.sort = []
self.search = search
self.group_by = group_by
self.limit = limit
self.offset = offset