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); }
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); }