Sid Gifari File Manager
🏠 Root
/
home
/
genremedia08
/
musicjukebox.overlookedtracks.com
/
app
/
Http
/
Controllers
/
UserProfile
/
Editing: UserPlaylistsController.php
<?php namespace App\Http\Controllers\UserProfile; use App; use App\Playlist; use App\Services\Playlists\PaginatePlaylists; use App\User; use Common\Core\BaseController; use Common\Database\Datasource\Datasource; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; class UserPlaylistsController extends BaseController { public function __construct( protected Request $request, protected Playlist $playlist, ) { $this->middleware('auth', ['only' => ['follow', 'unfollow']]); } public function index(User $user): Response { $this->authorize('show', $user); $pagination = app(PaginatePlaylists::class)->execute( array_merge($this->request->all(), ['compact' => true]), $user->playlists(), ); return $this->success(['pagination' => $pagination]); } public function follow(int $id): Response { $playlist = $this->playlist->findOrFail($id); $this->authorize('show', $playlist); $this->request ->user() ->playlists() ->sync([$id], false); return $this->success(); } public function unfollow(int $id): Response { $playlist = $this->request ->user() ->playlists() ->find($id); $this->authorize('show', $playlist); if ($playlist) { $this->request ->user() ->playlists() ->detach($id); } return $this->success(); } }
Save
Cancel