'required list', ); } protected function defineReturnType() { return 'nonempty dict'; } protected function defineErrorTypes() { return array( 'ERR-BAD-PHID' => pht('Must pass PHIDs.'), ); } protected function execute(ConduitAPIRequest $request) { $phids = $request->getValue('phids'); if (!$phids) { throw new ConduitException('ERR-BAD-PHID'); } $handles = id(new PhabricatorHandleQuery()) ->setViewer($request->getUser()) ->withPHIDs($phids) ->execute(); $result = array(); foreach ($handles as $phid => $handle) { if ($handle->isComplete()) { $result[$phid] = $this->buildHandleInformationDictionary($handle); } } return $result; } }