From 94afaae692f95b50767e02032a95d1e9528df728 Mon Sep 17 00:00:00 2001 From: Kirill Date: Sat, 29 Nov 2025 16:04:01 +0300 Subject: [PATCH] fix(MOdel): Restructorize model to db modules --- module/product.py | 51 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) 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