|
|
|
@ -7,6 +7,7 @@ |
|
|
|
|
|
|
|
namespace OC\Teams; |
|
|
|
|
|
|
|
|
|
|
|
use OC\AppFramework\Bootstrap\Coordinator; |
|
|
|
use OCA\Circles\CirclesManager; |
|
|
|
use OCA\Circles\Exceptions\CircleNotFoundException; |
|
|
|
@ -19,6 +20,8 @@ use OCP\Teams\ITeamResourceProvider; |
|
|
|
use OCP\Teams\Team; |
|
|
|
use Psr\Container\ContainerExceptionInterface; |
|
|
|
use Psr\Container\NotFoundExceptionInterface; |
|
|
|
use Psr\Log\LoggerInterface; |
|
|
|
|
|
|
|
|
|
|
|
class TeamManager implements ITeamManager { |
|
|
|
|
|
|
|
@ -29,6 +32,7 @@ class TeamManager implements ITeamManager { |
|
|
|
private Coordinator $bootContext, |
|
|
|
private IURLGenerator $urlGenerator, |
|
|
|
private ?CirclesManager $circlesManager, |
|
|
|
private LoggerInterface $logger, |
|
|
|
) { |
|
|
|
} |
|
|
|
|
|
|
|
@ -50,8 +54,10 @@ class TeamManager implements ITeamManager { |
|
|
|
try { |
|
|
|
/** @var ITeamResourceProvider $provider */ |
|
|
|
$provider = Server::get($providerRegistration->getService()); |
|
|
|
$this->logger->info('Got team resource provider (id.name): ' . $provider->getId() . '.' .$provider->getName()); |
|
|
|
$this->providers[$provider->getId()] = $provider; |
|
|
|
} catch (NotFoundExceptionInterface|ContainerExceptionInterface $e) { |
|
|
|
$this->logger->warning('Could not get team resource provider: ' . $e->getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
return $this->providers; |
|
|
|
@ -78,7 +84,9 @@ class TeamManager implements ITeamManager { |
|
|
|
$resources = []; |
|
|
|
|
|
|
|
foreach ($this->getProviders() as $provider) { |
|
|
|
array_push($resources, ...$provider->getSharedWith($teamId)); |
|
|
|
foreach ($provider->getSharedWith($teamId) as $resource) { |
|
|
|
$resources[$resource->getId()] = $resource; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return array_values($resources); |
|
|
|
|