Differential D14958 Diff 36140 src/applications/diffusion/conduit/DiffusionFileContentQueryConduitAPIMethod.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/conduit/DiffusionFileContentQueryConduitAPIMethod.php
Show All 13 Lines | final class DiffusionFileContentQueryConduitAPIMethod | ||||
protected function defineReturnType() { | protected function defineReturnType() { | ||||
return 'array'; | return 'array'; | ||||
} | } | ||||
protected function defineCustomParamTypes() { | protected function defineCustomParamTypes() { | ||||
return array( | return array( | ||||
'path' => 'required string', | 'path' => 'required string', | ||||
'commit' => 'required string', | 'commit' => 'required string', | ||||
'needsBlame' => 'optional bool', | |||||
'timeout' => 'optional int', | 'timeout' => 'optional int', | ||||
'byteLimit' => 'optional int', | 'byteLimit' => 'optional int', | ||||
); | ); | ||||
} | } | ||||
protected function getResult(ConduitAPIRequest $request) { | protected function getResult(ConduitAPIRequest $request) { | ||||
$drequest = $this->getDiffusionRequest(); | $drequest = $this->getDiffusionRequest(); | ||||
$needs_blame = $request->getValue('needsBlame'); | |||||
$file_query = DiffusionFileContentQuery::newFromDiffusionRequest( | $file_query = DiffusionFileContentQuery::newFromDiffusionRequest($drequest) | ||||
$drequest); | ->setViewer($request->getUser()); | ||||
$file_query | |||||
->setViewer($request->getUser()) | |||||
->setNeedsBlame($needs_blame); | |||||
$timeout = $request->getValue('timeout'); | $timeout = $request->getValue('timeout'); | ||||
if ($timeout) { | if ($timeout) { | ||||
$file_query->setTimeout($timeout); | $file_query->setTimeout($timeout); | ||||
} | } | ||||
$byte_limit = $request->getValue('byteLimit'); | $byte_limit = $request->getValue('byteLimit'); | ||||
if ($byte_limit) { | if ($byte_limit) { | ||||
$file_query->setByteLimit($byte_limit); | $file_query->setByteLimit($byte_limit); | ||||
} | } | ||||
$file_content = $file_query->loadFileContent(); | $file_content = $file_query->loadFileContent(); | ||||
if ($needs_blame) { | |||||
list($text_list, $rev_list, $blame_dict) = $file_query->getBlameData(); | |||||
} else { | |||||
$text_list = $rev_list = $blame_dict = array(); | $text_list = $rev_list = $blame_dict = array(); | ||||
} | |||||
$file_content | $file_content | ||||
->setBlameDict($blame_dict) | ->setBlameDict($blame_dict) | ||||
->setRevList($rev_list) | ->setRevList($rev_list) | ||||
->setTextList($text_list); | ->setTextList($text_list); | ||||
return $file_content->toDictionary(); | return $file_content->toDictionary(); | ||||
} | } | ||||
} | } |