Path: blob/master/src/applications/harbormaster/conduit/HarbormasterQueryBuildsConduitAPIMethod.php
12256 views
<?php12final class HarbormasterQueryBuildsConduitAPIMethod3extends HarbormasterConduitAPIMethod {45public function getAPIMethodName() {6return 'harbormaster.querybuilds';7}89public function getMethodDescription() {10return pht('Query Harbormaster builds.');11}1213public function getMethodStatus() {14return self::METHOD_STATUS_DEPRECATED;15}1617public function getMethodStatusDescription() {18return pht('Use %s instead.', 'harbormaster.build.search');19}2021protected function defineParamTypes() {22return array(23'ids' => 'optional list<id>',24'phids' => 'optional list<phid>',25'buildStatuses' => 'optional list<string>',26'buildablePHIDs' => 'optional list<phid>',27'buildPlanPHIDs' => 'optional list<phid>',28) + self::getPagerParamTypes();29}3031protected function defineReturnType() {32return 'wild';33}3435protected function execute(ConduitAPIRequest $request) {36$viewer = $request->getUser();37$call = new ConduitCall(38'harbormaster.build.search',39array_filter(array(40'constraints' => array_filter(array(41'ids' => $request->getValue('ids'),42'phids' => $request->getValue('phids'),43'statuses' => $request->getValue('buildStatuses'),44'buildables' => $request->getValue('buildablePHIDs'),45'plans' => $request->getValue('buildPlanPHIDs'),46)),47'attachments' => array(48'querybuilds' => true,49),50'limit' => $request->getValue('limit'),51'before' => $request->getValue('before'),52'after' => $request->getValue('after'),53)));5455$subsumption = $call->setUser($viewer)56->execute();5758$data = array();59foreach ($subsumption['data'] as $build_data) {60$querybuilds = idxv(61$build_data,62array('attachments', 'querybuilds'),63array());64$fields = idx($build_data, 'fields', array());65unset($build_data['fields']);66unset($build_data['attachments']);6768// To retain backward compatibility, remove newer keys from the69// result array.70$fields['buildStatus'] = array_select_keys(71$fields['buildStatus'],72array(73'value',74'name',75));7677$data[] = array_mergev(array($build_data, $querybuilds, $fields));78}7980$subsumption['data'] = $data;8182return $subsumption;83}8485}868788