Controller::__invoke()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 12
ccs 0
cts 8
cp 0
rs 10
cc 2
nc 2
nop 1
crap 6
1
<?php
2
3
namespace NovaIprosoftwareApi\Http\Controllers;
4
5
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
6
use Illuminate\Foundation\Bus\DispatchesJobs;
7
use Illuminate\Foundation\Validation\ValidatesRequests;
8
use Illuminate\Http\Request;
9
use Illuminate\Routing\Controller as BaseController;
10
use Illuminate\Support\Facades\Response;
11
12
abstract class Controller extends BaseController
13
{
14
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
15
16
    abstract protected function getList(Request $request): \LaravelIproSoftwareApi\IproApiResponse;
17
18
    public function __invoke(Request $request)
19
    {
20
        try {
21
            $data = json_decode((string)$this->getList($request)->getBody(), true);
22
        } catch (\IproSoftwareApi\Exceptions\IproSoftwareApiAccessTokenException $e) {
23
            return Response::json([
24
                'response' => (array) $e->getResponse(),
25
            ], 500);
26
        }
27
28
        return Response::json([
29
            'data' => $data,
30
        ]);
31
    }
32
}
33