from typing import Generic, TypeVar, List, Optional from pydantic import BaseModel T = TypeVar('T') class PaginationParams(BaseModel): """Schema for pagination parameters.""" skip: int = 0 limit: int = 100 class ResponseBase(BaseModel): """Base schema for API responses.""" success: bool message: str class DataResponse(ResponseBase, Generic[T]): """Schema for API responses with data.""" data: Optional[T] = None class PaginatedResponse(ResponseBase, Generic[T]): """Schema for paginated API responses.""" data: List[T] total: int page: int size: int pages: int