/**
  * update a existing album
  * @param Request $request
  * @param $id
  */
 public function update(Request $request, $id)
 {
     $album = Album::find($id);
     if (!$album) {
         return response()->json(['status' => 'error', 'message' => 'album no encontrado']);
     }
     try {
         $this->validate($request, Album::$rules);
         $input = $request->all();
         $album->title = $input['title'];
         $album->published = $input['published'];
         $artists = Artist::whereIn('id', $input['author'])->get();
         $album->save();
         $album->artist()->saveMany($artists);
         return response()->json(['status' => 'success']);
     } catch (ValidationException $e) {
         return response()->json(['status' => 'validation_error', 'messages' => $e->validator->errors()]);
     } catch (\Exception $e) {
         return response()->json(['status' => 'server_error', 'message' => $e->getMessage()]);
     }
 }
 /**
  * @param $id
  * @return \Illuminate\Http\JsonResponse
  */
 public function roleDelete($id, $role)
 {
     $artist = Artist::with('Album', 'Roles')->find($id);
     $artist->roles()->detach($role);
     $artist->save();
     return response()->json(['status' => 'success']);
 }