23 lines
433 B
Python
23 lines
433 B
Python
from typing import Generic, TypeVar
|
|
|
|
from pydantic import BaseModel, Field
|
|
from datetime import datetime
|
|
|
|
T = TypeVar("T")
|
|
|
|
|
|
class ApiResponse(BaseModel):
|
|
date_with_time: datetime
|
|
text: str
|
|
|
|
|
|
class ListApiResponse(BaseModel, Generic[T]):
|
|
data: list[T]
|
|
count: int
|
|
errors: list = Field(default_factory=list)
|
|
|
|
|
|
class BaseApiResponse(BaseModel, Generic[T]):
|
|
data: T
|
|
errors: list = Field(default_factory=list)
|