feat: setting default attributes after deal creating

This commit is contained in:
2025-10-28 17:20:48 +04:00
parent 9b109a7270
commit 0e8c9077c9
5 changed files with 47 additions and 2 deletions

View File

@ -8,6 +8,7 @@ from modules.fulfillment_base.models import (
DealProductService,
DealProduct,
)
from repositories import AttributeRepository
from repositories.mixins import *
from schemas.base import SortDir
from schemas.deal import UpdateDealSchema, CreateDealSchema
@ -146,6 +147,15 @@ class DealRepository(
result = await self.session.execute(stmt)
return list(result.scalars().all())
async def _prepare_create(self, data: CreateDealSchema) -> dict:
dumped = data.model_dump()
del dumped["project_id"]
return dumped
async def _after_create(self, obj: Deal, data: CreateDealSchema) -> None:
attr_repo = AttributeRepository(self.session)
await attr_repo.create_attributes_for_new_deal(obj.id, data.project_id)
def _process_get_by_id_stmt(self, stmt: Select) -> Select:
return stmt.options(joinedload(Deal.status), joinedload(Deal.board))