satupeta-main/app/core/params.py
2026-02-23 12:20:42 +07:00

37 lines
919 B
Python
Executable File

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