Path: blob/master/src/applications/differential/conduit/DifferentialQueryDiffsConduitAPIMethod.php
12256 views
<?php12final class DifferentialQueryDiffsConduitAPIMethod3extends DifferentialConduitAPIMethod {45public function getAPIMethodName() {6return 'differential.querydiffs';7}89public function getMethodDescription() {10return pht('Query differential diffs which match certain criteria.');11}1213public function getMethodStatus() {14return self::METHOD_STATUS_FROZEN;15}1617public function getMethodStatusDescription() {18return pht(19'This method is frozen and will eventually be deprecated. New code '.20'should use "differential.diff.search" instead.');21}2223protected function defineParamTypes() {24return array(25'ids' => 'optional list<uint>',26'revisionIDs' => 'optional list<uint>',27);28}2930protected function defineReturnType() {31return 'list<dict>';32}3334protected function execute(ConduitAPIRequest $request) {35$ids = $request->getValue('ids', array());36$revision_ids = $request->getValue('revisionIDs', array());3738if (!$ids && !$revision_ids) {39// This method just returns nothing if you pass no constraints because40// pagination hadn't been invented yet in 2008 when this method was41// written.42return array();43}4445$query = id(new DifferentialDiffQuery())46->setViewer($request->getUser())47->needChangesets(true);4849if ($ids) {50$query->withIDs($ids);51}5253if ($revision_ids) {54$query->withRevisionIDs($revision_ids);55}5657$diffs = $query->execute();5859return mpull($diffs, 'getDiffDict', 'getID');60}6162}636465