feat: deleting groups of deals

This commit is contained in:
2024-11-15 20:34:48 +04:00
parent e2d35fb7c4
commit 0dd3c50be8
2 changed files with 10 additions and 1 deletions

View File

@@ -90,7 +90,10 @@ class DealService(BaseService):
deal = await self._get_deal_by_id(request.deal_id)
if not deal:
return DealDeleteResponse(ok=False, message="Сделка не найдена")
deal.is_deleted = True
if deal.group:
await DealGroupService(self.session).delete_group(deal.group.id)
else:
deal.is_deleted = True
await self.session.commit()
return DealDeleteResponse(ok=True, message="Сделка успешно удалена")

View File

@@ -30,3 +30,9 @@ class DealGroupService(BaseService):
for deal in deals:
deal.is_completed = True
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()