mirror of
https://github.com/Poniverse/Pony.fm.git
synced 2025-02-12 08:26:44 +01:00
Handle slug collisions with disabled accounts properly.
This commit is contained in:
parent
4e540de38e
commit
09de55d14d
2 changed files with 13 additions and 5 deletions
|
@ -56,12 +56,19 @@ class RebuildArtists extends Command
|
||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
|
$numberOfUsers = User::count();
|
||||||
|
|
||||||
|
$bar = $this->output->createProgressBar($numberOfUsers);
|
||||||
|
|
||||||
foreach(User::with(['tracks' => function($query) {
|
foreach(User::with(['tracks' => function($query) {
|
||||||
$query->published()->listed();
|
$query->published()->listed();
|
||||||
}])->get() as $user) {
|
}])->get() as $user) {
|
||||||
|
$bar->advance();
|
||||||
$user->track_count = $user->tracks->count();
|
$user->track_count = $user->tracks->count();
|
||||||
$user->save();
|
$user->save();
|
||||||
$this->info('Updated user #'.$user->id.'!');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$bar->finish();
|
||||||
|
$this->line('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,12 +35,13 @@ class ArtistsController extends ApiControllerBase
|
||||||
{
|
{
|
||||||
public function getFavourites($slug)
|
public function getFavourites($slug)
|
||||||
{
|
{
|
||||||
$user = User::whereSlug($slug)->first();
|
$user = User::where('slug', $slug)->whereNull('disabled_at')->first();
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
App::abort(404);
|
App::abort(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
$favs = Favourite::whereUserId($user->id)->with([
|
$favs = Favourite::where('user_id', $user->id)
|
||||||
|
->with([
|
||||||
'track.genre',
|
'track.genre',
|
||||||
'track.cover',
|
'track.cover',
|
||||||
'track.user',
|
'track.user',
|
||||||
|
@ -75,7 +76,7 @@ class ArtistsController extends ApiControllerBase
|
||||||
|
|
||||||
public function getContent($slug)
|
public function getContent($slug)
|
||||||
{
|
{
|
||||||
$user = User::whereSlug($slug)->first();
|
$user = User::where('slug', $slug)->whereNull('disabled_at')->first();
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
App::abort(404);
|
App::abort(404);
|
||||||
}
|
}
|
||||||
|
@ -110,7 +111,7 @@ class ArtistsController extends ApiControllerBase
|
||||||
|
|
||||||
public function getShow($slug)
|
public function getShow($slug)
|
||||||
{
|
{
|
||||||
$user = User::whereSlug($slug)
|
$user = User::where('slug', $slug)
|
||||||
->whereNull('disabled_at')
|
->whereNull('disabled_at')
|
||||||
->userDetails()
|
->userDetails()
|
||||||
->with([
|
->with([
|
||||||
|
|
Loading…
Reference in a new issue