From a3cec03f3a057dd88d51dbe50fa9ae943e9db4ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Fri, 14 Jun 2024 12:08:10 +0200 Subject: [PATCH] fix: Avoid throwing errors for teams are unavailable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/private/Teams/TeamManager.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/private/Teams/TeamManager.php b/lib/private/Teams/TeamManager.php index 6651d3ce67652..3775d1cb515bf 100644 --- a/lib/private/Teams/TeamManager.php +++ b/lib/private/Teams/TeamManager.php @@ -52,6 +52,10 @@ public function hasTeamSupport(): bool { } public function getProviders(): array { + if (!$this->hasTeamSupport()) { + return []; + } + if ($this->providers !== null) { return $this->providers; } @@ -78,6 +82,10 @@ public function getProvider(string $providerId): ITeamResourceProvider { } public function getSharedWith(string $teamId, string $userId): array { + if (!$this->hasTeamSupport()) { + return []; + } + if ($this->getTeam($teamId, $userId) === null) { return []; } @@ -92,6 +100,10 @@ public function getSharedWith(string $teamId, string $userId): array { } public function getTeamsForResource(string $providerId, string $resourceId, string $userId): array { + if (!$this->hasTeamSupport()) { + return []; + } + $provider = $this->getProvider($providerId); return array_values(array_filter(array_map(function ($teamId) use ($userId) { $team = $this->getTeam($teamId, $userId); @@ -108,6 +120,10 @@ public function getTeamsForResource(string $providerId, string $resourceId, stri } private function getTeam(string $teamId, string $userId): ?Circle { + if (!$this->hasTeamSupport()) { + return null; + } + try { $federatedUser = $this->circlesManager->getFederatedUser($userId, Member::TYPE_USER); $this->circlesManager->startSession($federatedUser);