RequestTracer::getRequestMetaInfo()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 21
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 21
ccs 13
cts 13
cp 1
rs 9.9
cc 4
nc 4
nop 1
crap 4
1
<?php
2
3
namespace FormEntries\Helpers;
4
5
use Illuminate\Database\Eloquent\Model;
6
use Illuminate\Http\Request;
7
8
class RequestTracer
9
{
10 12
    public static function getRequestMetaInfo(?Request $request = null): array
11
    {
12 12
        if (!$request) {
13 2
            $request = request();
14
        }
15
16 12
        $data = static::getRequestSimpleMetaInfo($request);
17
18
19
        if (
20 12
            ($user = $request->user(
21 12
                config('forms-entries.defaults.auth_guard', config('auth.defaults.guard'))
22 12
            ))
23 12
            && $user instanceof Model) {
24 2
            $data['creator'] = [
25 2
                'id'   => $user->getKey(),
26 2
                'type' => $user->getMorphClass(),
27 2
            ];
28
        }
29
30 12
        return $data;
31
    }
32
33 13
    public static function getRequestSimpleMetaInfo(?Request $request = null): array
34
    {
35 13
        if (!$request) {
36 1
            $request = request();
37
        }
38
39 13
        return [
40 13
            'ip'        => $request->ip(),
41 13
            'ips'       => $request->ips(),
42 13
            'userAgent' => $request->userAgent(),
43 13
        ];
44
    }
45
}
46