2026-05-01 11:12:13 +03:00

61 lines
1.3 KiB
Python

from pydantic import BaseModel
from typing import Optional, List
from datetime import datetime
class ProductCreate(BaseModel):
name: str
description: str
price: float
discount_price: Optional[float] = None
category_id: int
gender: str # men, women
brand: str
sizes: List[str]
colors: List[str]
stock: int
images: List[str]
is_featured: bool = False
is_on_sale: bool = False
class ProductUpdate(BaseModel):
name: Optional[str] = None
description: Optional[str] = None
price: Optional[float] = None
discount_price: Optional[float] = None
category_id: Optional[int] = None
gender: Optional[str] = None
brand: Optional[str] = None
sizes: Optional[List[str]] = None
colors: Optional[List[str]] = None
stock: Optional[int] = None
images: Optional[List[str]] = None
is_featured: Optional[bool] = None
is_on_sale: Optional[bool] = None
class ProductResponse(BaseModel):
id: int
name: str
description: str
price: float
discount_price: Optional[float]
category_id: int
gender: str
brand: str
sizes: List[str]
colors: List[str]
stock: int
images: List[str]
is_featured: bool
is_on_sale: bool
created_at: datetime
class Config:
from_attributes = True
class ProductDetailResponse(ProductResponse):
pass