feat: barcode templates
This commit is contained in:
82
modules/fulfillment_base/schemas/barcode_template.py
Normal file
82
modules/fulfillment_base/schemas/barcode_template.py
Normal 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
|
||||
Reference in New Issue
Block a user