Example #1
0
 public function getContent($slug)
 {
     $user = User::whereSlug($slug)->first();
     if (!$user) {
         App::abort(404);
     }
     $query = Track::summary()->published()->listed()->explicitFilter()->with('genre', 'cover', 'user')->userDetails()->whereUserId($user->id)->whereNotNull('published_at');
     $tracks = [];
     $singles = [];
     foreach ($query->get() as $track) {
         if ($track->album_id != null) {
             $tracks[] = Track::mapPublicTrackSummary($track);
         } else {
             $singles[] = Track::mapPublicTrackSummary($track);
         }
     }
     $query = Album::summary()->with('user')->orderBy('created_at', 'desc')->where('track_count', '>', 0)->whereUserId($user->id);
     $albums = [];
     foreach ($query->get() as $album) {
         $albums[] = Album::mapPublicAlbumSummary($album);
     }
     return Response::json(['singles' => $singles, 'albumTracks' => $tracks, 'albums' => $albums], 200);
 }
Example #2
0
 public function getOwned()
 {
     $query = Album::summary()->where('user_id', \Auth::user()->id)->orderBy('created_at', 'desc')->get();
     $albums = [];
     foreach ($query as $album) {
         $albums[] = ['id' => $album->id, 'title' => $album->title, 'slug' => $album->slug, 'created_at' => $album->created_at->format('c'), 'covers' => ['small' => $album->getCoverUrl(Image::SMALL), 'normal' => $album->getCoverUrl(Image::NORMAL)]];
     }
     return Response::json($albums, 200);
 }