Path: blob/master/src/applications/maniphest/conduit/ManiphestGetTaskTransactionsConduitAPIMethod.php
12256 views
<?php12final class ManiphestGetTaskTransactionsConduitAPIMethod3extends ManiphestConduitAPIMethod {45public function getAPIMethodName() {6return 'maniphest.gettasktransactions';7}89public function getMethodDescription() {10return pht('Retrieve Maniphest task transactions.');11}1213protected function defineParamTypes() {14return array(15'ids' => 'required list<int>',16);17}1819protected function defineReturnType() {20return 'nonempty list<dict<string, wild>>';21}2223public function getMethodStatus() {24return self::METHOD_STATUS_FROZEN;25}2627public function getMethodStatusDescription() {28return pht(29'This method is frozen and will eventually be deprecated. New code '.30'should use "transaction.search" instead.');31}3233protected function execute(ConduitAPIRequest $request) {34$results = array();35$task_ids = $request->getValue('ids');3637if (!$task_ids) {38return $results;39}4041$tasks = id(new ManiphestTaskQuery())42->setViewer($request->getUser())43->withIDs($task_ids)44->execute();45$tasks = mpull($tasks, null, 'getPHID');4647$transactions = array();48if ($tasks) {49$transactions = id(new ManiphestTransactionQuery())50->setViewer($request->getUser())51->withObjectPHIDs(mpull($tasks, 'getPHID'))52->needComments(true)53->execute();54}5556foreach ($transactions as $transaction) {57$task_phid = $transaction->getObjectPHID();58if (empty($tasks[$task_phid])) {59continue;60}6162$task_id = $tasks[$task_phid]->getID();6364$comments = null;65if ($transaction->hasComment()) {66$comments = $transaction->getComment()->getContent();67}6869$results[$task_id][] = array(70'taskID' => $task_id,71'transactionID' => $transaction->getID(),72'transactionPHID' => $transaction->getPHID(),73'transactionType' => $transaction->getTransactionType(),74'oldValue' => $transaction->getOldValue(),75'newValue' => $transaction->getNewValue(),76'comments' => $comments,77'authorPHID' => $transaction->getAuthorPHID(),78'dateCreated' => $transaction->getDateCreated(),79);80}8182return $results;83}8485}868788