Test Failed
Push — develop ( f4fb9d...b64f53 )
by Nikita
06:04 queued 11s
created

ServersTasksController   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 6
eloc 17
c 2
b 0
f 0
dl 0
loc 53
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
    public function getList(DedicatedServer $dedicatedServer)
20
    {
21
        return ServerTask::whereIn("server_id", function ($query) use ($dedicatedServer) {
22
            $query->select('id')
23
                ->from('servers')
24
                ->where('ds_id', $dedicatedServer->id);
25
        })->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
    public function update(ServerTaskUpdateRequest $request, ServerTask $serverTask)
43
    {
44
        $serverTask->counter++;
45
46
        return $serverTask->update($request->all())
47
            ? response()->json(['message' => 'success'], Response::HTTP_OK)
48
            : 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
    public function fail(ServerTaskFailRequest $request, ServerTask $serverTask)
57
    {
58
        $serverTaskFail = new ServerTaskFail();
59
60
        $serverTaskFail->server_task_id = $serverTask->id;
61
        $serverTaskFail->output = $request->get('output');
62
63
        return $serverTaskFail->save()
64
            ? response()->json(['message' => 'success'], Response::HTTP_OK)
65
            : response()->json(['message' => 'fail'], Response::HTTP_INTERNAL_SERVER_ERROR);
66
    }
67
}