diff options
-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; |