Completed
Push — master ( 5bcbf0...e28d31 )
by Pavel
02:54
created

RestController::getFilterable()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php namespace Pz\LaravelDoctrine\Rest;
2
3
use Doctrine\ORM\EntityManager;
4
use Illuminate\Routing\Controller;
5
use League\Fractal\TransformerAbstract;
6
use Pz\Doctrine\Rest\RestRepository;
7
use Pz\LaravelDoctrine\Rest\Action\CreateAction;
8
use Pz\LaravelDoctrine\Rest\Action\DeleteAction;
9
use Pz\LaravelDoctrine\Rest\Action\IndexAction;
10
use Pz\LaravelDoctrine\Rest\Action\ShowAction;
11
use Pz\LaravelDoctrine\Rest\Action\UpdateAction;
12
13
class RestController extends Controller
14
{
15
16
    /**
17
     * @var TransformerAbstract
18
     */
19
    protected $transformer;
20
21
    /**
22
     * @var RestRepository
23
     */
24
    protected $repository;
25
26
    /**
27
     * @param RestRequest $request
28
     *
29
     * @return \Pz\Doctrine\Rest\RestResponse
30
     */
31 2
    public function index(RestRequest $request)
32
    {
33 2
        return (new IndexAction($this->repository(), $this->transformer()))
34 2
            ->setFilterProperty($this->getFilterProperty())
0 ignored issues
show
Bug introduced by
Are you sure the usage of $this->getFilterProperty() targeting Pz\LaravelDoctrine\Rest\...er::getFilterProperty() seems to always return null.

This check looks for function or method calls that always return null and whose return value is used.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
if ($a->getObject()) {

The method getObject() can return nothing but null, so it makes no sense to use the return value.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
35 2
            ->setFilterable($this->getFilterable())
36 2
            ->dispatch($request);
37
    }
38
39
    /**
40
     * @param RestRequest $request
41
     *
42
     * @return \Pz\Doctrine\Rest\RestResponse
43
     */
44 1
    public function create(RestRequest $request)
45
    {
46 1
        return (new CreateAction($this->repository(), $this->transformer()))->dispatch($request);
47
    }
48
49
    /**
50
     * @param RestRequest $request
51
     *
52
     * @return \Pz\Doctrine\Rest\RestResponse
53
     */
54 4
    public function show(RestRequest $request)
55
    {
56 4
        return (new ShowAction($this->repository(), $this->transformer()))->dispatch($request);
57
    }
58
59
    /**
60
     * @param RestRequest $request
61
     *
62
     * @return \Pz\Doctrine\Rest\RestResponse
63
     */
64 1
    public function update(RestRequest $request)
65
    {
66 1
        return (new UpdateAction($this->repository(), $this->transformer()))->dispatch($request);
67
    }
68
69
    /**
70
     * @param RestRequest $request
71
     *
72
     * @return \Pz\Doctrine\Rest\RestResponse
73
     */
74 1
    public function delete(RestRequest $request)
75
    {
76 1
        return (new DeleteAction($this->repository(), $this->transformer()))->dispatch($request);
77
    }
78
79
    /**
80
     * Param that can be filtered if query is string.
81
     *
82
     * @return null|string
83
     */
84 2
    protected function getFilterProperty()
85
    {
86 2
        return null;
87
    }
88
89
    /**
90
     * Get list of filterable entity properties.
91
     *
92
     * @return array
93
     */
94 2
    protected function getFilterable()
95
    {
96 2
        return [];
97
    }
98
99
    /**
100
     * @return TransformerAbstract
101
     */
102 5
    protected function transformer()
103
    {
104 5
        return $this->transformer;
105
    }
106
107
    /**
108
     * @return RestRepository
109
     */
110 5
    protected function repository()
111
    {
112 5
        return $this->repository;
113
    }
114
}
115