Completed
Push — master ( 12434c...4bb193 )
by Mahmoud
03:16
created

UserTransformer::includeRoles()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace App\Containers\User\UI\API\Transformers;
4
5
use App\Containers\Authorization\UI\API\Transformers\RoleTransformer;
6
use App\Containers\User\Models\User;
7
use App\Port\Transformer\Abstracts\Transformer;
8
9
/**
10
 * Class UserTransformer.
11
 *
12
 * @author Mahmoud Zalt <[email protected]>
13
 */
14
class UserTransformer extends Transformer
15
{
16
17
    protected $defaultIncludes = [
18
        'roles',
19
    ];
20
21
    /**
22
     * @param \App\Containers\User\Models\User $user
23
     *
24
     * @return array
25
     */
26
    public function transform(User $user)
27
    {
28
        return [
29
            'id'                   => (int)$user->getHashedKey(),
30
            'name'                 => $user->name,
31
            'email'                => $user->email,
32
            'confirmed'            => $user->confirmed,
33
            'nickname'             => $user->nickname,
34
            'gender'               => $user->gender,
35
            'birth'                => $user->birth,
36
            'visitor_id'           => $user->visitor_id,
37
            'social_auth_provider' => $user->social_provider,
38
            'social_id'            => $user->social_id,
39
            'social_avatar'        => [
40
                'avatar'   => $user->social_avatar,
41
                'original' => $user->social_avatar_original,
42
            ],
43
            'created_at'           => $user->created_at,
44
            'updated_at'           => $user->updated_at,
45
            'token'                => $user->token,
46
        ];
47
    }
48
49
    public function includeRoles(User $user)
50
    {
51
        return $this->collection($user->roles, new RoleTransformer());
52
    }
53
}
54