common.py 395 B

1234567891011121314151617
  1. # app/schemas/common.py
  2. from typing import Generic, TypeVar, Optional, List
  3. from pydantic import BaseModel
  4. from pydantic.generics import GenericModel
  5. T = TypeVar("T")
  6. class ApiResponse(BaseModel, Generic[T]):
  7. code: int = 0
  8. message: str = "success"
  9. data: Optional[T] = None
  10. class PageResponse(GenericModel, Generic[T]):
  11. items: List[T]
  12. total: int
  13. page: int
  14. size: int