25 lines
423 B
Python
25 lines
423 B
Python
"""Common schemas used across the API."""
|
|
|
|
from typing import Generic, TypeVar
|
|
|
|
from pydantic import BaseModel
|
|
|
|
T = TypeVar("T")
|
|
|
|
|
|
class HealthResponse(BaseModel):
|
|
"""Health check response schema."""
|
|
|
|
status: str
|
|
version: str
|
|
|
|
|
|
class PaginatedResponse(BaseModel, Generic[T]):
|
|
"""Generic paginated response wrapper."""
|
|
|
|
items: list[T]
|
|
total: int
|
|
page: int
|
|
page_size: int
|
|
total_pages: int
|