FindUser::find()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 37

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 23
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 37
ccs 23
cts 23
cp 1
rs 9.328
c 0
b 0
f 0
cc 2
nc 2
nop 1
crap 2
1
<?php
2
3
namespace Omatech\Mage\Core\Repositories\Users;
4
5
use Omatech\Mage\Core\Domains\Users\Contracts\FindUserInterface;
6
use Omatech\Mage\Core\Repositories\Permissions\FindPermission;
7
use Omatech\Mage\Core\Repositories\Roles\FindRole;
8
use Omatech\Mage\Core\Repositories\UserBaseRepository;
9
10
class FindUser extends UserBaseRepository implements FindUserInterface
11
{
12
    /**
13
     * @param array $params
14
     * @return void
15
     */
16 3
    public function find(array $params)
17
    {
18 3
        $user = $this->query()->find($params['id']);
19
20 3
        if (null === $user) {
21 1
            return;
22
        }
23
24
        $permissions = array_map(static function ($permission) {
25 1
            return app('mage.permissions')::find(new FindPermission(), [
26 1
                'id' => $permission['id'],
27
            ]);
28 2
        }, $user->permissions->toArray());
29
30
        $roles = array_map(static function ($role) {
31 1
            return app('mage.roles')::find(new FindRole(), [
32 1
                'id' => $role['id'],
33
            ]);
34 2
        }, $user->roles->toArray());
35
36 2
        $user = app('mage.users')::fromArray([
37 2
            'id'                => $user->id,
38 2
            'name'              => $user->name,
39 2
            'language'          => $user->language,
40 2
            'email'             => $user->email,
41 2
            'email_verified_at' => $user->verified_at,
42 2
            'password'          => $user->password,
43 2
            'remember_token'    => $user->remember_token,
44 2
            'created_at'        => $user->created_at,
45 2
            'updated_at'        => $user->updated_at,
46
        ]);
47
48 2
        $user->assignPermissions($permissions);
49 2
        $user->assignRoles($roles);
50
51 2
        return $user;
52
    }
53
}
54