feat: deleting groups of deals
This commit is contained in:
@@ -90,6 +90,9 @@ class DealService(BaseService):
|
|||||||
deal = await self._get_deal_by_id(request.deal_id)
|
deal = await self._get_deal_by_id(request.deal_id)
|
||||||
if not deal:
|
if not deal:
|
||||||
return DealDeleteResponse(ok=False, message="Сделка не найдена")
|
return DealDeleteResponse(ok=False, message="Сделка не найдена")
|
||||||
|
if deal.group:
|
||||||
|
await DealGroupService(self.session).delete_group(deal.group.id)
|
||||||
|
else:
|
||||||
deal.is_deleted = True
|
deal.is_deleted = True
|
||||||
await self.session.commit()
|
await self.session.commit()
|
||||||
return DealDeleteResponse(ok=True, message="Сделка успешно удалена")
|
return DealDeleteResponse(ok=True, message="Сделка успешно удалена")
|
||||||
|
|||||||
@@ -30,3 +30,9 @@ class DealGroupService(BaseService):
|
|||||||
for deal in deals:
|
for deal in deals:
|
||||||
deal.is_completed = True
|
deal.is_completed = True
|
||||||
await self.session.commit()
|
await self.session.commit()
|
||||||
|
|
||||||
|
async def delete_group(self, group_id: int) -> None:
|
||||||
|
deals = await self.get_deals_by_group_id(group_id)
|
||||||
|
for deal in deals:
|
||||||
|
deal.is_deleted = True
|
||||||
|
await self.session.commit()
|
||||||
|
|||||||
Reference in New Issue
Block a user