feat: patch deal endpoint
This commit is contained in:
@ -1,7 +1,13 @@
|
||||
from fastapi import HTTPException
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from repositories import DealRepository
|
||||
from schemas.deal import GetDealsResponse, DealSchema
|
||||
from schemas.deal import (
|
||||
GetDealsResponse,
|
||||
DealSchema,
|
||||
UpdateDealResponse,
|
||||
UpdateDealRequest,
|
||||
)
|
||||
|
||||
|
||||
class DealService:
|
||||
@ -13,3 +19,11 @@ class DealService:
|
||||
return GetDealsResponse(
|
||||
deals=[DealSchema.model_validate(deal) for deal in deals]
|
||||
)
|
||||
|
||||
async def update_deal(self, deal_id: int, request: UpdateDealRequest):
|
||||
deal = await self.repository.get_by_id(deal_id)
|
||||
if not deal:
|
||||
raise HTTPException(status_code=404, detail="Сделка не найдена")
|
||||
|
||||
await self.repository.update(deal, request.deal)
|
||||
return UpdateDealResponse(message="Сделка успешно обновлена")
|
||||
|
||||
Reference in New Issue
Block a user