Skip to content

Commit b7c8cf4

Browse files
Merge pull request #61349 from nextcloud/backport/61308/stable32
[stable32] fix(team-manager): ensure team resources are only retrived for members
2 parents 7d7e88d + 5aca90d commit b7c8cf4

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

lib/private/Teams/TeamManager.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use OCA\Circles\Exceptions\CircleNotFoundException;
1313
use OCA\Circles\Model\Circle;
1414
use OCA\Circles\Model\Member;
15+
use OCA\Circles\Model\Probes\CircleProbe;
1516
use OCP\IURLGenerator;
1617
use OCP\Server;
1718
use OCP\Teams\ITeamManager;
@@ -71,7 +72,10 @@ public function getSharedWith(string $teamId, string $userId): array {
7172
return [];
7273
}
7374

74-
if ($this->getTeam($teamId, $userId) === null) {
75+
$probe = new CircleProbe();
76+
$probe->mustBeMember();
77+
78+
if ($this->getTeam($teamId, $userId, $probe) === null) {
7579
return [];
7680
}
7781

@@ -118,15 +122,15 @@ public function getTeamsForResource(string $providerId, string $resourceId, stri
118122
}, $this->getTeams($provider->getTeamsForResource($resourceId), $userId));
119123
}
120124

121-
private function getTeam(string $teamId, string $userId): ?Circle {
125+
private function getTeam(string $teamId, string $userId, ?CircleProbe $probe = null): ?Circle {
122126
if (!$this->hasTeamSupport()) {
123127
return null;
124128
}
125129

126130
try {
127131
$federatedUser = $this->circlesManager->getFederatedUser($userId, Member::TYPE_USER);
128132
$this->circlesManager->startSession($federatedUser);
129-
return $this->circlesManager->getCircle($teamId);
133+
return $this->circlesManager->getCircle($teamId, $probe);
130134
} catch (CircleNotFoundException) {
131135
return null;
132136
}

psalm.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
<referencedClass name="OCA\Circles\Exceptions\CircleNotFoundException"/>
105105
<referencedClass name="OCA\Circles\Model\Circle"/>
106106
<referencedClass name="OCA\Circles\Model\Member"/>
107+
<referencedClass name="OCA\Circles\Model\Probes\CircleProbe"/>
107108
<referencedClass name="OCA\ContextChat\Public\ContentManager"/>
108109
<referencedClass name="OCA\GroupFolders\Mount\GroupFolderStorage"/>
109110
<referencedClass name="OCA\TwoFactorNextcloudNotification\Controller\APIController"/>

0 commit comments

Comments
 (0)