Page MenuHomec4science

PasteQueryConduitAPIMethod.php
No OneTemporary

File Metadata

Created
Tue, Nov 26, 00:43

PasteQueryConduitAPIMethod.php

<?php
final class PasteQueryConduitAPIMethod extends PasteConduitAPIMethod {
public function getAPIMethodName() {
return 'paste.query';
}
public function getMethodDescription() {
return pht('Query Pastes.');
}
protected function defineParamTypes() {
return array(
'ids' => 'optional list<int>',
'phids' => 'optional list<phid>',
'authorPHIDs' => 'optional list<phid>',
'after' => 'optional int',
'limit' => 'optional int, default = 100',
);
}
protected function defineReturnType() {
return 'list<dict>';
}
protected function execute(ConduitAPIRequest $request) {
$query = id(new PhabricatorPasteQuery())
->setViewer($request->getUser())
->needRawContent(true);
if ($request->getValue('ids')) {
$query->withIDs($request->getValue('ids'));
}
if ($request->getValue('phids')) {
$query->withPHIDs($request->getValue('phids'));
}
if ($request->getValue('authorPHIDs')) {
$query->withAuthorPHIDs($request->getValue('authorPHIDs'));
}
if ($request->getValue('after')) {
$query->setAfterID($request->getValue('after'));
}
$limit = $request->getValue('limit', 100);
if ($limit) {
$query->setLimit($limit);
}
$pastes = $query->execute();
$results = array();
foreach ($pastes as $paste) {
$results[$paste->getPHID()] = $this->buildPasteInfoDictionary($paste);
}
return $results;
}
}

Event Timeline