acl->check('EmailAccountScope'); } /** * @return string[] * @throws Forbidden * @throws Error */ public function postActionGetFolders(Request $request): array { $data = $request->getParsedBody(); $params = StorageParams::createBuilder() ->setHost($data->host ?? null) ->setPort($data->port ?? null) ->setSecurity($data->security ?? null) ->setUsername($data->username ?? null) ->setPassword($data->password ?? null) ->setId($data->id ?? null) ->setEmailAddress($data->emailAddress ?? null) ->setUserId($data->userId ?? null) ->build(); return $this->getEmailAccountService()->getFolderList($params); } /** * @throws Error * @throws Forbidden */ public function postActionTestConnection(Request $request): bool { $data = $request->getParsedBody(); $params = StorageParams::createBuilder() ->setHost($data->host ?? null) ->setPort($data->port ?? null) ->setSecurity($data->security ?? null) ->setUsername($data->username ?? null) ->setPassword($data->password ?? null) ->setId($data->id ?? null) ->setEmailAddress($data->emailAddress ?? null) ->setUserId($data->userId ?? null) ->build(); $this->getEmailAccountService()->testConnection($params); return true; } private function getEmailAccountService(): Service { /** @var Service */ return $this->injectableFactory->create(Service::class); } }