Conditions | 6 |
Paths | 12 |
Total Lines | 29 |
Code Lines | 17 |
Lines | 0 |
Ratio | 0 % |
Tests | 18 |
CRAP Score | 6 |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
22 | 123 | public function getNames($model) : Collection |
|
23 | { |
||
24 | 123 | $guardName = null; |
|
25 | 98 | $class = null; |
|
26 | |||
27 | if (\is_object($model)) { |
||
28 | 123 | $guardName = $model->guard_name ?? null; |
|
29 | 123 | } |
|
30 | 123 | ||
31 | if ($guardName === null) { |
||
32 | $class = \is_object($model) ? \get_class($model) : $model; |
||
33 | 123 | $guardName = (new \ReflectionClass($class))->getDefaultProperties()['guard_name'] ?? null; |
|
34 | 35 | } |
|
35 | |||
36 | 123 | if ($guardName) { |
|
37 | 123 | return collect($guardName); |
|
38 | 123 | } |
|
39 | 1 | ||
40 | return collect(config('auth.guards')) |
||
41 | 123 | ->map(function ($guard) { |
|
42 | 123 | if (! isset($guard['provider'])) { |
|
43 | 123 | return; |
|
44 | 123 | } |
|
45 | 123 | return config("auth.providers.{$guard['provider']}.model"); |
|
46 | 123 | }) |
|
47 | ->filter(function ($model) use ($class) { |
||
48 | return $class === $model; |
||
49 | }) |
||
50 | ->keys(); |
||
51 | } |
||
67 |