diff --git a/lib/private/Teams/TeamManager.php b/lib/private/Teams/TeamManager.php
index 88821152d6682..38f3e26abeed5 100644
--- a/lib/private/Teams/TeamManager.php
+++ b/lib/private/Teams/TeamManager.php
@@ -12,6 +12,7 @@
use OCA\Circles\Exceptions\CircleNotFoundException;
use OCA\Circles\Model\Circle;
use OCA\Circles\Model\Member;
+use OCA\Circles\Model\Probes\CircleProbe;
use OCP\IURLGenerator;
use OCP\Server;
use OCP\Teams\ITeamManager;
@@ -71,7 +72,10 @@ public function getSharedWith(string $teamId, string $userId): array {
return [];
}
- if ($this->getTeam($teamId, $userId) === null) {
+ $probe = new CircleProbe();
+ $probe->mustBeMember();
+
+ if ($this->getTeam($teamId, $userId, $probe) === null) {
return [];
}
@@ -118,7 +122,7 @@ public function getTeamsForResource(string $providerId, string $resourceId, stri
}, $this->getTeams($provider->getTeamsForResource($resourceId), $userId));
}
- private function getTeam(string $teamId, string $userId): ?Circle {
+ private function getTeam(string $teamId, string $userId, ?CircleProbe $probe = null): ?Circle {
if (!$this->hasTeamSupport()) {
return null;
}
@@ -126,7 +130,7 @@ private function getTeam(string $teamId, string $userId): ?Circle {
try {
$federatedUser = $this->circlesManager->getFederatedUser($userId, Member::TYPE_USER);
$this->circlesManager->startSession($federatedUser);
- return $this->circlesManager->getCircle($teamId);
+ return $this->circlesManager->getCircle($teamId, $probe);
} catch (CircleNotFoundException) {
return null;
}
diff --git a/psalm.xml b/psalm.xml
index b5e6fd45d1beb..21e690d655afd 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -104,6 +104,7 @@
+