manager->getEntries($this->userSession->getUser(), $filter); if ($teamId !== null) { /** @var \OC\Teams\TeamManager */ $teamManager = $this->teamManager; $memberIds = $teamManager->getMembersOfTeam($teamId, $this->userSession->getUser()->getUID()); $entries['contacts'] = array_filter( $entries['contacts'], fn (IEntry $entry) => in_array($entry->getProperty('UID'), $memberIds, true) ); } return $entries; } /** * @return JSONResponse|\JsonSerializable * @throws Exception */ #[NoAdminRequired] #[FrontpageRoute(verb: 'POST', url: '/contactsmenu/findOne')] public function findOne(int $shareType, string $shareWith) { $contact = $this->manager->findOne($this->userSession->getUser(), $shareType, $shareWith); if ($contact) { return $contact; } return new JSONResponse([], Http::STATUS_NOT_FOUND); } /** * @return \JsonSerializable[] */ #[NoAdminRequired] #[FrontpageRoute(verb: 'GET', url: '/contactsmenu/teams')] public function getTeams(): array { return $this->teamManager->getTeamsForUser($this->userSession->getUser()->getUID()); } }