mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-21 11:09:02 +01:00
Add harbormaster.buildable.search API Method
Summary: This revision adds a Conduit search method for buildables. It exposes: * `objectPHID` * `containerPHID` * `buildableStatus` * `isManual` Test Plan: Use the API Console to run searches. Example: ``` { "data": [ { "id": 2, "type": "HMBB", "phid": "PHID-HMBB-m4k5lodx6naq22576a7d", "fields": { "objectPHID": "PHID-DIFF-vzvgqqcyscpd7ta4osy2", "containerPHID": "PHID-DREV-vsivs5276c7vtgpmssn2", "buildableStatus": { "value": "passed" }, "isManual": true, "dateCreated": 1542407155, "dateModified": 1542407156, "policy": { "view": "users", "edit": "users" } }, "attachments": {} }, { "id": 1, "type": "HMBB", "phid": "PHID-HMBB-opxfl4auoz3ey5klplrx", "fields": { "objectPHID": "PHID-DIFF-vzvgqqcyscpd7ta4osy2", "containerPHID": null, "buildableStatus": { "value": "passed" }, "isManual": false, "dateCreated": 1542406968, "dateModified": 1542406968, "policy": { "view": "users", "edit": "users" } }, "attachments": {} } ], "maps": {}, "query": { "queryKey": null }, "cursor": { "limit": 100, "after": null, "before": null, "order": null } } ``` Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: Korvin, O14 ATC Monitoring Differential Revision: https://secure.phabricator.com/D19818
This commit is contained in:
parent
03f249baf3
commit
433a7321ff
3 changed files with 62 additions and 0 deletions
|
@ -1367,6 +1367,7 @@ phutil_register_library_map(array(
|
||||||
'HarbormasterBuildableListController' => 'applications/harbormaster/controller/HarbormasterBuildableListController.php',
|
'HarbormasterBuildableListController' => 'applications/harbormaster/controller/HarbormasterBuildableListController.php',
|
||||||
'HarbormasterBuildablePHIDType' => 'applications/harbormaster/phid/HarbormasterBuildablePHIDType.php',
|
'HarbormasterBuildablePHIDType' => 'applications/harbormaster/phid/HarbormasterBuildablePHIDType.php',
|
||||||
'HarbormasterBuildableQuery' => 'applications/harbormaster/query/HarbormasterBuildableQuery.php',
|
'HarbormasterBuildableQuery' => 'applications/harbormaster/query/HarbormasterBuildableQuery.php',
|
||||||
|
'HarbormasterBuildableSearchAPIMethod' => 'applications/harbormaster/conduit/HarbormasterBuildableSearchAPIMethod.php',
|
||||||
'HarbormasterBuildableSearchEngine' => 'applications/harbormaster/query/HarbormasterBuildableSearchEngine.php',
|
'HarbormasterBuildableSearchEngine' => 'applications/harbormaster/query/HarbormasterBuildableSearchEngine.php',
|
||||||
'HarbormasterBuildableStatus' => 'applications/harbormaster/constants/HarbormasterBuildableStatus.php',
|
'HarbormasterBuildableStatus' => 'applications/harbormaster/constants/HarbormasterBuildableStatus.php',
|
||||||
'HarbormasterBuildableTransaction' => 'applications/harbormaster/storage/HarbormasterBuildableTransaction.php',
|
'HarbormasterBuildableTransaction' => 'applications/harbormaster/storage/HarbormasterBuildableTransaction.php',
|
||||||
|
@ -6845,6 +6846,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorApplicationTransactionInterface',
|
'PhabricatorApplicationTransactionInterface',
|
||||||
'PhabricatorPolicyInterface',
|
'PhabricatorPolicyInterface',
|
||||||
'HarbormasterBuildableInterface',
|
'HarbormasterBuildableInterface',
|
||||||
|
'PhabricatorConduitResultInterface',
|
||||||
'PhabricatorDestructibleInterface',
|
'PhabricatorDestructibleInterface',
|
||||||
),
|
),
|
||||||
'HarbormasterBuildableActionController' => 'HarbormasterController',
|
'HarbormasterBuildableActionController' => 'HarbormasterController',
|
||||||
|
@ -6852,6 +6854,7 @@ phutil_register_library_map(array(
|
||||||
'HarbormasterBuildableListController' => 'HarbormasterController',
|
'HarbormasterBuildableListController' => 'HarbormasterController',
|
||||||
'HarbormasterBuildablePHIDType' => 'PhabricatorPHIDType',
|
'HarbormasterBuildablePHIDType' => 'PhabricatorPHIDType',
|
||||||
'HarbormasterBuildableQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'HarbormasterBuildableQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
|
'HarbormasterBuildableSearchAPIMethod' => 'PhabricatorSearchEngineAPIMethod',
|
||||||
'HarbormasterBuildableSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
'HarbormasterBuildableSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
||||||
'HarbormasterBuildableStatus' => 'Phobject',
|
'HarbormasterBuildableStatus' => 'Phobject',
|
||||||
'HarbormasterBuildableTransaction' => 'PhabricatorApplicationTransaction',
|
'HarbormasterBuildableTransaction' => 'PhabricatorApplicationTransaction',
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
final class HarbormasterBuildableSearchAPIMethod
|
||||||
|
extends PhabricatorSearchEngineAPIMethod {
|
||||||
|
|
||||||
|
public function getAPIMethodName() {
|
||||||
|
return 'harbormaster.buildable.search';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function newSearchEngine() {
|
||||||
|
return new HarbormasterBuildableSearchEngine();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMethodSummary() {
|
||||||
|
return pht('Find out information about buildables.');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ final class HarbormasterBuildable
|
||||||
PhabricatorApplicationTransactionInterface,
|
PhabricatorApplicationTransactionInterface,
|
||||||
PhabricatorPolicyInterface,
|
PhabricatorPolicyInterface,
|
||||||
HarbormasterBuildableInterface,
|
HarbormasterBuildableInterface,
|
||||||
|
PhabricatorConduitResultInterface,
|
||||||
PhabricatorDestructibleInterface {
|
PhabricatorDestructibleInterface {
|
||||||
|
|
||||||
protected $buildablePHID;
|
protected $buildablePHID;
|
||||||
|
@ -355,6 +356,46 @@ final class HarbormasterBuildable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* -( PhabricatorConduitResultInterface )---------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
public function getFieldSpecificationsForConduit() {
|
||||||
|
return array(
|
||||||
|
id(new PhabricatorConduitSearchFieldSpecification())
|
||||||
|
->setKey('objectPHID')
|
||||||
|
->setType('phid')
|
||||||
|
->setDescription(pht('PHID of the object that is built.')),
|
||||||
|
id(new PhabricatorConduitSearchFieldSpecification())
|
||||||
|
->setKey('containerPHID')
|
||||||
|
->setType('phid')
|
||||||
|
->setDescription(pht('PHID of the object containing this buildable.')),
|
||||||
|
id(new PhabricatorConduitSearchFieldSpecification())
|
||||||
|
->setKey('buildableStatus')
|
||||||
|
->setType('map<string, wild>')
|
||||||
|
->setDescription(pht('The current status of this buildable.')),
|
||||||
|
id(new PhabricatorConduitSearchFieldSpecification())
|
||||||
|
->setKey('isManual')
|
||||||
|
->setType('bool')
|
||||||
|
->setDescription(pht('True if this is a manual buildable.')),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFieldValuesForConduit() {
|
||||||
|
return array(
|
||||||
|
'objectPHID' => $this->getBuildablePHID(),
|
||||||
|
'containerPHID' => $this->getContainerPHID(),
|
||||||
|
'buildableStatus' => array(
|
||||||
|
'value' => $this->getBuildableStatus(),
|
||||||
|
),
|
||||||
|
'isManual' => (bool)$this->getIsManualBuildable(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getConduitSearchAttachments() {
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -( PhabricatorDestructibleInterface )----------------------------------- */
|
/* -( PhabricatorDestructibleInterface )----------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue