@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Implement basic differential.revision.search

Summary: Ref T11123. This implements a very basic skeleton for modern revision search.

Test Plan: Viewed and executed Conduit API method.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11123

Differential Revision: https://secure.phabricator.com/D16089

+50 -1
+3
src/__phutil_library_map__.php
··· 541 541 'DifferentialRevisionRequiredActionResultBucket' => 'applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php', 542 542 'DifferentialRevisionResultBucket' => 'applications/differential/query/DifferentialRevisionResultBucket.php', 543 543 'DifferentialRevisionReviewersHeraldField' => 'applications/differential/herald/DifferentialRevisionReviewersHeraldField.php', 544 + 'DifferentialRevisionSearchConduitAPIMethod' => 'applications/differential/conduit/DifferentialRevisionSearchConduitAPIMethod.php', 544 545 'DifferentialRevisionSearchEngine' => 'applications/differential/query/DifferentialRevisionSearchEngine.php', 545 546 'DifferentialRevisionStatus' => 'applications/differential/constants/DifferentialRevisionStatus.php', 546 547 'DifferentialRevisionSummaryHeraldField' => 'applications/differential/herald/DifferentialRevisionSummaryHeraldField.php', ··· 4820 4821 'PhabricatorDestructibleInterface', 4821 4822 'PhabricatorProjectInterface', 4822 4823 'PhabricatorFulltextInterface', 4824 + 'PhabricatorConduitResultInterface', 4823 4825 ), 4824 4826 'DifferentialRevisionAffectedFilesHeraldField' => 'DifferentialRevisionHeraldField', 4825 4827 'DifferentialRevisionAuthorHeraldField' => 'DifferentialRevisionHeraldField', ··· 4853 4855 'DifferentialRevisionRequiredActionResultBucket' => 'DifferentialRevisionResultBucket', 4854 4856 'DifferentialRevisionResultBucket' => 'PhabricatorSearchResultBucket', 4855 4857 'DifferentialRevisionReviewersHeraldField' => 'DifferentialRevisionHeraldField', 4858 + 'DifferentialRevisionSearchConduitAPIMethod' => 'PhabricatorSearchEngineAPIMethod', 4856 4859 'DifferentialRevisionSearchEngine' => 'PhabricatorApplicationSearchEngine', 4857 4860 'DifferentialRevisionStatus' => 'Phobject', 4858 4861 'DifferentialRevisionSummaryHeraldField' => 'DifferentialRevisionHeraldField',
+18
src/applications/differential/conduit/DifferentialRevisionSearchConduitAPIMethod.php
··· 1 + <?php 2 + 3 + final class DifferentialRevisionSearchConduitAPIMethod 4 + extends PhabricatorSearchEngineAPIMethod { 5 + 6 + public function getAPIMethodName() { 7 + return 'differential.revision.search'; 8 + } 9 + 10 + public function newSearchEngine() { 11 + return new DifferentialRevisionSearchEngine(); 12 + } 13 + 14 + public function getMethodSummary() { 15 + return pht('Read information about revisions.'); 16 + } 17 + 18 + }
+29 -1
src/applications/differential/storage/DifferentialRevision.php
··· 14 14 PhabricatorMentionableInterface, 15 15 PhabricatorDestructibleInterface, 16 16 PhabricatorProjectInterface, 17 - PhabricatorFulltextInterface { 17 + PhabricatorFulltextInterface, 18 + PhabricatorConduitResultInterface { 18 19 19 20 protected $title = ''; 20 21 protected $originalTitle; ··· 634 635 return new DifferentialRevisionFulltextEngine(); 635 636 } 636 637 638 + 639 + /* -( PhabricatorConduitResultInterface )---------------------------------- */ 640 + 641 + 642 + public function getFieldSpecificationsForConduit() { 643 + return array( 644 + id(new PhabricatorConduitSearchFieldSpecification()) 645 + ->setKey('title') 646 + ->setType('string') 647 + ->setDescription(pht('The revision title.')), 648 + id(new PhabricatorConduitSearchFieldSpecification()) 649 + ->setKey('authorPHID') 650 + ->setType('phid') 651 + ->setDescription(pht('Revision author PHID.')), 652 + ); 653 + } 654 + 655 + public function getFieldValuesForConduit() { 656 + return array( 657 + 'title' => $this->getTitle(), 658 + 'authorPHID' => $this->getAuthorPHID(), 659 + ); 660 + } 661 + 662 + public function getConduitSearchAttachments() { 663 + return array(); 664 + } 637 665 638 666 }