83 lines
1.5 KiB
Python
83 lines
1.5 KiB
Python
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
|