UserResolver::resolve()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 19
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 4.432

Importance

Changes 4
Bugs 1 Features 0
Metric Value
cc 4
eloc 10
c 4
b 1
f 0
nc 4
nop 0
dl 0
loc 19
ccs 7
cts 10
cp 0.7
crap 4.432
rs 9.9332
1
<?php
2
3
namespace OwenIt\Auditing\Resolvers;
4
5
use Illuminate\Support\Facades\Auth;
6
use Illuminate\Support\Facades\Config;
7
use OwenIt\Auditing\Contracts\Auditable;
8
use OwenIt\Auditing\Contracts\UserResolver as Resolver;
9
10
class UserResolver implements Resolver
11
{
12
    /**
13
     * @return \Illuminate\Contracts\Auth\Authenticatable|null
14 15
     */
15
    public static function resolve()
16 15
    {
17 15
        $guards = Config::get('audit.user.guards', [
18 15
            Config::get('auth.defaults.guard')
19
        ]);
20 15
21
        foreach ($guards as $guard) {
22 15
            try {
23
                $authenticated = Auth::guard($guard)->check();
24
            } catch (\Exception $exception) {
25
                continue;
26
            }
27 15
28
            if (true === $authenticated) {
29
                return Auth::guard($guard)->user();
30
            }
31
        }
32 15
33
        return null;
34
    }
35
}
36