70 lines
1.4 KiB
Python
70 lines
1.4 KiB
Python
from schemas.base import CustomModelCamel, OkMessageSchema
|
|
|
|
|
|
# region Entities
|
|
class BarcodeTemplateAttributeSchema(CustomModelCamel):
|
|
id: int
|
|
key: str
|
|
name: str
|
|
|
|
|
|
class BaseBarcodeTemplateSchema(CustomModelCamel):
|
|
name: str
|
|
is_default: bool
|
|
width: int
|
|
height: int
|
|
|
|
|
|
class BarcodeTemplateSchema(BaseBarcodeTemplateSchema):
|
|
id: int
|
|
attributes: list[BarcodeTemplateAttributeSchema]
|
|
|
|
|
|
# endregion
|
|
|
|
# region Requests
|
|
class GetBarcodeTemplateByIdRequest(CustomModelCamel):
|
|
id: int
|
|
|
|
|
|
class BarcodeTemplateCreateResponse(OkMessageSchema):
|
|
id: int
|
|
|
|
|
|
class BarcodeTemplateUpdateResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class CreateBarcodeTemplateAttributeRequest(CustomModelCamel):
|
|
name: str
|
|
label: str
|
|
|
|
|
|
# endregion
|
|
|
|
# region Responses
|
|
class GetBarcodeTemplateByIdResponse(CustomModelCamel):
|
|
barcode_template: BarcodeTemplateSchema
|
|
|
|
|
|
class BarcodeTemplateCreateRequest(BaseBarcodeTemplateSchema):
|
|
attribute_ids: list[int]
|
|
|
|
|
|
class BarcodeTemplateUpdateRequest(BaseBarcodeTemplateSchema):
|
|
id: int
|
|
attribute_ids: list[int]
|
|
|
|
|
|
class CreateBarcodeTemplateAttributeResponse(OkMessageSchema):
|
|
id: int
|
|
|
|
|
|
class GetAllBarcodeTemplatesResponse(CustomModelCamel):
|
|
templates: list[BarcodeTemplateSchema]
|
|
|
|
|
|
class GetAllBarcodeTemplateAttributesResponse(CustomModelCamel):
|
|
attributes: list[BarcodeTemplateAttributeSchema]
|
|
# endregion
|