diff --git a/src/applications/repository/query/PhabricatorRepositorySearchEngine.php b/src/applications/repository/query/PhabricatorRepositorySearchEngine.php --- a/src/applications/repository/query/PhabricatorRepositorySearchEngine.php +++ b/src/applications/repository/query/PhabricatorRepositorySearchEngine.php @@ -44,6 +44,15 @@ ->setKey('uris') ->setDescription( pht('Search for repositories by clone/checkout URI.')), + id(new PhabricatorPHIDsSearchField()) + ->setLabel(pht('Services')) + ->setKey('almanacServicePHIDs') + ->setAliases( + array( + 'almanacServicePHID', + 'almanacService', + 'almanacServices', + )), ); } @@ -80,6 +89,10 @@ $query->withURIs($map['uris']); } + if ($map['almanacServicePHIDs']) { + $query->withAlmanacServicePHIDs($map['almanacServicePHIDs']); + } + return $query; } diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php --- a/src/applications/repository/storage/PhabricatorRepository.php +++ b/src/applications/repository/storage/PhabricatorRepository.php @@ -2773,6 +2773,13 @@ ->setDescription( pht( 'True if the repository is importing initial commits.')), + id(new PhabricatorConduitSearchFieldSpecification()) + ->setKey('almanacServicePHID') + ->setType('phid?') + ->setDescription( + pht( + 'The Almanac Service that hosts this repository, if the '. + 'repository is clustered.')), ); } @@ -2784,6 +2791,7 @@ 'shortName' => $this->getRepositorySlug(), 'status' => $this->getStatus(), 'isImporting' => (bool)$this->isImporting(), + 'almanacServicePHID' => $this->getAlmanacServicePHID(), ); }