ServersTasksController   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Test Coverage

Coverage 89.47%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 6
eloc 17
c 2
b 0
f 0
dl 0
loc 53
ccs 17
cts 19
cp 0.8947
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getList() 0 7 1
A fail() 0 10 2
A update() 0 7 2
A get() 0 3 1
1
<?php
2
3
namespace Gameap\Http\Controllers\GdaemonAPI;
4
5
use Gameap\Http\Requests\GdaemonAPI\ServerTaskFailRequest;
6
use Gameap\Http\Requests\GdaemonAPI\ServerTaskUpdateRequest;
7
use Gameap\Models\DedicatedServer;
8
use Gameap\Models\ServerTask;
9
use Gameap\Models\ServerTaskFail;
10
use Illuminate\Http\JsonResponse;
11
use Illuminate\Http\Response;
12
13
class ServersTasksController extends Controller
14
{
15
    /**
16
     * @param DedicatedServer $dedicatedServer
17
     * @return mixed
18
     */
19 3
    public function getList(DedicatedServer $dedicatedServer)
20
    {
21
        return ServerTask::whereIn('server_id', function ($query) use ($dedicatedServer): void {
22 3
            $query->select('id')
23 3
                ->from('servers')
24 3
                ->where('ds_id', $dedicatedServer->id);
25 3
        })->get();
26
    }
27
28
    /**
29
     * @param int $serverTaskId
30
     * @return ServerTask
31
     */
32
    public function get(int $serverTaskId)
33
    {
34
        return ServerTask::find($serverTaskId);
35
    }
36
37
    /**
38
     * @param ServerTaskUpdateRequest $request
39
     * @param ServerTask $serverTask
40
     * @return JsonResponse
41
     */
42 3
    public function update(ServerTaskUpdateRequest $request, ServerTask $serverTask)
43
    {
44 3
        $serverTask->counter++;
45
46 3
        return $serverTask->update($request->all())
47 3
            ? response()->json(['message' => 'success'], Response::HTTP_OK)
48 3
            : response()->json(['message' => 'fail'], Response::HTTP_INTERNAL_SERVER_ERROR);
49
    }
50
51
    /**
52
     * @param ServerTaskFailRequest $request
53
     * @param ServerTask $serverTask
54
     * @return JsonResponse
55
     */
56 3
    public function fail(ServerTaskFailRequest $request, ServerTask $serverTask)
57
    {
58 3
        $serverTaskFail = new ServerTaskFail();
59
60 3
        $serverTaskFail->server_task_id = $serverTask->id;
61 3
        $serverTaskFail->output         = $request->get('output');
62
63 3
        return $serverTaskFail->save()
64 3
            ? response()->json(['message' => 'success'], Response::HTTP_OK)
65 3
            : response()->json(['message' => 'fail'], Response::HTTP_INTERNAL_SERVER_ERROR);
66
    }
67
}
68