fix: refactored the codebase

This commit is contained in:
2026-08-20 23:00:47 +02:00
parent 6f47ed0674
commit a77f74911d
64 changed files with 2864 additions and 1739 deletions
@@ -0,0 +1,37 @@
<?php
namespace App\Services\Rooms;
use App\Models\Room;
use App\Models\User;
use Illuminate\Database\Eloquent\Collection;
class DashboardRoomService
{
/**
* @return array{owned: Collection<int, Room>, favorites: Collection<int, Room>}
*/
public function forUser(User $user): array
{
$ownedRooms = $user
->ownedRooms()
->withCount('players')
->withCount(['activePlayers as active_player_count'])
->orderByRaw('closed_at IS NOT NULL')
->orderByDesc('last_activity_at')
->get();
$favoriteRooms = $user
->favoriteRooms()
->withCount('players')
->withCount(['activePlayers as active_player_count'])
->orderByRaw('closed_at IS NOT NULL')
->orderByDesc('last_activity_at')
->get();
return [
'owned' => $ownedRooms,
'favorites' => $favoriteRooms,
];
}
}