Passed
Push — master ( 4ba7a2...33d4e3 )
by Petr
08:15
created

CompositeSources::updateCertData()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 3
dl 0
loc 7
ccs 5
cts 5
cp 1
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace kalanis\kw_auth_sources\Access;
4
5
6
use kalanis\kw_accounts\Interfaces;
7
8
9
/**
10
 * Class CompositeSources
11
 * @package kalanis\kw_auth_sources\Access
12
 */
13
class CompositeSources implements Interfaces\IAuthCert, Interfaces\IProcessAccounts, Interfaces\IProcessClasses, Interfaces\IProcessGroups
14
{
15
    /** @var SourcesAdapters\AAdapter */
16
    protected $adapter = null;
17
18 26
    public function __construct(SourcesAdapters\AAdapter $adapter)
19
    {
20 26
        $this->adapter = $adapter;
21 26
    }
22
23 2
    public function getDataOnly(string $userName): ?Interfaces\IUser
24
    {
25 2
        return $this->adapter->getAuth()->getDataOnly($userName);
26
    }
27
28 2
    public function authenticate(string $userName, array $params = []): ?Interfaces\IUser
29
    {
30 2
        return $this->adapter->getAuth()->authenticate($userName, $params);
31
    }
32
33 2
    public function updateCertData(string $userName, ?string $certKey, ?string $certSalt): bool
34
    {
35 2
        $auth = $this->adapter->getAuth();
36 2
        if ($auth instanceof Interfaces\IAuthCert) {
37 1
            return $auth->updateCertData($userName, $certKey, $certSalt);
38
        }
39 1
        return false;
40
    }
41
42 2
    public function getCertData(string $userName): ?Interfaces\ICert
43
    {
44 2
        $auth = $this->adapter->getAuth();
45 2
        if ($auth instanceof Interfaces\IAuthCert) {
46 1
            return $auth->getCertData($userName);
47
        }
48 1
        return null;
49
    }
50
51 1
    public function createAccount(Interfaces\IUser $user, string $password): bool
52
    {
53 1
        return $this->adapter->getAccounts()->createAccount($user, $password);
54
    }
55
56 1
    public function readAccounts(): array
57
    {
58 1
        return $this->adapter->getAccounts()->readAccounts();
59
    }
60
61 1
    public function updateAccount(Interfaces\IUser $user): bool
62
    {
63 1
        return $this->adapter->getAccounts()->updateAccount($user);
64
    }
65
66 1
    public function updatePassword(string $userName, string $passWord): bool
67
    {
68 1
        return $this->adapter->getAccounts()->updatePassword($userName, $passWord);
69
    }
70
71 1
    public function deleteAccount(string $userName): bool
72
    {
73 1
        return $this->adapter->getAccounts()->deleteAccount($userName);
74
    }
75
76 1
    public function readClasses(): array
77
    {
78 1
        return $this->adapter->getClasses()->readClasses();
79
    }
80
81 1
    public function createGroup(Interfaces\IGroup $group): bool
82
    {
83 1
        return $this->adapter->getGroups()->createGroup($group);
84
    }
85
86 1
    public function getGroupDataOnly(string $groupId): ?Interfaces\IGroup
87
    {
88 1
        return $this->adapter->getGroups()->getGroupDataOnly($groupId);
89
    }
90
91 1
    public function readGroup(): array
92
    {
93 1
        return $this->adapter->getGroups()->readGroup();
94
    }
95
96 1
    public function updateGroup(Interfaces\IGroup $group): bool
97
    {
98 1
        return $this->adapter->getGroups()->updateGroup($group);
99
    }
100
101 1
    public function deleteGroup(string $groupId): bool
102
    {
103 1
        return $this->adapter->getGroups()->deleteGroup($groupId);
104
    }
105
106 2
    public function getAuth(): Interfaces\IAuth
107
    {
108 2
        return $this->adapter->getAuth();
109
    }
110
111 2
    public function getAccounts(): Interfaces\IProcessAccounts
112
    {
113 2
        return $this->adapter->getAccounts();
114
    }
115
116 1
    public function getClasses(): Interfaces\IProcessClasses
117
    {
118 1
        return $this->adapter->getClasses();
119
    }
120
121 1
    public function getGroups(): Interfaces\IProcessGroups
122
    {
123 1
        return $this->adapter->getGroups();
124
    }
125
}
126