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

@ -5,3 +5,4 @@ from .product_service import ProductServiceService as ProductServiceService
from .service import ServiceModelService as ServiceModelService
from .services_kit import ServicesKitService as ServicesKitService
from .service_category import ServiceCategoryService as ServiceCategoryService
from .barcode_template import BarcodeTemplateService as BarcodeTemplateService

View File

@ -0,0 +1,39 @@
from modules.fulfillment_base.models import BarcodeTemplate
from modules.fulfillment_base.repositories import BarcodeTemplateRepository
from modules.fulfillment_base.schemas.barcode_template import *
from services.mixins import *
class BarcodeTemplateService(
ServiceCrudMixin[
BarcodeTemplate,
BarcodeTemplateSchema,
CreateBarcodeTemplateRequest,
UpdateBarcodeTemplateRequest,
]
):
schema_class = BarcodeTemplateSchema
entity_deleted_msg = "Шаблон штрихкода успешно удален"
entity_updated_msg = "Шаблон штрихкода успешно обновлен"
entity_created_msg = "Шаблон штрихкода успешно создан"
def __init__(self, session: AsyncSession):
self.repository = BarcodeTemplateRepository(session)
async def is_soft_delete(self, template: BarcodeTemplate) -> bool:
return True
async def get_attributes(self) -> GetBarcodeAttributesResponse:
attributes = await self.repository.get_attributes()
return GetBarcodeAttributesResponse(
items=[
BarcodeTemplateAttributeSchema.model_validate(attr)
for attr in attributes
]
)
async def get_sizes(self) -> GetBarcodeTemplateSizesResponse:
sizes = await self.repository.get_sizes()
return GetBarcodeTemplateSizesResponse(
items=[BarcodeTemplateSizeSchema.model_validate(size) for size in sizes]
)