[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class ManiphestGetTaskTransactionsConduitAPIMethod 4 extends ManiphestConduitAPIMethod { 5 6 public function getAPIMethodName() { 7 return 'maniphest.gettasktransactions'; 8 } 9 10 public function getMethodDescription() { 11 return 'Retrieve Maniphest Task Transactions.'; 12 } 13 14 public function defineParamTypes() { 15 return array( 16 'ids' => 'required list<int>', 17 ); 18 } 19 20 public function defineReturnType() { 21 return 'nonempty list<dict<string, wild>>'; 22 } 23 24 public function defineErrorTypes() { 25 return array( 26 ); 27 } 28 29 protected function execute(ConduitAPIRequest $request) { 30 $results = array(); 31 $task_ids = $request->getValue('ids'); 32 33 if (!$task_ids) { 34 return $results; 35 } 36 37 $tasks = id(new ManiphestTaskQuery()) 38 ->setViewer($request->getUser()) 39 ->withIDs($task_ids) 40 ->execute(); 41 $tasks = mpull($tasks, null, 'getPHID'); 42 43 $transactions = array(); 44 if ($tasks) { 45 $transactions = id(new ManiphestTransactionQuery()) 46 ->setViewer($request->getUser()) 47 ->withObjectPHIDs(mpull($tasks, 'getPHID')) 48 ->needComments(true) 49 ->execute(); 50 } 51 52 foreach ($transactions as $transaction) { 53 $task_phid = $transaction->getObjectPHID(); 54 if (empty($tasks[$task_phid])) { 55 continue; 56 } 57 58 $task_id = $tasks[$task_phid]->getID(); 59 60 $comments = null; 61 if ($transaction->hasComment()) { 62 $comments = $transaction->getComment()->getContent(); 63 } 64 65 $results[$task_id][] = array( 66 'taskID' => $task_id, 67 'transactionPHID' => $transaction->getPHID(), 68 'transactionType' => $transaction->getTransactionType(), 69 'oldValue' => $transaction->getOldValue(), 70 'newValue' => $transaction->getNewValue(), 71 'comments' => $comments, 72 'authorPHID' => $transaction->getAuthorPHID(), 73 'dateCreated' => $transaction->getDateCreated(), 74 ); 75 } 76 77 return $results; 78 } 79 80 }
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 |