feat: barcode templates

This commit is contained in:
2025-10-04 10:13:24 +04:00
parent 9c9b3f4706
commit 66b50fb951
11 changed files with 432 additions and 3 deletions

View File

@ -0,0 +1,82 @@
from typing import Optional
from schemas.base import BaseSchema, BaseResponse
# region Entity
class BarcodeTemplateAttributeSchema(BaseSchema):
id: int
key: str
name: str
class BarcodeTemplateSizeSchema(BaseSchema):
id: int
name: str
width: int
height: int
class CreateBarcodeTemplateSchema(BaseSchema):
name: str
attributes: list[BarcodeTemplateAttributeSchema]
is_default: bool
size: BarcodeTemplateSizeSchema
class BarcodeTemplateSchema(CreateBarcodeTemplateSchema):
id: int
class UpdateBarcodeTemplateSchema(BaseSchema):
name: Optional[str] = None
attributes: Optional[list[BarcodeTemplateAttributeSchema]] = None
is_default: Optional[bool] = None
size: Optional[BarcodeTemplateSizeSchema] = None
# endregion
# region Request
class CreateBarcodeTemplateRequest(BaseSchema):
entity: CreateBarcodeTemplateSchema
class UpdateBarcodeTemplateRequest(BaseSchema):
entity: UpdateBarcodeTemplateSchema
# endregion
# region Response
class GetBarcodeTemplatesResponse(BaseSchema):
items: list[BarcodeTemplateSchema]
class CreateBarcodeTemplateResponse(BaseResponse):
entity: BarcodeTemplateSchema
class UpdateBarcodeTemplateResponse(BaseResponse):
pass
class DeleteBarcodeTemplateResponse(BaseResponse):
pass
class GetBarcodeAttributesResponse(BaseSchema):
items: list[BarcodeTemplateAttributeSchema]
class GetBarcodeTemplateSizesResponse(BaseSchema):
items: list[BarcodeTemplateSizeSchema]
# endregion