diff --git a/module/product.py b/module/product.py index 0f17fdc..8bd2f45 100644 --- a/module/product.py +++ b/module/product.py @@ -1,8 +1,53 @@ from pydantic import BaseModel -from dataclasses import dataclass +from typing import Optional +from datetime import datetime + -@dataclass class Product(BaseModel): id: int name: str - image_path: str + full_name: str + description: Optional[str] = None + category_id: int + diameter: Optional[int] = None + wall_thickness: Optional[float] = None + length: Optional[int] = None + color: Optional[str] = None + application_type: Optional[str] = None + stiffness_class: Optional[str] = None + image_path: Optional[str] = None + page_number: int = 1 + created_at: datetime + + class Config: + from_attributes = True + + +class ProductCreate(BaseModel): + name: str + full_name: str + description: Optional[str] = None + category_id: int + diameter: Optional[int] = None + wall_thickness: Optional[float] = None + length: Optional[int] = None + color: Optional[str] = None + application_type: Optional[str] = None + stiffness_class: Optional[str] = None + image_path: Optional[str] = None + page_number: int = 1 + + +class ProductUpdate(BaseModel): + name: Optional[str] = None + full_name: Optional[str] = None + description: Optional[str] = None + category_id: Optional[int] = None + diameter: Optional[int] = None + wall_thickness: Optional[float] = None + length: Optional[int] = None + color: Optional[str] = None + application_type: Optional[str] = None + stiffness_class: Optional[str] = None + image_path: Optional[str] = None + page_number: Optional[int] = None