feat: temp barcode templates

This commit is contained in:
2024-05-09 03:33:44 +03:00
parent 61d27d2389
commit 87085379ed
15 changed files with 136 additions and 81 deletions

View File

@@ -1,3 +1,5 @@
from typing import List
from schemas.base import CustomModelCamel, OkMessageSchema
@@ -8,11 +10,17 @@ class BarcodeTemplateAttributeSchema(CustomModelCamel):
name: str
class BarcodeTemplateAdditionalAttributeSchema(CustomModelCamel):
name: str
value: str
class BaseBarcodeTemplateSchema(CustomModelCamel):
name: str
is_default: bool
width: int
height: int
additional_attributes: list[BarcodeTemplateAdditionalAttributeSchema]
class BarcodeTemplateSchema(BaseBarcodeTemplateSchema):
@@ -20,6 +28,16 @@ class BarcodeTemplateSchema(BaseBarcodeTemplateSchema):
attributes: list[BarcodeTemplateAttributeSchema]
class BarcodeAttributeSchema(CustomModelCamel):
name: str
value: str
class BarcodeSchema(CustomModelCamel):
barcode: str
attributes: List[BarcodeAttributeSchema]
# endregion
# region Requests
@@ -44,6 +62,12 @@ class BarcodeTemplateDeleteRequest(CustomModelCamel):
id: int
class GetProductBarcodeRequest(CustomModelCamel):
product_id: int
barcode: str
barcode_template_id: int | None = None
# endregion
# region Responses
@@ -74,4 +98,8 @@ class GetAllBarcodeTemplateAttributesResponse(CustomModelCamel):
class BarcodeTemplateDeleteResponse(OkMessageSchema):
pass
class GetProductBarcodeResponse(CustomModelCamel):
barcode: BarcodeSchema
# endregion

View File

@@ -1,6 +1,6 @@
from typing import List
from pydantic import validator, field_validator
from pydantic import field_validator
from schemas.barcode import BarcodeTemplateSchema
from schemas.base import CustomModelCamel, OkMessageSchema

View File

@@ -1,9 +1,8 @@
from typing import List
from pydantic import validator, field_validator
from models import ProductBarcode
from schemas.barcode import BarcodeTemplateSchema
from schemas.base import CustomModelCamel, PaginationInfoSchema, OkMessageSchema
from pydantic import field_validator
from models import ProductBarcode
# region Entities
@@ -14,6 +13,7 @@ class ProductSchema(CustomModelCamel):
article: str
client_id: int
barcodes: list[str]
barcode_template: BarcodeTemplateSchema | None = None
@field_validator('barcodes', mode="before")
def barcodes_to_list(cls, v):
@@ -30,7 +30,7 @@ class ProductCreateRequest(CustomModelCamel):
article: str
client_id: int
barcodes: List[str]
barcode_template: BarcodeTemplateSchema | None = None
class ProductDeleteRequest(CustomModelCamel):
product_id: int