from fastapi import APIRouter, Path from backend.dependecies import SessionDependency from modules.fulfillment_base.schemas.deal_service import * from modules.fulfillment_base.services import DealServiceService router = APIRouter(tags=["deal-service"]) @router.get( "/{dealId}", response_model=GetDealServicesResponse, operation_id="get_deal_services", ) async def get_deal_services( session: SessionDependency, deal_id: int = Path(alias="dealId"), ): return await DealServiceService(session).get_all(deal_id) @router.post( "/", response_model=CreateDealServiceResponse, operation_id="create_deal_service", ) async def create_deal_service( session: SessionDependency, request: CreateDealServiceRequest, ): return await DealServiceService(session).create(request) @router.patch( "/{dealId}/service/{serviceId}", response_model=UpdateDealServiceResponse, operation_id="update_deal_service", ) async def update_deal_service( session: SessionDependency, request: UpdateDealServiceRequest, deal_id: int = Path(alias="dealId"), service_id: int = Path(alias="serviceId"), ): return await DealServiceService(session).update(deal_id, service_id, request) @router.delete( "/{dealId}/service/{serviceId}", response_model=DeleteDealServiceResponse, operation_id="delete_deal_service", ) async def delete_deal_service( session: SessionDependency, deal_id: int = Path(alias="dealId"), service_id: int = Path(alias="serviceId"), ): return await DealServiceService(session).delete(deal_id, service_id)