/**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $this->validate($request, ['title' => 'required|min:3|max:20', 'date' => 'required', 'visible' => 'required']);
     $data = $request->all();
     if ($request->file) {
         $validate = ImageHelper::validate($request->file, 2000000);
         if (!$validate['success']) {
             return response()->json([$validate['message']], 422);
         }
     }
     if (isset($data['files'])) {
         $validate_multiple = ImageHelper::validateMultiple($data['files'], 20000000);
         if (!$validate_multiple['success']) {
             return response()->json([$validate_multiple['message']], 422);
         }
     }
     if ($request->file) {
         $image = ImageHelper::create($data['file'], 600, 'admin/images/gallery/');
         $data['image'] = $image['filename'];
     }
     $gallery = Gallery::find($id);
     $gallery->update($data);
     if (isset($data['files'])) {
         $image_multiple = ImageHelper::createMultiple($data['files'], 600, 'admin/images/gallery/');
         for ($i = 0; $i < count($data['files']); $i++) {
             $gallery->galleryImages()->save(new GalleryImages(['name' => $image_multiple['filenames'][$i]]));
         }
     }
     return response()->json(['message' => 'Gallery successfully Updated']);
 }