30 lines
828 B
Python
30 lines
828 B
Python
"""Review Event schemas"""
|
|
|
|
from pydantic import BaseModel, Field
|
|
from datetime import datetime
|
|
from typing import Optional, Dict, Any
|
|
|
|
|
|
class ReviewEventBase(BaseModel):
|
|
"""Base review event schema"""
|
|
event_type: str = Field(..., description="Тип события")
|
|
step: Optional[str] = Field(None, description="Шаг процесса")
|
|
message: Optional[str] = Field(None, description="Сообщение")
|
|
data: Optional[Dict[str, Any]] = Field(None, description="Дополнительные данные")
|
|
|
|
|
|
class ReviewEventCreate(ReviewEventBase):
|
|
"""Schema for creating review event"""
|
|
review_id: int
|
|
|
|
|
|
class ReviewEvent(ReviewEventBase):
|
|
"""Review event response schema"""
|
|
id: int
|
|
review_id: int
|
|
created_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|