[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/releeph/conduit/ -> ReleephQueryRequestsConduitAPIMethod.php (source)

   1  <?php
   2  
   3  final class ReleephQueryRequestsConduitAPIMethod
   4    extends ReleephConduitAPIMethod {
   5  
   6    public function getAPIMethodName() {
   7      return 'releeph.queryrequests';
   8    }
   9  
  10    public function getMethodDescription() {
  11      return
  12        'Return information about all Releeph requests linked to the given ids.';
  13    }
  14  
  15    public function defineParamTypes() {
  16      return array(
  17        'revisionPHIDs'         => 'optional list<phid>',
  18        'requestedCommitPHIDs'  => 'optional list<phid>',
  19      );
  20    }
  21  
  22    public function defineReturnType() {
  23      return 'dict<string, wild>';
  24    }
  25  
  26    public function defineErrorTypes() {
  27      return array();
  28    }
  29  
  30    protected function execute(ConduitAPIRequest $conduit_request) {
  31      $revision_phids = $conduit_request->getValue('revisionPHIDs');
  32      $requested_commit_phids =
  33        $conduit_request->getValue('requestedCommitPHIDs');
  34      $result = array();
  35  
  36      if (!$revision_phids && !$requested_commit_phids) {
  37        return $result;
  38      }
  39  
  40      $query = new ReleephRequestQuery();
  41      $query->setViewer($conduit_request->getUser());
  42  
  43      if ($revision_phids) {
  44        $query->withRequestedObjectPHIDs($revision_phids);
  45      } else if ($requested_commit_phids) {
  46        $query->withRequestedCommitPHIDs($requested_commit_phids);
  47      }
  48  
  49      $releephRequests = $query->execute();
  50  
  51      foreach ($releephRequests as $releephRequest) {
  52        $branch = $releephRequest->getBranch();
  53  
  54        $request_commit_phid = $releephRequest->getRequestCommitPHID();
  55  
  56        $object = $releephRequest->getRequestedObject();
  57        if ($object instanceof DifferentialRevision) {
  58          $object_phid = $object->getPHID();
  59        }  else {
  60          $object_phid = null;
  61        }
  62  
  63        $status = $releephRequest->getStatus();
  64        $statusName = ReleephRequestStatus::getStatusDescriptionFor($status);
  65        $url = PhabricatorEnv::getProductionURI('/RQ'.$releephRequest->getID());
  66  
  67        $result[] = array(
  68          'branchBasename' => $branch->getBasename(),
  69          'branchSymbolic' => $branch->getSymbolicName(),
  70          'requestID'      => $releephRequest->getID(),
  71          'revisionPHID'   => $object_phid,
  72          'status'         => $status,
  73          'statusName'     => $statusName,
  74          'url'            => $url,
  75        );
  76      }
  77  
  78      return $result;
  79    }
  80  
  81  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1