|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace Gameap\Http\Responses\GdaemonAPI; |
|
4
|
|
|
|
|
5
|
|
|
use Gameap\Models\Game; |
|
6
|
|
|
use Gameap\Models\GameMod; |
|
7
|
|
|
use Gameap\Models\Server; |
|
8
|
|
|
use Symfony\Component\Serializer\SerializerInterface; |
|
9
|
|
|
|
|
10
|
|
|
class ServerResponse implements \JsonSerializable |
|
11
|
|
|
{ |
|
12
|
|
|
/** @var Server */ |
|
13
|
|
|
private $server; |
|
14
|
|
|
|
|
15
|
|
|
public function __construct(Server $server) |
|
16
|
|
|
{ |
|
17
|
|
|
$this->server = $server; |
|
18
|
|
|
} |
|
19
|
|
|
|
|
20
|
|
|
public function jsonSerialize() |
|
21
|
|
|
{ |
|
22
|
|
|
$gameModResponse = new GameModResponse($this->server->gameMod, $this->server->dedicatedServer->os); |
|
23
|
|
|
$gameResponse = new GameResponse($this->server->game, $this->server->dedicatedServer->os); |
|
24
|
|
|
|
|
25
|
|
|
return [ |
|
26
|
|
|
'id' => $this->server->id, |
|
27
|
|
|
'uuid' => $this->server->uuid, |
|
28
|
|
|
'uuid_short' => $this->server->uuid_short, |
|
29
|
|
|
'enabled' => $this->server->enabled, |
|
30
|
|
|
'installed' => $this->server->installed, |
|
31
|
|
|
'blocked' => $this->server->blocked, |
|
32
|
|
|
'name' => $this->server->name, |
|
33
|
|
|
'ds_id' => $this->server->ds_id, |
|
34
|
|
|
'game_id' => $this->server->game_id, |
|
35
|
|
|
'game_mod_id' => $this->server->game_mod_id, |
|
36
|
|
|
'expires' => $this->server->expires, |
|
37
|
|
|
'server_ip' => $this->server->server_ip, |
|
38
|
|
|
'server_port' => $this->server->server_port, |
|
39
|
|
|
'query_port' => $this->server->query_port, |
|
40
|
|
|
'rcon_port' => $this->server->rcon_port, |
|
41
|
|
|
'rcon' => $this->server->rcon, |
|
42
|
|
|
'dir' => $this->server->dir, |
|
43
|
|
|
'su_user' => $this->server->su_user, |
|
44
|
|
|
'cpu_limit' => $this->server->cpu_limit, |
|
45
|
|
|
'ram_limit' => $this->server->ram_limit, |
|
46
|
|
|
'net_limit' => $this->server->net_limit, |
|
47
|
|
|
'start_command' => $this->server->start_command, |
|
48
|
|
|
'stop_command' => $this->server->stop_command, |
|
49
|
|
|
'force_stop_command' => $this->server->force_stop_command, |
|
50
|
|
|
'restart_command' => $this->server->restart_command, |
|
51
|
|
|
'process_active' => $this->server->process_active, |
|
52
|
|
|
'last_process_check' => $this->server->last_process_check, |
|
53
|
|
|
'vars' => $this->server->vars, |
|
54
|
|
|
'created_at' => $this->server->created_at, |
|
55
|
|
|
'updated_at' => $this->server->updated_at, |
|
56
|
|
|
'deleted_at' => $this->server->deleted_at, |
|
57
|
|
|
'settings' => $this->server->settings, |
|
58
|
|
|
'game' => $gameResponse->jsonSerialize(), |
|
59
|
|
|
'game_mod' => $gameModResponse->jsonSerialize(), |
|
60
|
|
|
]; |
|
61
|
|
|
} |
|
62
|
|
|
} |
|
63
|
|
|
|