Skip to content

Commit e08a5d4

Browse files
J9remmrflos
authored andcommitted
fix(api/users): retrieve the output format before User refactor
1 parent d15d172 commit e08a5d4

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

includes/controllers/ApiController.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,20 @@ public function getAllUsers($userFields = ['name', 'email', 'signuptime'])
220220
{
221221
$this->denyAccessUnlessAdmin();
222222

223-
return new ApiResponse($this->getService(UserManager::class)->getAll($userFields));
223+
$users = $this->getService(UserManager::class)->getAll($userFields);
224+
225+
// UserManager::getAll gives array of User but user does not have jsonSerialize
226+
// so extract only what is needed from each User
227+
$users = array_map(function ($user) use ($userFields) {
228+
if (!is_array($user)) {
229+
$user = $user->getArrayCopy();
230+
}
231+
return array_filter($user, function ($k) use ($userFields) {
232+
return in_array($k, $userFields);
233+
}, ARRAY_FILTER_USE_KEY);
234+
}, $users);
235+
236+
return new ApiResponse($users);
224237
}
225238

226239
/**

0 commit comments

Comments
 (0)