mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 08:52:39 +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',
|
||||
'HarbormasterBuildablePHIDType' => 'applications/harbormaster/phid/HarbormasterBuildablePHIDType.php',
|
||||
'HarbormasterBuildableQuery' => 'applications/harbormaster/query/HarbormasterBuildableQuery.php',
|
||||
'HarbormasterBuildableSearchAPIMethod' => 'applications/harbormaster/conduit/HarbormasterBuildableSearchAPIMethod.php',
|
||||
'HarbormasterBuildableSearchEngine' => 'applications/harbormaster/query/HarbormasterBuildableSearchEngine.php',
|
||||
'HarbormasterBuildableStatus' => 'applications/harbormaster/constants/HarbormasterBuildableStatus.php',
|
||||
'HarbormasterBuildableTransaction' => 'applications/harbormaster/storage/HarbormasterBuildableTransaction.php',
|
||||
|
@ -6845,6 +6846,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorApplicationTransactionInterface',
|
||||
'PhabricatorPolicyInterface',
|
||||
'HarbormasterBuildableInterface',
|
||||
'PhabricatorConduitResultInterface',
|
||||
'PhabricatorDestructibleInterface',
|
||||
),
|
||||
'HarbormasterBuildableActionController' => 'HarbormasterController',
|
||||
|
@ -6852,6 +6854,7 @@ phutil_register_library_map(array(
|
|||
'HarbormasterBuildableListController' => 'HarbormasterController',
|
||||
'HarbormasterBuildablePHIDType' => 'PhabricatorPHIDType',
|
||||
'HarbormasterBuildableQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||
'HarbormasterBuildableSearchAPIMethod' => 'PhabricatorSearchEngineAPIMethod',
|
||||
'HarbormasterBuildableSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
||||
'HarbormasterBuildableStatus' => 'Phobject',
|
||||
'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,
|
||||
PhabricatorPolicyInterface,
|
||||
HarbormasterBuildableInterface,
|
||||
PhabricatorConduitResultInterface,
|
||||
PhabricatorDestructibleInterface {
|
||||
|
||||
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 )----------------------------------- */
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue