App\Http\Controllers\BeatmapsetsController::updateFavourite PHP 메소드

updateFavourite() 공개 메소드

public updateFavourite ( $id )
    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)];
    }