Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
19 / 19
100.00% covered (success)
100.00%
8 / 8
CRAP
100.00% covered (success)
100.00%
1 / 1
User
100.00% covered (success)
100.00%
19 / 19
100.00% covered (success)
100.00%
8 / 8
8
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
 getUniqueKey
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getUserName
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getDisplayName
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getAvatar
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getProviderFQCN
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getRawData
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 __set_state
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Miniframe\SocialLogin\Model;
4
5class User
6{
7    /**
8     * The primary key from the social login service.
9     *
10     * @var string
11     */
12    protected $uniqueKey;
13    /**
14     * The username.
15     *
16     * @var string
17     */
18    protected $userName;
19    /**
20     * The display name.
21     *
22     * @var string
23     */
24    protected $displayName;
25    /**
26     * Avatar URL (can be a gravatar URL).
27     *
28     * @var string
29     */
30    protected $avatar;
31    /**
32     * The fully qualified classname of the login provider.
33     *
34     * @var string
35     */
36    protected $providerFQCN;
37    /**
38     * Raw data.
39     *
40     * @var array
41     */
42    protected $rawData;
43
44    /**
45     * Creates a new User instance
46     *
47     * @param string $uniqueKey    The primary key from the social login service.
48     * @param string $userName     The username.
49     * @param string $displayName  The display name.
50     * @param string $avatar       Avatar URL (can be a gravatar URL).
51     * @param string $providerFQCN The fully qualified classname of the login provider.
52     * @param array  $rawData      Raw data.
53     */
54    public function __construct(
55        string $uniqueKey,
56        string $userName,
57        string $displayName,
58        string $avatar,
59        string $providerFQCN,
60        array $rawData
61    ) {
62        $this->uniqueKey = $uniqueKey;
63        $this->userName = $userName;
64        $this->displayName = $displayName;
65        $this->avatar = $avatar;
66        $this->providerFQCN = $providerFQCN;
67        $this->rawData = $rawData;
68    }
69
70    /**
71     * Returns the primary key from the social login service.
72     *
73     * @return string
74     */
75    public function getUniqueKey(): string
76    {
77        return $this->uniqueKey;
78    }
79
80    /**
81     * Returns the username.
82     *
83     * @return string
84     */
85    public function getUserName(): string
86    {
87        return $this->userName;
88    }
89
90    /**
91     * Returns the display name.
92     *
93     * @return string
94     */
95    public function getDisplayName(): string
96    {
97        return $this->displayName;
98    }
99
100    /**
101     * Returns the avatar URL (can be a gravatar URL).
102     *
103     * @return string
104     */
105    public function getAvatar(): string
106    {
107        return $this->avatar;
108    }
109
110    /**
111     * Returns the fully qualified classname of the login provider.
112     *
113     * @return string
114     */
115    public function getProviderFQCN(): string
116    {
117        return $this->providerFQCN;
118    }
119
120    /**
121     * Returns the raw data.
122     *
123     * @return array
124     */
125    public function getRawData(): array
126    {
127        return $this->rawData;
128    }
129
130    /**
131     * Returns a user object with a specific state (makes this object serializable with var_export)
132     *
133     * @param array $properties The list of properties.
134     *
135     * @return User
136     */
137    public static function __set_state(array $properties): User
138    {
139        return new User(
140            $properties['uniqueKey'],
141            $properties['userName'],
142            $properties['displayName'],
143            $properties['avatar'],
144            $properties['providerFQCN'],
145            $properties['rawData']
146        );
147    }
148}