from fastapi import APIRouter, Path from backend.dependecies import SessionDependency from modules.fulfillment_base.schemas.barcode_template import * from modules.fulfillment_base.services import BarcodeTemplateService router = APIRouter(tags=["barcode_template"]) @router.get( "/", response_model=GetBarcodeTemplatesResponse, operation_id="get_barcode_templates", ) async def get_barcode_templates( session: SessionDependency, ): return await BarcodeTemplateService(session).get_all() @router.post( "/", response_model=CreateBarcodeTemplateResponse, operation_id="create_barcode_template", ) async def create_barcode_template( session: SessionDependency, request: CreateBarcodeTemplateRequest, ): return await BarcodeTemplateService(session).create(request) @router.patch( "/{pk}", response_model=UpdateBarcodeTemplateResponse, operation_id="update_barcode_template", ) async def update_barcode_template( session: SessionDependency, request: UpdateBarcodeTemplateRequest, pk: int = Path(), ): return await BarcodeTemplateService(session).update(pk, request) @router.delete( "/{pk}", response_model=DeleteBarcodeTemplateResponse, operation_id="delete_barcode_template", ) async def delete_barcode_template( session: SessionDependency, pk: int = Path(), ): return await BarcodeTemplateService(session).delete(pk) @router.get( "/attributes", response_model=GetBarcodeAttributesResponse, operation_id="get_barcode_template_attributes", ) async def get_barcode_template_attributes( session: SessionDependency, ): return await BarcodeTemplateService(session).get_attributes() @router.get( "/sizes", response_model=GetBarcodeTemplateSizesResponse, operation_id="get_barcode_template_sizes", ) async def get_barcode_template_sizes( session: SessionDependency, ): return await BarcodeTemplateService(session).get_sizes()