[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class DifferentialCreateRevisionConduitAPIMethod 4 extends DifferentialConduitAPIMethod { 5 6 public function getAPIMethodName() { 7 return 'differential.createrevision'; 8 } 9 10 public function getMethodDescription() { 11 return pht('Create a new Differential revision.'); 12 } 13 14 public function defineParamTypes() { 15 return array( 16 // TODO: Arcanist passes this; prevent fatals after D4191 until Conduit 17 // version 7 or newer. 18 'user' => 'ignored', 19 'diffid' => 'required diffid', 20 'fields' => 'required dict', 21 ); 22 } 23 24 public function defineReturnType() { 25 return 'nonempty dict'; 26 } 27 28 public function defineErrorTypes() { 29 return array( 30 'ERR_BAD_DIFF' => 'Bad diff ID.', 31 ); 32 } 33 34 protected function execute(ConduitAPIRequest $request) { 35 $viewer = $request->getUser(); 36 37 $diff = id(new DifferentialDiffQuery()) 38 ->setViewer($viewer) 39 ->withIDs(array($request->getValue('diffid'))) 40 ->executeOne(); 41 if (!$diff) { 42 throw new ConduitException('ERR_BAD_DIFF'); 43 } 44 45 $revision = DifferentialRevision::initializeNewRevision($viewer); 46 $revision->attachReviewerStatus(array()); 47 48 $this->applyFieldEdit( 49 $request, 50 $revision, 51 $diff, 52 $request->getValue('fields', array()), 53 $message = null); 54 55 return array( 56 'revisionid' => $revision->getID(), 57 'uri' => PhabricatorEnv::getURI('/D'.$revision->getID()), 58 ); 59 } 60 61 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |