Path: blob/master/src/applications/auth/conduit/PhabricatorAuthQueryPublicKeysConduitAPIMethod.php
12256 views
<?php12final class PhabricatorAuthQueryPublicKeysConduitAPIMethod3extends PhabricatorAuthConduitAPIMethod {45public function getAPIMethodName() {6return 'auth.querypublickeys';7}89public function getMethodDescription() {10return pht('Query public keys.');11}1213protected function defineParamTypes() {14return array(15'ids' => 'optional list<id>',16'phids' => 'optional list<phid>',17'objectPHIDs' => 'optional list<phid>',18'keys' => 'optional list<string>',19) + self::getPagerParamTypes();20}2122protected function defineReturnType() {23return 'result-set';24}2526protected function execute(ConduitAPIRequest $request) {27$viewer = $request->getUser();2829$query = id(new PhabricatorAuthSSHKeyQuery())30->setViewer($viewer)31->withIsActive(true);3233$ids = $request->getValue('ids');34if ($ids !== null) {35$query->withIDs($ids);36}3738$phids = $request->getValue('phids');39if ($phids !== null) {40$query->withPHIDs($phids);41}4243$object_phids = $request->getValue('objectPHIDs');44if ($object_phids !== null) {45$query->withObjectPHIDs($object_phids);46}4748$keys = $request->getValue('keys');49if ($keys !== null) {50$key_objects = array();51foreach ($keys as $key) {52$key_objects[] = PhabricatorAuthSSHPublicKey::newFromRawKey($key);53}5455$query->withKeys($key_objects);56}5758$pager = $this->newPager($request);59$public_keys = $query->executeWithCursorPager($pager);6061$data = array();62foreach ($public_keys as $public_key) {63$data[] = array(64'id' => $public_key->getID(),65'name' => $public_key->getName(),66'phid' => $public_key->getPHID(),67'objectPHID' => $public_key->getObjectPHID(),68'isTrusted' => (bool)$public_key->getIsTrusted(),69'key' => $public_key->getEntireKey(),70);71}7273$results = array(74'data' => $data,75);7677return $this->addPagerResults($results, $pager);78}7980}818283