ModuleOptions   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 92
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 18.18%

Importance

Changes 3
Bugs 2 Features 0
Metric Value
wmc 9
c 3
b 2
f 0
lcom 0
cbo 1
dl 0
loc 92
ccs 4
cts 22
cp 0.1818
rs 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A isThirdPartyGrantTypeEnabled() 0 4 1
A getThirdPartyProviders() 0 4 1
A getUserEntityClassName() 0 4 1
A setUserEntityClassName() 0 8 2
A getBcryptCost() 0 4 1
A setBcryptCost() 0 4 1
A setThirdPartyGrantTypeEnabled() 0 4 1
A setThirdPartyProviders() 0 4 1
1
<?php
2
/**
3
 * @author Stefano Torresi (http://stefanotorresi.it)
4
 * @license See the file LICENSE.txt for copying permission.
5
 * ************************************************
6
 */
7
8
namespace Thorr\OAuth2\Options;
9
10
use InvalidArgumentException;
11
use Thorr\OAuth2\Entity\User;
12
use Zend\Stdlib\AbstractOptions;
13
14
class ModuleOptions extends AbstractOptions
15
{
16
    /**
17
     * @var string
18
     */
19
    protected $userEntityClassName = User::class;
20
21
    /**
22
     * @var int
23
     */
24
    protected $bcryptCost = 10;
25
26
    /**
27
     * @var bool
28
     */
29
    protected $thirdPartyGrantTypeEnabled = false;
30
31
    /**
32
     * @var array
33
     */
34
    protected $thirdPartyProviders = [];
35
36
    /**
37
     * @return string
38
     */
39
    public function getUserEntityClassName()
40
    {
41
        return $this->userEntityClassName;
42
    }
43
44
    /**
45
     * @param string $userClassName
46
     *
47
     * @throws InvalidArgumentException
48
     */
49
    public function setUserEntityClassName($userClassName)
50
    {
51
        if (! class_exists($userClassName)) {
52
            throw new InvalidArgumentException('User class does not exist');
53
        }
54
55
        $this->userEntityClassName = (string) $userClassName;
56
    }
57
58
    /**
59
     * @return int
60
     */
61
    public function getBcryptCost()
62
    {
63
        return $this->bcryptCost;
64
    }
65
66
    /**
67
     * @param int $bcryptCost
68
     */
69
    public function setBcryptCost($bcryptCost)
70
    {
71
        $this->bcryptCost = (int) $bcryptCost;
72
    }
73
74
    /**
75
     * @return bool
76
     */
77 2
    public function isThirdPartyGrantTypeEnabled()
78
    {
79 2
        return $this->thirdPartyGrantTypeEnabled;
80
    }
81
82
    /**
83
     * @param bool $thirdPartyProvidersEnabled
84
     */
85
    public function setThirdPartyGrantTypeEnabled($thirdPartyProvidersEnabled)
86
    {
87
        $this->thirdPartyGrantTypeEnabled = $thirdPartyProvidersEnabled;
88
    }
89
90
    /**
91
     * @return array
92
     */
93 2
    public function getThirdPartyProviders()
94
    {
95 2
        return $this->thirdPartyProviders;
96
    }
97
98
    /**
99
     * @param array $thirdPartyProviders
100
     */
101
    public function setThirdPartyProviders($thirdPartyProviders)
102
    {
103
        $this->thirdPartyProviders = $thirdPartyProviders;
104
    }
105
}
106