fix(models): added working categories and products model
This commit is contained in:
1 parent
df876012ba
commit
0439ccd6d9
4 files changed
+31
-111
No files matched your search
+13
-23
@@ -1,30 +1,20 @@
|
||||
from typing import List, Optional, Dict, Any
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
|
||||
class AttributeValue(BaseModel):
|
||||
id: int
|
||||
val: str
|
||||
|
||||
class Attribute(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
vals: List[AttributeValue]
|
||||
|
||||
class Category(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
description: Optional[str] = None
|
||||
image_path: Optional[str] = None
|
||||
|
||||
image: Optional[str] = None
|
||||
atributes: List[Attribute] = []
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class CategoryCreate(BaseModel):
|
||||
name: str
|
||||
description: Optional[str] = None
|
||||
parent_id: Optional[int] = None
|
||||
image_path: Optional[str] = None
|
||||
page_number: int = 1
|
||||
created_at: datetime = None
|
||||
|
||||
|
||||
class CategoryUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
parent_id: Optional[int] = None
|
||||
image_path: Optional[str] = None
|
||||
page_number: Optional[int] = None
|
||||
created_at: datetime = None
|
||||
@@ -1,24 +0,0 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class Filter(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
filter_key: str
|
||||
filter_type: str
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class FilterCreate(BaseModel):
|
||||
name: str
|
||||
filter_key: str
|
||||
filter_type: str
|
||||
|
||||
|
||||
class FilterUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
filter_key: Optional[str] = None
|
||||
filter_type: Optional[str] = None
|
||||
+18
-42
@@ -1,53 +1,29 @@
|
||||
from typing import List, Optional, Dict, Any
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
|
||||
class ProductAttributes(BaseModel):
|
||||
color: Optional[str] = None
|
||||
amount: Optional[str] = None
|
||||
size: Optional[str] = None
|
||||
diameter: Optional[int] = None
|
||||
wall_thickness: Optional[float] = None
|
||||
length: Optional[int] = None
|
||||
stiffness_class: Optional[str] = None
|
||||
application_type: Optional[str] = None
|
||||
|
||||
class Product(BaseModel):
|
||||
id: int
|
||||
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
|
||||
created_at: datetime
|
||||
|
||||
price: Optional[float] = None
|
||||
categoryId: int
|
||||
images: List[str] = []
|
||||
attributes: ProductAttributes = ProductAttributes()
|
||||
inStock: bool = True
|
||||
|
||||
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
|
||||
class ProductDetail(Product):
|
||||
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
|
||||
created_at: Optional[str] = None
|
||||
@@ -1,22 +0,0 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class ProductFilter(BaseModel):
|
||||
id: int
|
||||
product_id: int
|
||||
filter_key: str
|
||||
value: str
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class ProductFilterCreate(BaseModel):
|
||||
product_id: int
|
||||
filter_key: str
|
||||
value: str
|
||||
|
||||
|
||||
class ProductFilterUpdate(BaseModel):
|
||||
value: Optional[str] = None
|
||||
Reference in new issue
Block a user