restructure: move backend into backend/
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
from typing import Generic, TypeVar
|
||||
|
||||
from fastapi import Query
|
||||
from pydantic import BaseModel
|
||||
|
||||
from .config import get_settings
|
||||
|
||||
T = TypeVar("T")
|
||||
|
||||
|
||||
class Page(BaseModel, Generic[T]):
|
||||
total: int
|
||||
limit: int
|
||||
offset: int
|
||||
items: list[T]
|
||||
|
||||
|
||||
class PageParams:
|
||||
"""Reusable dependency for `?limit=&offset=` with env-configured caps."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
limit: int = Query(default=None, ge=1, description="Max rows to return"),
|
||||
offset: int = Query(default=0, ge=0, description="Rows to skip"),
|
||||
):
|
||||
settings = get_settings()
|
||||
if limit is None:
|
||||
limit = settings.default_limit
|
||||
self.limit = min(limit, settings.max_limit)
|
||||
self.offset = offset
|
||||
Reference in New Issue
Block a user