diff options
author | Julius Knorr <jus@bitgrid.net> | 2024-11-21 09:18:34 +0100 |
---|---|---|
committer | Julius Knorr <jus@bitgrid.net> | 2024-11-21 09:18:34 +0100 |
commit | 36e2e889ab89d1dc644f3e69ddce9bf9f938a827 (patch) | |
tree | e6750c6f79b10b2f9177d6f2903a916e4325b56a | |
parent | 37936bc4049912610a99625e0ef2f7d780eaebc0 (diff) | |
download | nextcloud-server-fix/48993.tar.gz nextcloud-server-fix/48993.zip |
fix: Catch invalid provider ids and rather log as infofix/48993
Signed-off-by: Julius Knorr <jus@bitgrid.net>
-rw-r--r-- | lib/private/Teams/TeamManager.php | 9 | ||||
-rw-r--r-- | lib/public/Teams/ITeamManager.php | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/private/Teams/TeamManager.php b/lib/private/Teams/TeamManager.php index d75b0209c71..d3ef286ae1d 100644 --- a/lib/private/Teams/TeamManager.php +++ b/lib/private/Teams/TeamManager.php @@ -18,6 +18,7 @@ use OCP\Teams\ITeamResourceProvider; use OCP\Teams\Team; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; +use Psr\Log\LoggerInterface; class TeamManager implements ITeamManager { @@ -28,6 +29,7 @@ class TeamManager implements ITeamManager { private Coordinator $bootContext, private IURLGenerator $urlGenerator, private ?CirclesManager $circlesManager, + private LoggerInterface $logger, ) { } @@ -88,7 +90,12 @@ class TeamManager implements ITeamManager { return []; } - $provider = $this->getProvider($providerId); + try { + $provider = $this->getProvider($providerId); + } catch (\RuntimeException $e) { + $this->logger->info($e->getMessage(), ['exception' => $e]); + return []; + } return array_values(array_filter(array_map(function ($teamId) use ($userId) { $team = $this->getTeam($teamId, $userId); if ($team === null) { diff --git a/lib/public/Teams/ITeamManager.php b/lib/public/Teams/ITeamManager.php index 144a141f93e..844e4d00d34 100644 --- a/lib/public/Teams/ITeamManager.php +++ b/lib/public/Teams/ITeamManager.php @@ -6,6 +6,8 @@ namespace OCP\Teams; +use RuntimeException; + /** * @since 29.0.0 */ @@ -21,6 +23,7 @@ interface ITeamManager { /** * Get a specific team resource provider by its id * + * @throws RuntimeException * @since 29.0.0 */ public function getProvider(string $providerId): ITeamResourceProvider; |