Passed
Push — master ( 68bea6...f81a43 )
by Mike
02:28
created

UserFacade::getLoggedUser()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
declare(strict_types=1);
3
4
5
namespace Xervice\User;
6
7
8
use DataProvider\UserAuthDataProvider;
9
use DataProvider\UserCredentialDataProvider;
10
use DataProvider\UserDataProvider;
11
use DataProvider\UserLoginDataProvider;
12
use Xervice\Core\Facade\AbstractFacade;
13
14
/**
15
 * @method \Xervice\User\UserFactory getFactory()
16
 * @method \Xervice\User\UserConfig getConfig()
17
 * @method \Xervice\User\UserClient getClient()
18
 */
19
class UserFacade extends AbstractFacade
20
{
21
    /**
22
     * @param \DataProvider\UserAuthDataProvider $authDataProvider
23
     *
24
     * @return \DataProvider\UserDataProvider
25
     * @throws \Xervice\User\Business\Exception\UserException
26
     */
27
    public function login(UserAuthDataProvider $authDataProvider)
28
    {
29
        return $this->getFactory()->createLoginHandler()->login($authDataProvider);
30
    }
31
32
    public function logout(): void
33
    {
34
        $this->getFactory()->createLoginHandler()->logout();
35
    }
36
37
    /**
38
     * @return \DataProvider\UserDataProvider|null
39
     */
40
    public function getLoggedUser(): ?UserDataProvider
41
    {
42
        return $this->getFactory()->createLoginHandler()->getUser();
43
    }
44
45
    /**
46
     * @param \DataProvider\UserAuthDataProvider $authDataProvider
47
     *
48
     * @return bool
49
     * @throws \Xervice\User\Business\Exception\UserException
50
     */
51 1
    public function auth(UserAuthDataProvider $authDataProvider): bool
52
    {
53 1
        return $this->getFactory()->createAuthProvider()->auth($authDataProvider);
54
    }
55
56
    /**
57
     * @param \DataProvider\UserDataProvider $userDataProvider
58
     *
59
     * @return \DataProvider\UserDataProvider
60
     * @throws \Propel\Runtime\Exception\PropelException
61
     * @throws \Xervice\User\Business\Exception\UserException
62
     */
63 5
    public function createUser(UserDataProvider $userDataProvider): UserDataProvider
64
    {
65 5
        return $this->getFactory()->createUserWriter()->createUser($userDataProvider);
66
    }
67
68
    /**
69
     * @param \DataProvider\UserDataProvider $userDataProvider
70
     *
71
     * @return \DataProvider\UserDataProvider
72
     * @throws \Propel\Runtime\Exception\PropelException
73
     * @throws \Xervice\User\Business\Exception\UserException
74
     */
75 1
    public function updateUser(UserDataProvider $userDataProvider): UserDataProvider
76
    {
77 1
        return $this->getFactory()->createUserWriter()->updateUser($userDataProvider);
78
    }
79
80
    /**
81
     * @param \DataProvider\UserLoginDataProvider $loginDataProvider
82
     *
83
     * @throws \Propel\Runtime\Exception\PropelException
84
     */
85 1
    public function updateLogin(UserLoginDataProvider $loginDataProvider): void
86
    {
87 1
        $this->getFactory()->createLoginWriter()->updateLogin($loginDataProvider);
88 1
    }
89
90
    /**
91
     * @param \DataProvider\UserCredentialDataProvider $credentialDataProvider
92
     *
93
     * @throws \Propel\Runtime\Exception\PropelException
94
     */
95 1
    public function updateCredential(UserCredentialDataProvider $credentialDataProvider): void
96
    {
97 1
        $this->getFactory()->createCredentialWriter()->updateCredential($credentialDataProvider);
98 1
    }
99
100
    /**
101
     * @param int $userId
102
     *
103
     * @return \DataProvider\UserDataProvider
104
     */
105
    public function getUserFromId(int $userId): UserDataProvider
106
    {
107
        return $this->getFactory()->getQueryContainer()->getUserFromId($userId);
108
    }
109
110
    /**
111
     * @param string $email
112
     *
113
     * @return \DataProvider\UserDataProvider
114
     */
115 5
    public function getUserFromEmail(string $email): UserDataProvider
116
    {
117 5
        return $this->getFactory()->getQueryContainer()->getUserFromEmail($email);
118
    }
119
120
    /**
121
     * @param int $userId
122
     * @param string $type
123
     *
124
     * @return \DataProvider\UserLoginDataProvider
125
     */
126
    public function getLoginFromUserByType(int $userId, string $type): UserLoginDataProvider
127
    {
128
        return $this->getFactory()->getQueryContainer()->getUserLoginFromType($userId, $type);
129
    }
130
131
    /**
132
     * @param \DataProvider\UserDataProvider $userDataProvider
133
     *
134
     * @throws \Propel\Runtime\Exception\PropelException
135
     */
136 5
    public function deleteUser(UserDataProvider $userDataProvider): void
137
    {
138 5
        $this->getFactory()->createUserWriter()->deleteUser($userDataProvider);
139
    }
140
}