fix: renamed assignments table to deal_employees

This commit is contained in:
2024-12-20 12:54:46 +04:00
parent c65ca39d08
commit e8af9f2237
4 changed files with 16 additions and 16 deletions

View File

@@ -339,8 +339,8 @@ class DealService(BaseService):
selectinload(Deal.boxes)
.selectinload(Box.product)
.noload(Product.barcodes),
selectinload(Deal.assignments)
.joinedload(Assignment.user),
selectinload(Deal.employees)
.joinedload(DealEmployees.user),
)
.where(Deal.id == deal_id)
)
@@ -1166,22 +1166,22 @@ class DealService(BaseService):
return DealRecalculatePriceResponse(ok=False, message=str(e))
async def _assign_employee(self, deal: Deal, user: User) -> tuple[bool, str]:
assigned_employee_ids = [assignment.user_id for assignment in deal.assignments]
assigned_employee_ids = [assignment.user_id for assignment in deal.employees]
if user.id in assigned_employee_ids:
return False, "Работник уже назначен"
assignment = Assignment(user_id=user.id, deal_id=deal.id, created_at=datetime.datetime.now())
assignment = DealEmployees(user_id=user.id, deal_id=deal.id, created_at=datetime.datetime.now())
self.session.add(assignment)
await self.session.commit()
return True, "Работник успешно назначен"
async def _unassign_employee(self, deal: Deal, user: User) -> tuple[bool, str]:
assigned_employee_ids = [assignment.user_id for assignment in deal.assignments]
assigned_employee_ids = [assignment.user_id for assignment in deal.employees]
if user.id not in assigned_employee_ids:
return False, "Работник еще не назначен"
stmt = delete(Assignment).where(and_(Assignment.user_id == user.id, Assignment.deal_id == deal.id))
stmt = delete(DealEmployees).where(and_(DealEmployees.user_id == user.id, DealEmployees.deal_id == deal.id))
await self.session.execute(stmt)
await self.session.commit()
@@ -1204,7 +1204,7 @@ class DealService(BaseService):
return ManageEmployeeResponse(ok=ok, message=message)
async def get_available_employees_to_assign(self, deal_id: int) -> GetAvailableEmployeesToAssignResponse:
assigned_users = select(Assignment.user_id).where(Assignment.deal_id == deal_id)
assigned_users = select(DealEmployees.user_id).where(DealEmployees.deal_id == deal_id)
stmt_free_employees = (
select(User)