Passed
Push — develop ( 9f4e11...12be49 )
by Nikita
07:32
created

ServersController::stop()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Gameap\Http\Controllers\API;
4
5
use Gameap\Http\Controllers\AuthController;
6
use Gameap\Repositories\ServerRepository;
7
use Gameap\Repositories\GdaemonTaskRepository;
8
use Gameap\Models\Server;
9
use Gameap\Services\ServerService;
10
11
class ServersController extends AuthController
12
{
13
    /**
14
     * The ServerRepository instance.
15
     *
16
     * @var \Gameap\Repositories\ServerRepository
17
     */
18
    public $repository;
19
20
    /**
21
     * The GdaemonTaskRepository instance.
22
     *
23
     * @var GdaemonTaskRepository
24
     */
25
    public $gdaemonTaskRepository;
26
27
    /**
28
     * @var \Gameap\Services\ServerService
29
     */
30
    public $serverService;
31
32
    /**
33
     * ServersController constructor.
34
     * @param ServerRepository $repository
35
     */
36
    public function __construct(
37
        ServerRepository $repository,
38
        GdaemonTaskRepository $gdaemonTaskRepository,
39
        ServerService $serverService
40
    ) {
41
        parent::__construct();
42
43
        $this->repository = $repository;
44
        $this->gdaemonTaskRepository = $gdaemonTaskRepository;
45
        $this->serverService = $serverService;
46
    }
47
48
    /**
49
     * @param Server $server
50
     *
51
     * @return array
52
     */
53
    public function start(Server $server)
54
    {
55
        return [
56
            'gdaemonTaskId' => $this->gdaemonTaskRepository->addServerStart($server)
57
        ];
58
    }
59
60
    /**
61
     * @param Server $server
62
     *
63
     * @return array
64
     */
65
    public function stop(Server $server)
66
    {
67
        return [
68
            'gdaemonTaskId' => $this->gdaemonTaskRepository->addServerStop($server)
69
        ];
70
    }
71
72
    /**
73
     * @param Server $server
74
     * @return array
75
     */
76
    public function restart(Server $server)
77
    {
78
        return [
79
            'gdaemonTaskId' => $this->gdaemonTaskRepository->addServerRestart($server)
80
        ];
81
    }
82
83
    /**
84
     * @param Server $server
85
     * @return array
86
     */
87
    public function update(Server $server)
88
    {
89
        return [
90
            'gdaemonTaskId' => $this->gdaemonTaskRepository->addServerUpdate($server)
91
        ];
92
    }
93
94
    /**
95
     * Get server status
96
     * @param Server $server
97
     * @return array
98
     */
99
    public function getStatus(Server $server)
100
    {
101
        return [
102
            'processActive' => $server->processActive()
103
        ];
104
    }
105
106
    /**
107
     * @param Server $server
108
     * @return array
109
     */
110
    public function query(Server $server)
111
    {
112
        $query = $this->serverService->query($server);
113
114
        return $query;
115
    }
116
}