MemberTransformer   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 3
dl 0
loc 36
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A transform() 0 28 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Cortex\Auth\Transformers\Adminarea;
6
7
use Cortex\Auth\Models\Member;
8
use Rinvex\Support\Traits\Escaper;
9
use League\Fractal\TransformerAbstract;
10
11
class MemberTransformer extends TransformerAbstract
12
{
13
    use Escaper;
14
15
    /**
16
     * @return array
17
     */
18
    public function transform(Member $member): array
19
    {
20
        $country = $member->country_code ? country($member->country_code) : null;
21
        $language = $member->language_code ? language($member->language_code) : null;
22
23
        return $this->escape([
24
            'id' => (string) $member->getRouteKey(),
25
            'is_active' => (bool) $member->is_active,
26
            'given_name' => (string) $member->given_name,
27
            'family_name' => (string) $member->family_name,
28
            'username' => (string) $member->username,
29
            'email' => (string) $member->email,
30
            'email_verified_at' => (string) $member->email_verified_at,
31
            'phone' => (string) $member->phone,
32
            'phone_verified_at' => (string) $member->phone_verified_at,
33
            'country_code' => (string) optional($country)->getName(),
34
            'country_emoji' => (string) optional($country)->getEmoji(),
35
            'language_code' => (string) optional($language)->getName(),
36
            'title' => (string) $member->title,
37
            'organization' => (string) $member->organization,
38
            'birthday' => (string) $member->birthday,
39
            'gender' => (string) $member->gender,
40
            'social' => (array) $member->social,
41
            'last_activity' => (string) $member->last_activity,
42
            'created_at' => (string) $member->created_at,
43
            'updated_at' => (string) $member->updated_at,
44
        ]);
45
    }
46
}
47