@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 89 lines 2.5 kB view raw
1<?php 2 3final class HarbormasterQueryBuildsConduitAPIMethod 4 extends HarbormasterConduitAPIMethod { 5 6 public function getAPIMethodName() { 7 return 'harbormaster.querybuilds'; 8 } 9 10 public function getMethodDescription() { 11 return pht('Query Harbormaster builds.'); 12 } 13 14 public function getMethodStatus() { 15 return self::METHOD_STATUS_DEPRECATED; 16 } 17 18 public function getMethodStatusDescription() { 19 return pht( 20 'This method has been deprecated since %s in favor of %s.', 21 '07/2016', 22 'harbormaster.build.search'); 23 } 24 25 protected function defineParamTypes() { 26 return array( 27 'ids' => 'optional list<id>', 28 'phids' => 'optional list<phid>', 29 'buildStatuses' => 'optional list<string>', 30 'buildablePHIDs' => 'optional list<phid>', 31 'buildPlanPHIDs' => 'optional list<phid>', 32 ) + self::getPagerParamTypes(); 33 } 34 35 protected function defineReturnType() { 36 return 'wild'; 37 } 38 39 protected function execute(ConduitAPIRequest $request) { 40 $viewer = $request->getUser(); 41 $call = new ConduitCall( 42 'harbormaster.build.search', 43 array_filter(array( 44 'constraints' => array_filter(array( 45 'ids' => $request->getValue('ids'), 46 'phids' => $request->getValue('phids'), 47 'statuses' => $request->getValue('buildStatuses'), 48 'buildables' => $request->getValue('buildablePHIDs'), 49 'plans' => $request->getValue('buildPlanPHIDs'), 50 )), 51 'attachments' => array( 52 'querybuilds' => true, 53 ), 54 'limit' => $request->getValue('limit'), 55 'before' => $request->getValue('before'), 56 'after' => $request->getValue('after'), 57 ))); 58 59 $subsumption = $call->setUser($viewer) 60 ->execute(); 61 62 $data = array(); 63 foreach ($subsumption['data'] as $build_data) { 64 $querybuilds = idxv( 65 $build_data, 66 array('attachments', 'querybuilds'), 67 array()); 68 $fields = idx($build_data, 'fields', array()); 69 unset($build_data['fields']); 70 unset($build_data['attachments']); 71 72 // To retain backward compatibility, remove newer keys from the 73 // result array. 74 $fields['buildStatus'] = array_select_keys( 75 $fields['buildStatus'], 76 array( 77 'value', 78 'name', 79 )); 80 81 $data[] = array_mergev(array($build_data, $querybuilds, $fields)); 82 } 83 84 $subsumption['data'] = $data; 85 86 return $subsumption; 87 } 88 89}