Passed
Push — master ( d5fac0...e5b08c )
by Arthur
14:05
created

MachineController::show()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 7
ccs 4
cts 4
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1
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 14
    public function __construct(MachineServiceContract $service)
24
    {
25 14
        $this->service = $service;
26 14
    }
27
28
    /**
29
     * Display a listing of the resource.
30
     */
31 5
    public function index()
32
    {
33 5
        return MachineTransformer::collection($this->service->getByUserId(get_authenticated_user_id()));
34
    }
35
36
    /**
37
     * Store a newly created machine in storage.
38
     */
39 1
    public function store(Request $request)
40
    {
41 1
        $machine = $this->service->create($this->injectUserId($request));
42
43 1
        return MachineTransformer::resource($machine);
44
    }
45
46
    /**
47
     * Update a machine.
48
     *
49
     * @param Request $request
50
     */
51 1
    public function update(Request $request, $id)
52
    {
53 1
        $machine = $this->service->find($id);
54
55 1
        $this->isOwner($machine);
56
57 1
        $machine = $this->service->update($id, $request->toArray());
58
59 1
        return MachineTransformer::resource($machine);
60
    }
61
62
    /**
63
     * Show the specified resource.
64
     */
65 5
    public function show($id)
66
    {
67 5
        $machine = $this->service->find($id);
68
69 5
        $this->isOwner($machine);
70
71 4
        return MachineTransformer::resource($machine);
72
    }
73
74
    /**
75
     * Remove the specified resource from storage.
76
     */
77 2
    public function destroy($id)
78
    {
79 2
        $machine = $this->service->find($id);
80
81 2
        $this->isOwner($machine);
82
83 1
        $this->service->delete($machine);
84
85 1
        return ApiResponse::deleted();
86
    }
87
}
88