Page MenuHomePhorge

No OneTemporary

diff --git a/src/applications/differential/conduit/DifferentialQueryDiffsConduitAPIMethod.php b/src/applications/differential/conduit/DifferentialQueryDiffsConduitAPIMethod.php
index 836181d1df..7ff8600f81 100644
--- a/src/applications/differential/conduit/DifferentialQueryDiffsConduitAPIMethod.php
+++ b/src/applications/differential/conduit/DifferentialQueryDiffsConduitAPIMethod.php
@@ -1,42 +1,53 @@
<?php
final class DifferentialQueryDiffsConduitAPIMethod
extends DifferentialConduitAPIMethod {
public function getAPIMethodName() {
return 'differential.querydiffs';
}
public function getMethodDescription() {
return pht('Query differential diffs which match certain criteria.');
}
protected function defineParamTypes() {
return array(
'ids' => 'optional list<uint>',
'revisionIDs' => 'optional list<uint>',
);
}
protected function defineReturnType() {
return 'list<dict>';
}
protected function execute(ConduitAPIRequest $request) {
$ids = $request->getValue('ids', array());
$revision_ids = $request->getValue('revisionIDs', array());
- $diffs = array();
- if ($ids || $revision_ids) {
- $diffs = id(new DifferentialDiffQuery())
- ->setViewer($request->getUser())
- ->withIDs($ids)
- ->withRevisionIDs($revision_ids)
- ->needChangesets(true)
- ->execute();
+ if (!$ids && !$revision_ids) {
+ // This method just returns nothing if you pass no constraints because
+ // pagination hadn't been invented yet in 2008 when this method was
+ // written.
+ return array();
}
+ $query = id(new DifferentialDiffQuery())
+ ->setViewer($request->getUser())
+ ->needChangesets(true);
+
+ if ($ids) {
+ $query->withIDs($ids);
+ }
+
+ if ($revision_ids) {
+ $query->withRevisionIDs($revision_ids);
+ }
+
+ $diffs = $query->execute();
+
return mpull($diffs, 'getDiffDict', 'getID');
}
}

File Metadata

Mime Type
text/x-diff
Expires
Jan 19 2025, 23:06 (6 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1129697
Default Alt Text
(1 KB)

Event Timeline