|
|
|
@ -36,6 +36,10 @@ class TeamManager implements ITeamManager { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getProviders(): array { |
|
|
|
|
if (!$this->hasTeamSupport()) { |
|
|
|
|
return []; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($this->providers !== null) { |
|
|
|
|
return $this->providers; |
|
|
|
|
} |
|
|
|
@ -62,6 +66,10 @@ class TeamManager implements ITeamManager { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getSharedWith(string $teamId, string $userId): array { |
|
|
|
|
if (!$this->hasTeamSupport()) { |
|
|
|
|
return []; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($this->getTeam($teamId, $userId) === null) { |
|
|
|
|
return []; |
|
|
|
|
} |
|
|
|
@ -76,6 +84,10 @@ class TeamManager implements ITeamManager { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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 @@ class TeamManager implements ITeamManager { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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); |
|
|
|
|