/** * @api {put} /submissions/:submissionId Update A Submission * @apiGroup Task Submissions * @apiDescription Update a submission. * @apiParam {bool} approved (Admin use only) * @apiUse RequiresAuthentication * * @param Request $request * @param Submission $submission * * @return \Illuminate\Http\JsonResponse */ public function update(Request $request, Submission $submission) { $this->requireRole(Role::ROLE_MANAGE_SUBMISSIONS); $this->validate($request, ['approved' => 'boolean', 'rejectReason' => 'required_if:approved,0']); if ($request->has('approved')) { if ($request->input('approved')) { $submission->approve($this->user); } else { $submission->reject($request->input('rejectReason'), $this->user); } } return $this->response(['submission' => $submission->fresh()]); }