Path: blob/master/src/applications/macro/conduit/MacroQueryConduitAPIMethod.php
13441 views
<?php12final class MacroQueryConduitAPIMethod extends MacroConduitAPIMethod {34public function getAPIMethodName() {5return 'macro.query';6}78public function getMethodDescription() {9return pht('Retrieve image macro information.');10}1112protected function defineParamTypes() {13return array(14'authorPHIDs' => 'optional list<phid>',15'phids' => 'optional list<phid>',16'ids' => 'optional list<id>',17'names' => 'optional list<string>',18'nameLike' => 'optional string',19);20}2122protected function defineReturnType() {23return 'list<dict>';24}2526protected function execute(ConduitAPIRequest $request) {27$query = id(new PhabricatorMacroQuery())28->setViewer($request->getUser())29->needFiles(true);3031$author_phids = $request->getValue('authorPHIDs');32$phids = $request->getValue('phids');33$ids = $request->getValue('ids');34$name_like = $request->getValue('nameLike');35$names = $request->getValue('names');3637if ($author_phids) {38$query->withAuthorPHIDs($author_phids);39}4041if ($phids) {42$query->withPHIDs($phids);43}4445if ($ids) {46$query->withIDs($ids);47}4849if ($name_like) {50$query->withNameLike($name_like);51}5253if ($names) {54$query->withNames($names);55}5657$macros = $query->execute();5859if (!$macros) {60return array();61}6263$results = array();64foreach ($macros as $macro) {65$file = $macro->getFile();66$results[$macro->getName()] = array(67'uri' => $file->getBestURI(),68'phid' => $macro->getPHID(),69'authorPHID' => $file->getAuthorPHID(),70'dateCreated' => $file->getDateCreated(),71'filePHID' => $file->getPHID(),72);73}7475return $results;76}7778}798081