Controller   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 10
c 1
b 0
f 0
dl 0
loc 18
ccs 0
cts 9
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 12 2
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