public function updateFavourite($id)
{
$beatmapset = Beatmapset::findOrFail($id);
$user = Auth::user();
if (Request::input('action') === 'favourite') {
priv_check('UserFavourite')->ensureCan();
$beatmapset->favourite($user);
} elseif (Request::input('action') === 'unfavourite') {
priv_check('UserFavouriteRemove')->ensureCan();
$beatmapset->unfavourite($user);
}
// reload model to be able to get
// the favourite count properly
$beatmapset = $beatmapset->fresh();
return ['favcount' => $beatmapset->favourite_count, 'favourited' => $beatmapset->hasFavourited($user)];
}