'optional list', 'phids' => 'optional list', 'callsigns' => 'optional list', 'vcsTypes' => 'optional list', 'remoteURIs' => 'optional list', 'uuids' => 'optional list', ); } protected function defineReturnType() { return 'list'; } protected function execute(ConduitAPIRequest $request) { $query = $this->newQueryForRequest($request); $ids = $request->getValue('ids', array()); if ($ids) { $query->withIDs($ids); } $phids = $request->getValue('phids', array()); if ($phids) { $query->withPHIDs($phids); } $callsigns = $request->getValue('callsigns', array()); if ($callsigns) { $query->withCallsigns($callsigns); } $vcs_types = $request->getValue('vcsTypes', array()); if ($vcs_types) { $query->withTypes($vcs_types); } $remote_uris = $request->getValue('remoteURIs', array()); if ($remote_uris) { $query->withRemoteURIs($remote_uris); } $uuids = $request->getValue('uuids', array()); if ($uuids) { $query->withUUIDs($uuids); } $pager = $this->newPager($request); $repositories = $query->executeWithCursorPager($pager); $results = array(); foreach ($repositories as $repository) { $results[] = $repository->toDictionary(); } return $results; } }