refactor: repository delete mixin

This commit is contained in:
2025-09-04 20:53:44 +04:00
parent fbab70d6c1
commit c632fb8037
5 changed files with 33 additions and 46 deletions

View File

@ -5,12 +5,13 @@ from sqlalchemy.orm import joinedload
from models import Deal, CardStatusHistory, Board
from repositories.base import BaseRepository
from repositories.mixins import RepDeleteMixin
from schemas.base import SortDir
from schemas.deal import UpdateDealSchema, CreateDealSchema
from utils.sorting import apply_sorting
class DealRepository(BaseRepository):
class DealRepository(BaseRepository, RepDeleteMixin[Deal]):
async def get_all(
self,
page: Optional[int],
@ -87,13 +88,3 @@ class DealRepository(BaseRepository):
await self.session.commit()
await self.session.refresh(deal)
return deal
async def delete(self, deal: Deal, is_soft: bool):
if not is_soft:
await self.session.delete(deal)
await self.session.commit()
return
deal.is_deleted = True
self.session.add(deal)
await self.session.commit()