Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Http/Controllers/Admin/Nodes/SystemInformationController.php
10284 views
1
<?php
2
3
namespace Pterodactyl\Http\Controllers\Admin\Nodes;
4
5
use Illuminate\Support\Str;
6
use Illuminate\Http\Request;
7
use Pterodactyl\Models\Node;
8
use Illuminate\Http\JsonResponse;
9
use Pterodactyl\Http\Controllers\Controller;
10
use Pterodactyl\Repositories\Wings\DaemonConfigurationRepository;
11
12
class SystemInformationController extends Controller
13
{
14
/**
15
* SystemInformationController constructor.
16
*/
17
public function __construct(private DaemonConfigurationRepository $repository)
18
{
19
}
20
21
/**
22
* Returns system information from the Daemon.
23
*
24
* @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException
25
*/
26
public function __invoke(Request $request, Node $node): JsonResponse
27
{
28
$data = $this->repository->setNode($node)->getSystemInformation();
29
30
return new JsonResponse([
31
'version' => $data['version'] ?? '',
32
'system' => [
33
'type' => Str::title($data['os'] ?? 'Unknown'),
34
'arch' => $data['architecture'] ?? '--',
35
'release' => $data['kernel_version'] ?? '--',
36
'cpus' => $data['cpu_count'] ?? 0,
37
],
38
]);
39
}
40
}
41
42