Handle slug collisions with disabled accounts properly.

This commit is contained in:
Peter Deltchev 2016-01-24 22:05:08 -08:00
parent 4e540de38e
commit 09de55d14d
2 changed files with 13 additions and 5 deletions

View file

@ -56,12 +56,19 @@ class RebuildArtists extends Command
*/
public function handle()
{
$numberOfUsers = User::count();
$bar = $this->output->createProgressBar($numberOfUsers);
foreach(User::with(['tracks' => function($query) {
$query->published()->listed();
}])->get() as $user) {
$bar->advance();
$user->track_count = $user->tracks->count();
$user->save();
$this->info('Updated user #'.$user->id.'!');
}
$bar->finish();
$this->line('');
}
}

View file

@ -35,12 +35,13 @@ class ArtistsController extends ApiControllerBase
{
public function getFavourites($slug)
{
$user = User::whereSlug($slug)->first();
$user = User::where('slug', $slug)->whereNull('disabled_at')->first();
if (!$user) {
App::abort(404);
}
$favs = Favourite::whereUserId($user->id)->with([
$favs = Favourite::where('user_id', $user->id)
->with([
'track.genre',
'track.cover',
'track.user',
@ -75,7 +76,7 @@ class ArtistsController extends ApiControllerBase
public function getContent($slug)
{
$user = User::whereSlug($slug)->first();
$user = User::where('slug', $slug)->whereNull('disabled_at')->first();
if (!$user) {
App::abort(404);
}
@ -110,7 +111,7 @@ class ArtistsController extends ApiControllerBase
public function getShow($slug)
{
$user = User::whereSlug($slug)
$user = User::where('slug', $slug)
->whereNull('disabled_at')
->userDetails()
->with([