Completed
Push — master ( 080c39...3f9cb8 )
by CodexShaper
03:18
created

Client::setSkipsAuthorization()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 3
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace CodexShaper\OAuth2\Server\Models;
4
5
use Illuminate\Database\Eloquent\Model;
6
7
class Client extends Model
8
{
9
    /**
10
     * The database table used by the model.
11
     *
12
     * @var string
13
     */
14
    protected $table = 'oauth_clients';
15
16
    /**
17
     * The guarded attributes on the model.
18
     *
19
     * @var array
20
     */
21
    protected $guarded = [];
22
23
    /**
24
     * The attributes excluded from the model's JSON form.
25
     *
26
     * @var array
27
     */
28
    protected $hidden = [
29
        'secret',
30
    ];
31
32
    /**
33
     * The attributes that should be cast to native types.
34
     *
35
     * @var array
36
     */
37
    protected $casts = [
38
        'scopes'                    => 'array',
39
        'personal_access_client'    => 'bool',
40
        'password_client'           => 'bool',
41
        'authorization_code_client' => 'bool',
42
        'revoked'                   => 'bool',
43
    ];
44
45
    /**
46
     * Enable skip authorization.
47
     *
48
     * @var string
49
     */
50
    protected static $skipsAuthorization = false;
51
52
    /**
53
     * Get the user that the client belongs to.
54
     *
55
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
56
     */
57
    public function user()
58
    {
59
        return $this->belongsTo(User::class);
60
    }
61
62
    /**
63
     * Get all of the authentication codes for the client.
64
     *
65
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
66
     */
67
    public function authCodes()
68
    {
69
        return $this->hasMany(AuthCode::class, 'client_id');
70
    }
71
72
    /**
73
     * Get all of the tokens that belong to the client.
74
     *
75
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
76
     */
77
    public function tokens()
78
    {
79
        return $this->hasMany(Token::class, 'client_id');
80
    }
81
82
    /**
83
     * Determine if the client should skip the authorization prompt.
84
     *
85
     * @return bool
86
     */
87
    public function isSkipsAuthorization()
88
    {
89
        return static::$skipsAuthorization;
90
    }
91
92
    /**
93
     * Enable or disable skip authorization.
94
     *
95
     * @return void
96
     */
97
    public static function setSkipsAuthorization($skipsAuthorization = false)
98
    {
99
        static::$skipsAuthorization = (bool) $skipsAuthorization;
0 ignored issues
show
Documentation Bug introduced by
The property $skipsAuthorization was declared of type string, but (bool) $skipsAuthorization is of type boolean. Maybe add a type cast?

This check looks for assignments to scalar types that may be of the wrong type.

To ensure the code behaves as expected, it may be a good idea to add an explicit type cast.

$answer = 42;

$correct = false;

$correct = (bool) $answer;
Loading history...
100
    }
101
102
    /**
103
     * Determine if the client is a confidential client.
104
     *
105
     * @return bool
106
     */
107
    public function isConfidential()
108
    {
109
        return !empty($this->secret);
110
    }
111
}
112