feat: deal status history table

This commit is contained in:
2025-09-20 10:07:56 +04:00
parent 44f315b4a0
commit 6b3d124adf
8 changed files with 45 additions and 7 deletions

View File

@ -1,6 +1,6 @@
from sqlalchemy import func
from models import Status, Deal
from models import Status, Deal, DealStatusHistory
from repositories.mixins import *
from schemas.status import UpdateStatusSchema, CreateStatusSchema
@ -29,3 +29,12 @@ class StatusRepository(RepCrudMixin[Status, CreateStatusSchema, UpdateStatusSche
async def update(self, status: Status, data: UpdateStatusSchema) -> Status:
return await self._apply_update_data_to_model(status, data, True)
async def get_status_history(self, deal_id: int) -> list[DealStatusHistory]:
stmt = (
select(DealStatusHistory)
.where(DealStatusHistory.deal_id == deal_id)
.order_by(DealStatusHistory.created_at)
)
result = await self.session.execute(stmt)
return list(result.scalars().all())