fix: forbidden starting and finishing shifts for deleted users
This commit is contained in:
		@@ -31,7 +31,7 @@ class WorkShiftsService(BaseService):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    async def start_shift(self, user_id: int) -> StartShiftResponse:
 | 
					    async def start_shift(self, user_id: int) -> StartShiftResponse:
 | 
				
			||||||
        employee = await self.session.get(User, user_id)
 | 
					        employee = await self.session.get(User, user_id)
 | 
				
			||||||
        if not employee:
 | 
					        if not employee or employee.is_deleted:
 | 
				
			||||||
            return StartShiftResponse(ok=False, message=f"Пользователь с ID {user_id} не найден")
 | 
					            return StartShiftResponse(ok=False, message=f"Пользователь с ID {user_id} не найден")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        work_shift = await self._get_last_work_shift_for_today(user_id)
 | 
					        work_shift = await self._get_last_work_shift_for_today(user_id)
 | 
				
			||||||
@@ -47,7 +47,7 @@ class WorkShiftsService(BaseService):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    async def finish_shift(self, user: User, user_id: int) -> FinishShiftResponse:
 | 
					    async def finish_shift(self, user: User, user_id: int) -> FinishShiftResponse:
 | 
				
			||||||
        employee = await self.session.get(User, user_id)
 | 
					        employee = await self.session.get(User, user_id)
 | 
				
			||||||
        if not employee:
 | 
					        if not employee or employee.is_deleted:
 | 
				
			||||||
            return FinishShiftResponse(ok=False, message=f"Пользователь с ID {user_id} не найден")
 | 
					            return FinishShiftResponse(ok=False, message=f"Пользователь с ID {user_id} не найден")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        work_shift = await self._get_last_work_shift_for_today(user_id)
 | 
					        work_shift = await self._get_last_work_shift_for_today(user_id)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user