[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class HarbormasterQueryBuildablesConduitAPIMethod 4 extends HarbormasterConduitAPIMethod { 5 6 public function getAPIMethodName() { 7 return 'harbormaster.querybuildables'; 8 } 9 10 public function getMethodDescription() { 11 return pht('Query Harbormaster buildables.'); 12 } 13 14 public function defineParamTypes() { 15 return array( 16 'ids' => 'optional list<id>', 17 'phids' => 'optional list<phid>', 18 'buildablePHIDs' => 'optional list<phid>', 19 'containerPHIDs' => 'optional list<phid>', 20 'manualBuildables' => 'optional bool', 21 ) + self::getPagerParamTypes(); 22 } 23 24 public function defineReturnType() { 25 return 'wild'; 26 } 27 28 public function defineErrorTypes() { 29 return array(); 30 } 31 32 protected function execute(ConduitAPIRequest $request) { 33 $viewer = $request->getUser(); 34 35 $query = id(new HarbormasterBuildableQuery()) 36 ->setViewer($viewer); 37 38 $ids = $request->getValue('ids'); 39 if ($ids !== null) { 40 $query->withIDs($ids); 41 } 42 43 $phids = $request->getValue('phids'); 44 if ($phids !== null) { 45 $query->withPHIDs($phids); 46 } 47 48 $buildable_phids = $request->getValue('buildablePHIDs'); 49 if ($buildable_phids !== null) { 50 $query->withBuildablePHIDs($buildable_phids); 51 } 52 53 $container_phids = $request->getValue('containerPHIDs'); 54 if ($container_phids !== null) { 55 $query->withContainerPHIDs($container_phids); 56 } 57 58 $manual = $request->getValue('manualBuildables'); 59 if ($manual !== null) { 60 $query->withManualBuildables($manual); 61 } 62 63 $pager = $this->newPager($request); 64 65 $buildables = $query->executeWithCursorPager($pager); 66 67 $data = array(); 68 foreach ($buildables as $buildable) { 69 $monogram = $buildable->getMonogram(); 70 71 $status = $buildable->getBuildableStatus(); 72 $status_name = HarbormasterBuildable::getBuildableStatusName($status); 73 74 $data[] = array( 75 'id' => $buildable->getID(), 76 'phid' => $buildable->getPHID(), 77 'monogram' => $monogram, 78 'uri' => PhabricatorEnv::getProductionURI('/'.$monogram), 79 'buildableStatus' => $status, 80 'buildableStatusName' => $status_name, 81 'buildablePHID' => $buildable->getBuildablePHID(), 82 'containerPHID' => $buildable->getContainerPHID(), 83 'isManualBuildable' => (bool)$buildable->getIsManualBuildable(), 84 ); 85 } 86 87 $results = array( 88 'data' => $data, 89 ); 90 91 $results = $this->addPagerResults($results, $pager); 92 return $results; 93 } 94 95 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |