Completed
Push — siteaccessaware-layer-only ( 14ffb6 )
by André
15:43
created

UserService::moveUserGroup()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 2
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * UserService class.
5
 *
6
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
7
 * @license For full copyright and license information view LICENSE file distributed with this source code.
8
 */
9
namespace eZ\Publish\Core\Repository\SiteAccessAware;
10
11
use eZ\Publish\API\Repository\UserService as UserServiceInterface;
12
use eZ\Publish\API\Repository\Values\User\UserGroupCreateStruct;
13
use eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct;
14
use eZ\Publish\API\Repository\Values\User\UserCreateStruct;
15
use eZ\Publish\API\Repository\Values\User\UserGroup;
16
use eZ\Publish\API\Repository\Values\User\User;
17
use eZ\Publish\API\Repository\Values\User\UserUpdateStruct;
18
use eZ\Publish\Core\Repository\Helper\LanguageResolver;
19
20
/**
21
 * UserService for SiteAccessAware layer.
22
 *
23
 * Currently does nothing but hand over calls to aggregated service.
24
 */
25
class UserService implements UserServiceInterface
26
{
27
    /**
28
     * Aggregated service.
29
     *
30
     * @var \eZ\Publish\API\Repository\UserService
31
     */
32
    protected $service;
33
34
    /**
35
     * Language resolver
36
     *
37
     * @var LanguageResolver
38
     */
39
    protected $languageResolver;
40
41
    /**
42
     * Construct service object from aggregated service.
43
     *
44
     * @param \eZ\Publish\API\Repository\UserService $service
45
     * @param LanguageResolver $languageResolver
46
     */
47
    public function __construct(
48
        UserServiceInterface $service,
49
        LanguageResolver $languageResolver
50
    ) {
51
        $this->service = $service;
52
        $this->languageResolver = $languageResolver;
53
    }
54
55
    public function createUserGroup(UserGroupCreateStruct $userGroupCreateStruct, UserGroup $parentGroup)
56
    {
57
        return $this->service->createUserGroup($userGroupCreateStruct, $parentGroup);
58
    }
59
60
    public function loadUserGroup($id, array $prioritizedLanguages = [])
61
    {
62
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
63
64
        return $this->service->loadUserGroup($id, $prioritizedLanguages);
65
    }
66
67
    public function loadSubUserGroups(UserGroup $userGroup, $offset = 0, $limit = 25, array $prioritizedLanguages = [])
68
    {
69
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
70
71
        return $this->service->loadSubUserGroups($userGroup, $offset, $limit, $prioritizedLanguages);
72
    }
73
74
    public function deleteUserGroup(UserGroup $userGroup)
75
    {
76
        return $this->service->deleteUserGroup($userGroup);
77
    }
78
79
    public function moveUserGroup(UserGroup $userGroup, UserGroup $newParent)
80
    {
81
        return $this->service->moveUserGroup($userGroup, $newParent);
82
    }
83
84
    public function updateUserGroup(UserGroup $userGroup, UserGroupUpdateStruct $userGroupUpdateStruct)
85
    {
86
        return $this->service->updateUserGroup($userGroup, $userGroupUpdateStruct);
87
    }
88
89
    public function createUser(UserCreateStruct $userCreateStruct, array $parentGroups)
90
    {
91
        return $this->service->createUser($userCreateStruct, $parentGroups);
92
    }
93
94
    public function loadUser($userId, array $prioritizedLanguages = [])
95
    {
96
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
97
98
        return $this->service->loadUser($userId, $prioritizedLanguages);
99
    }
100
101
    public function loadAnonymousUser()
102
    {
103
        return $this->service->loadAnonymousUser();
0 ignored issues
show
Deprecated Code introduced by
The method eZ\Publish\API\Repositor...ce::loadAnonymousUser() has been deprecated with message: since 5.3, use loadUser( $anonymousUserId ) instead

This method has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.

Loading history...
104
    }
105
106
    public function loadUserByCredentials($login, $password, array $prioritizedLanguages = [])
107
    {
108
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
109
110
        return $this->service->loadUserByCredentials($login, $password, $prioritizedLanguages);
111
    }
112
113
    public function loadUserByLogin($login, array $prioritizedLanguages = [])
114
    {
115
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
116
117
        return $this->service->loadUserByLogin($login, $prioritizedLanguages);
118
    }
119
120
    public function loadUsersByEmail($email, array $prioritizedLanguages = [])
121
    {
122
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
123
124
        return $this->service->loadUsersByEmail($email, $prioritizedLanguages);
125
    }
126
127
    public function deleteUser(User $user)
128
    {
129
        return $this->service->deleteUser($user);
130
    }
131
132
    public function updateUser(User $user, UserUpdateStruct $userUpdateStruct)
133
    {
134
        return $this->service->updateUser($user, $userUpdateStruct);
135
    }
136
137
    public function assignUserToUserGroup(User $user, UserGroup $userGroup)
138
    {
139
        return $this->service->assignUserToUserGroup($user, $userGroup);
140
    }
141
142
    public function unAssignUserFromUserGroup(User $user, UserGroup $userGroup)
143
    {
144
        return $this->service->unAssignUserFromUserGroup($user, $userGroup);
145
    }
146
147
    public function loadUserGroupsOfUser(User $user, $offset = 0, $limit = 25, array $prioritizedLanguages = [])
148
    {
149
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
150
151
        return $this->service->loadUserGroupsOfUser($user, $offset, $limit, $prioritizedLanguages);
152
    }
153
154
    public function loadUsersOfUserGroup(UserGroup $userGroup, $offset = 0, $limit = 25, array $prioritizedLanguages = [])
155
    {
156
        $prioritizedLanguages = $this->languageResolver->getLanguages($prioritizedLanguages);
157
158
        return $this->service->loadUsersOfUserGroup($userGroup, $offset, $limit, $prioritizedLanguages);
159
    }
160
161
    public function newUserCreateStruct($login, $email, $password, $mainLanguageCode, $contentType = null)
162
    {
163
        return $this->service->newUserCreateStruct($login, $email, $password, $mainLanguageCode, $contentType);
164
    }
165
166
    public function newUserGroupCreateStruct($mainLanguageCode, $contentType = null)
167
    {
168
        return $this->service->newUserGroupCreateStruct($mainLanguageCode, $contentType);
169
    }
170
171
    public function newUserUpdateStruct()
172
    {
173
        return $this->service->newUserUpdateStruct();
174
    }
175
176
    public function newUserGroupUpdateStruct()
177
    {
178
        return $this->service->newUserGroupUpdateStruct();
179
    }
180
}
181