dingdanquanliucheng/backend/app/schemas/products.py

63 lines
1.4 KiB
Python

from pydantic import BaseModel, Field
class CreateCategoryRequest(BaseModel):
category_name: str
category_code: str
sort_no: int = 0
status: int = 1
remark: str | None = None
class UpdateCategoryRequest(BaseModel):
category_name: str
category_code: str
sort_no: int = 0
status: int = 1
remark: str | None = None
class ProductSpecificationPayload(BaseModel):
specification: str
unit: str
category_id: int | None = None
cost_price: float = 0
sale_price: float = 0
status: int = 1
remark: str | None = None
is_default: bool = False
class CreateProductRequest(BaseModel):
product_name: str
category_id: int | None = None
status: int = 1
remark: str | None = None
specifications: list[ProductSpecificationPayload] = Field(default_factory=list)
class UpdateProductRequest(BaseModel):
product_name: str
category_id: int | None = None
status: int = 1
remark: str | None = None
class UpdateProductSpecificationRequest(BaseModel):
specification: str
unit: str
category_id: int | None = None
cost_price: float = 0
sale_price: float = 0
status: int = 1
remark: str | None = None
is_default: bool = False
class UpdateProductCategoryRequest(BaseModel):
category_name: str
category_code: str
sort_no: int = 0
status: int = 1
remark: str | None = None