Browse Source

fix(IGroupManager): Use correct return type for search method

Signed-off-by: provokateurin <kate@provokateurin.de>
pull/55463/head
provokateurin 1 week ago
parent
commit
51a493cbe7
Failed to extract signature
  1. 8
      apps/provisioning_api/lib/Controller/GroupsController.php
  2. 2
      build/psalm-baseline.xml
  3. 6
      lib/private/Group/Manager.php
  4. 2
      lib/public/IGroupManager.php

8
apps/provisioning_api/lib/Controller/GroupsController.php

@ -78,10 +78,10 @@ class GroupsController extends AUserDataOCSController {
#[NoAdminRequired]
public function getGroups(string $search = '', ?int $limit = null, int $offset = 0): DataResponse {
$groups = $this->groupManager->search($search, $limit, $offset);
$groups = array_values(array_map(function ($group) {
$groups = array_map(function ($group) {
/** @var IGroup $group */
return $group->getGID();
}, $groups));
}, $groups);
return new DataResponse(['groups' => $groups]);
}
@ -101,7 +101,7 @@ class GroupsController extends AUserDataOCSController {
#[AuthorizedAdminSetting(settings: Users::class)]
public function getGroupsDetails(string $search = '', ?int $limit = null, int $offset = 0): DataResponse {
$groups = $this->groupManager->search($search, $limit, $offset);
$groups = array_values(array_map(function ($group) {
$groups = array_map(function ($group) {
/** @var IGroup $group */
return [
'id' => $group->getGID(),
@ -111,7 +111,7 @@ class GroupsController extends AUserDataOCSController {
'canAdd' => $group->canAddUser(),
'canRemove' => $group->canRemoveUser(),
];
}, $groups));
}, $groups);
return new DataResponse(['groups' => $groups]);
}

2
build/psalm-baseline.xml

@ -3701,8 +3701,6 @@
<file src="lib/private/Group/Manager.php">
<LessSpecificReturnStatement>
<code><![CDATA[$groups]]></code>
<code><![CDATA[array_values($groups)]]></code>
<code><![CDATA[array_values($groups)]]></code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType>
<code><![CDATA[\OC\Group\Group[]]]></code>

6
lib/private/Group/Manager.php

@ -264,12 +264,6 @@ class Manager extends PublicEmitter implements IGroupManager {
}
}
/**
* @param string $search
* @param ?int $limit
* @param ?int $offset
* @return \OC\Group\Group[]
*/
public function search(string $search, ?int $limit = null, ?int $offset = 0) {
$groups = [];
foreach ($this->backends as $backend) {

2
lib/public/IGroupManager.php

@ -75,7 +75,7 @@ interface IGroupManager {
* @param string $search
* @param ?int $limit
* @param ?int $offset
* @return \OCP\IGroup[]
* @return list<IGroup>
* @since 8.0.0
*/
public function search(string $search, ?int $limit = null, ?int $offset = 0);

Loading…
Cancel
Save