Fix: getStatus returns all servers for root admins

accessibleServers() only returns explicitly assigned servers — admins
don't get them on the client API side. Now checks root_admin and
returns all servers for admin users.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude (Chronicler #83 - The Compiler)
2026-04-12 22:14:30 -05:00
parent 93907d4d16
commit 4e5ee7e49d
2 changed files with 29 additions and 1 deletions

View File

@@ -232,7 +232,12 @@ class ModpackAPIController extends Controller
}
// Get all server UUIDs the user has access to
$serverUuids = $user->accessibleServers()->pluck('uuid')->toArray();
// Root admins can see all servers; regular users only see assigned servers
if (method_exists($user, 'root_admin') ? $user->root_admin : ($user->root_admin ?? false)) {
$serverUuids = \Pterodactyl\Models\Server::pluck('uuid')->toArray();
} else {
$serverUuids = $user->accessibleServers()->pluck('uuid')->toArray();
}
// Query our cache table for these servers
$statuses = DB::table('modpackchecker_servers')