isAdmin() && ($user->can('view server', $server) || $user->can('update server', $server))) { $permissions = $user->can('update server', $server) ? ['*'] : ['websocket.connect', 'backup.read']; $permissions[] = 'admin.websocket.errors'; $permissions[] = 'admin.websocket.install'; $permissions[] = 'admin.websocket.transfer'; return $permissions; } if ($user->id === $server->owner_id) { return ['*']; } /** @var \App\Models\Subuser|null $subuserPermissions */ $subuserPermissions = $server->subusers()->where('user_id', $user->id)->first(); return $subuserPermissions ? $subuserPermissions->permissions : []; } }