Skip to content

Commit 98448ac

Browse files
Merge pull request #61851 from nextcloud/backport/61838/stable33
[stable33] perf: Don't fetch full group object in AuthorizedGroupMapper
2 parents 6d7ec72 + 25d40be commit 98448ac

1 file changed

Lines changed: 3 additions & 6 deletions

File tree

lib/private/Settings/AuthorizedGroupMapper.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
use OCP\DB\Exception;
1212
use OCP\DB\QueryBuilder\IQueryBuilder;
1313
use OCP\IDBConnection;
14-
use OCP\IGroup;
1514
use OCP\IGroupManager;
1615
use OCP\IUser;
1716

@@ -31,16 +30,14 @@ public function findAllClassesForUser(IUser $user): array {
3130

3231
/** @var IGroupManager $groupManager */
3332
$groupManager = \OC::$server->get(IGroupManager::class);
34-
$groups = $groupManager->getUserGroups($user);
35-
if (count($groups) === 0) {
33+
$groupIds = $groupManager->getUserGroupIds($user);
34+
if (count($groupIds) === 0) {
3635
return [];
3736
}
3837

3938
$result = $qb->select('class')
4039
->from($this->getTableName(), 'auth')
41-
->where($qb->expr()->in('group_id', array_map(function (IGroup $group) use ($qb) {
42-
return $qb->createNamedParameter($group->getGID());
43-
}, $groups), IQueryBuilder::PARAM_STR))
40+
->where($qb->expr()->in('group_id', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)))
4441
->executeQuery();
4542

4643
$classes = [];

0 commit comments

Comments
 (0)