l10n->t('Talk conversations'); } /** * @inheritDoc */ #[\Override] public function getIconSvg(): string { return ''; } /** * @inheritDoc */ #[\Override] public function getSharedWith(string $teamId): array { $rooms = $this->manager->getRoomsForActor(Attendee::ACTOR_CIRCLES, $teamId); return array_map(function (Room $room) { return new TeamResource( $this, $room->getToken(), $room->getName(), $this->urlGenerator->linkToRouteAbsolute('spreed.Page.showCall', ['token' => $room->getToken()]), iconURL: $this->avatarService->getAvatarUrl($room), ); }, $rooms); } /** * @inheritDoc */ #[\Override] public function isSharedWithTeam(string $teamId, string $resourceId): bool { try { $this->manager->getRoomByActor($resourceId, Attendee::ACTOR_CIRCLES, $teamId); return true; } catch (RoomNotFoundException) { } return false; } /** * @inheritDoc */ #[\Override] public function getTeamsForResource(string $resourceId): array { try { $room = $this->manager->getRoomByToken($resourceId); $participants = $this->participantService->getParticipantsByActorType($room, Attendee::ACTOR_CIRCLES); return array_map(function (Participant $participant) { return $participant->getAttendee()->getActorId(); }, $participants); } catch (RoomNotFoundException) { } return []; } }