Path: blob/master/src/applications/harbormaster/conduit/HarbormasterQueryBuildablesConduitAPIMethod.php
12256 views
<?php12final class HarbormasterQueryBuildablesConduitAPIMethod3extends HarbormasterConduitAPIMethod {45public function getAPIMethodName() {6return 'harbormaster.querybuildables';7}89public function getMethodDescription() {10return pht('Query Harbormaster buildables.');11}1213protected function defineParamTypes() {14return array(15'ids' => 'optional list<id>',16'phids' => 'optional list<phid>',17'buildablePHIDs' => 'optional list<phid>',18'containerPHIDs' => 'optional list<phid>',19'manualBuildables' => 'optional bool',20) + self::getPagerParamTypes();21}2223protected function defineReturnType() {24return 'wild';25}2627protected function execute(ConduitAPIRequest $request) {28$viewer = $request->getUser();2930$query = id(new HarbormasterBuildableQuery())31->setViewer($viewer);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$buildable_phids = $request->getValue('buildablePHIDs');44if ($buildable_phids !== null) {45$query->withBuildablePHIDs($buildable_phids);46}4748$container_phids = $request->getValue('containerPHIDs');49if ($container_phids !== null) {50$query->withContainerPHIDs($container_phids);51}5253$manual = $request->getValue('manualBuildables');54if ($manual !== null) {55$query->withManualBuildables($manual);56}5758$pager = $this->newPager($request);5960$buildables = $query->executeWithCursorPager($pager);6162$data = array();63foreach ($buildables as $buildable) {64$monogram = $buildable->getMonogram();6566$status = $buildable->getBuildableStatus();67$status_name = $buildable->getStatusDisplayName();6869$data[] = array(70'id' => $buildable->getID(),71'phid' => $buildable->getPHID(),72'monogram' => $monogram,73'uri' => PhabricatorEnv::getProductionURI('/'.$monogram),74'buildableStatus' => $status,75'buildableStatusName' => $status_name,76'buildablePHID' => $buildable->getBuildablePHID(),77'containerPHID' => $buildable->getContainerPHID(),78'isManualBuildable' => (bool)$buildable->getIsManualBuildable(),79);80}8182$results = array(83'data' => $data,84);8586$results = $this->addPagerResults($results, $pager);87return $results;88}8990}919293