aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulius Knorr <jus@bitgrid.net>2024-11-21 09:18:34 +0100
committerJulius Knorr <jus@bitgrid.net>2024-11-21 09:18:34 +0100
commit36e2e889ab89d1dc644f3e69ddce9bf9f938a827 (patch)
treee6750c6f79b10b2f9177d6f2903a916e4325b56a
parent37936bc4049912610a99625e0ef2f7d780eaebc0 (diff)
downloadnextcloud-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.php9
-rw-r--r--lib/public/Teams/ITeamManager.php3
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;