public function getPlaylists()
 {
     $query = Favourite::whereUserId(Auth::user()->id)->whereNotNull('playlist_id')->with(['playlist' => function ($query) {
         $query->userDetails();
     }, 'playlist.user', 'playlist.user.avatar', 'playlist.tracks', 'playlist.tracks.cover']);
     $playlists = [];
     foreach ($query->get() as $fav) {
         if ($fav->playlist == null) {
             continue;
         }
         $playlists[] = Playlist::mapPublicPlaylistSummary($fav->playlist);
     }
     return Response::json(["playlists" => $playlists], 200);
 }
Example #2
0
 public function getPinned()
 {
     $query = Playlist::userDetails()->with('tracks', 'tracks.cover', 'tracks.user', 'user')->join('pinned_playlists', function ($join) {
         $join->on('playlist_id', '=', 'playlists.id');
     })->where('pinned_playlists.user_id', '=', Auth::user()->id)->orderBy('title', 'asc')->select('playlists.*')->get();
     $playlists = [];
     foreach ($query as $playlist) {
         $mapped = Playlist::mapPublicPlaylistSummary($playlist);
         $mapped['description'] = $playlist->description;
         $mapped['is_pinned'] = true;
         $playlists[] = $mapped;
     }
     return Response::json($playlists, 200);
 }