/**
  * @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()]);
 }