completed === null) { throw new BadRequestException( 'completed must be a boolean', ); } $assignment = $this->scheduleRepository->findAssignmentForUser( $request->assignmentId, $request->user, ); if ($assignment === null) { throw new NotFoundException('assignment not found'); } if ($request->completed) { $assignment->complete($this->clock->now()); } else { $assignment->reopen(); } return $this->scheduleRepository->updateAssignment($assignment); } }