From d6d84e51efca6416fded78efc483fae4ffc53ed6 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 4fe0e60b7d12d..3d5f9f6d2a2b2 100644 --- a/lib/private/Teams/TeamManager.php +++ b/lib/private/Teams/TeamManager.php @@ -36,6 +36,10 @@ public function hasTeamSupport(): bool { } public function getProviders(): array { + if (!$this->hasTeamSupport()) { + return []; + } + if ($this->providers !== null) { return $this->providers; } @@ -62,6 +66,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 []; } @@ -76,6 +84,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); @@ -92,6 +104,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);