from pathlib import Path from fastapi import APIRouter from backend.dependecies import SessionDependency from schemas.deal_group import * from services import DealGroupService router = APIRouter(tags=["deal-group"]) @router.patch( "/{pk}", response_model=UpdateDealGroupResponse, operation_id="update_deal_group", ) async def update_group( request: UpdateDealGroupRequest, session: SessionDependency, pk: int = Path(), ): return await DealGroupService(session).update(pk, request) @router.post( "/", response_model=CreateDealGroupResponse, operation_id="create_deal_group", ) async def create_group( request: CreateDealGroupRequest, session: SessionDependency, ): return await DealGroupService(session).create(request) @router.delete( "/{pk}", response_model=DeleteDealGroupResponse, operation_id="delete_deal_group", ) async def delete_group( session: SessionDependency, pk: int = Path(), ): return await DealGroupService(session).delete(pk) @router.post( "/{pk}/deals", response_model=UpdateDealsInGroupResponse, operation_id="update_deals_in_group", ) async def update_deals_in_group( request: UpdateDealsInGroupRequest, session: SessionDependency, pk: int = Path(), ): return await DealGroupService(session).update_deals_in_group(pk, request)