Passed
Push — master ( 9234be...3143c1 )
by Arthur
20:30
created

MachineController::update()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 2
dl 0
loc 9
ccs 0
cts 6
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Modules\Machine\Http\Controllers;
4
5
use Foundation\Abstracts\Controller\Controller;
6
use Foundation\Responses\ApiResponse;
7
use Illuminate\Http\Request;
8
use Modules\Machine\Contracts\MachineServiceContract;
9
use Modules\Machine\Transformers\MachineTransformer;
10
11
class MachineController extends Controller
12
{
13
    /**
14
     * @var MachineServiceContract
15
     */
16
    protected $service;
17
18
    /**
19
     * MachineController constructor.
20
     *
21
     * @param $service
22
     */
23
    public function __construct(MachineServiceContract $service)
24
    {
25
        $this->service = $service;
26
    }
27
28
    /**
29
     * Display a listing of the resource.
30
     */
31
    public function index()
32
    {
33
        return MachineTransformer::collection($this->service->getByUserId(get_authenticated_user_id()));
34
    }
35
36
    /**
37
     * Store a newly created machine in storage.
38
     */
39
    public function store(Request $request)
40
    {
41
        $machine = $this->service->create($this->injectUserId($request));
42
43
        return MachineTransformer::resource($machine);
44
    }
45
46
    /**
47
     * Update a machine.
48
     *
49
     * @param Request $request
50
     */
51
    public function update(Request $request, $id)
52
    {
53
        $machine = $this->service->find($id);
54
55
        $this->hasAccess($machine);
56
57
        $machine = $this->service->update($id, $request->toArray());
58
59
        return MachineTransformer::resource($machine);
60
    }
61
62
    /**
63
     * Show the specified resource.
64
     */
65
    public function show($id)
66
    {
67
        $machine = $this->service->find($id);
68
69
        $this->hasAccess($machine);
70
71
        return MachineTransformer::resource($machine);
72
    }
73
74
    /**
75
     * Remove the specified resource from storage.
76
     */
77
    public function destroy($id)
78
    {
79
        $machine = $this->service->find($id);
80
81
        $this->hasAccess($machine);
82
83
        $this->service->delete($machine);
84
85
        return ApiResponse::deleted();
86
    }
87
}
88