from fastapi import APIRouter, Path from backend.dependecies import SessionDependency from schemas.deal import ( GetDealsResponse, UpdateDealResponse, UpdateDealRequest, CreateDealResponse, CreateDealRequest, DeleteDealResponse, ) from services import DealService deal_router = APIRouter( tags=["deal"], ) @deal_router.get( "/{boardId}", response_model=GetDealsResponse, operation_id="get_deals", ) async def get_deals( session: SessionDependency, board_id: int = Path(alias="boardId"), ): return await DealService(session).get_deals(board_id) @deal_router.post( "/", response_model=CreateDealResponse, operation_id="create_deal", ) async def create_deal( session: SessionDependency, request: CreateDealRequest, ): return await DealService(session).create_deal(request) @deal_router.patch( "/{pk}", response_model=UpdateDealResponse, operation_id="update_deal", ) async def update_deal( session: SessionDependency, request: UpdateDealRequest, pk: int = Path(), ): return await DealService(session).update_deal(pk, request) @deal_router.delete( "/{pk}", response_model=DeleteDealResponse, operation_id="delete_deal", ) async def delete_deal( session: SessionDependency, pk: int = Path(), ): return await DealService(session).delete_deal(pk)