34 lines
612 B
Python

from datetime import datetime
from typing import Optional
from pydantic import BaseModel, Field
class ReviewBase(BaseModel):
product_id: int
rating: float = Field(..., ge=1, le=5)
comment: Optional[str] = None
class ReviewCreate(ReviewBase):
pass
class ReviewUpdate(BaseModel):
rating: Optional[float] = Field(None, ge=1, le=5)
comment: Optional[str] = None
class ReviewInDBBase(ReviewBase):
id: int
user_id: int
created_at: datetime
updated_at: Optional[datetime] = None
class Config:
from_attributes = True
class Review(ReviewInDBBase):
pass