29 lines
742 B
Python
29 lines
742 B
Python
from pydantic import BaseModel, Field
|
|
from typing import Optional
|
|
from datetime import datetime
|
|
from uuid import UUID
|
|
from enum import Enum
|
|
|
|
class SoapColor(str, Enum):
|
|
RED = "red"
|
|
BLUE = "blue"
|
|
GREEN = "green"
|
|
|
|
class SoapBase(BaseModel):
|
|
name: str = Field(..., description="Name of the soap")
|
|
color: SoapColor = Field(..., description="Color of the soap")
|
|
|
|
class SoapCreate(SoapBase):
|
|
pass
|
|
|
|
class SoapUpdate(SoapBase):
|
|
name: Optional[str] = Field(None, description="Updated name of the soap")
|
|
color: Optional[SoapColor] = Field(None, description="Updated color of the soap")
|
|
|
|
class SoapSchema(SoapBase):
|
|
id: UUID
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
class Config:
|
|
orm_mode = True |