mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 18:22:41 +01:00
Support reading and querying Almanac service PHIDs via "diffusion.repository.search"
Summary: Ref T13222. See PHI992. If you lose all hosts in a service cluster, you may need to get a list of affected repositories to figure out which backups to pull. Support doing this via the API. Test Plan: Queried by service PHID and saw service PHIDs in the call results. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13222 Differential Revision: https://secure.phabricator.com/D19848
This commit is contained in:
parent
70bf63bc3a
commit
5d54f26dac
2 changed files with 21 additions and 0 deletions
|
@ -44,6 +44,15 @@ final class PhabricatorRepositorySearchEngine
|
||||||
->setKey('uris')
|
->setKey('uris')
|
||||||
->setDescription(
|
->setDescription(
|
||||||
pht('Search for repositories by clone/checkout URI.')),
|
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 @@ final class PhabricatorRepositorySearchEngine
|
||||||
$query->withURIs($map['uris']);
|
$query->withURIs($map['uris']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($map['almanacServicePHIDs']) {
|
||||||
|
$query->withAlmanacServicePHIDs($map['almanacServicePHIDs']);
|
||||||
|
}
|
||||||
|
|
||||||
return $query;
|
return $query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2773,6 +2773,13 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO
|
||||||
->setDescription(
|
->setDescription(
|
||||||
pht(
|
pht(
|
||||||
'True if the repository is importing initial commits.')),
|
'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 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO
|
||||||
'shortName' => $this->getRepositorySlug(),
|
'shortName' => $this->getRepositorySlug(),
|
||||||
'status' => $this->getStatus(),
|
'status' => $this->getStatus(),
|
||||||
'isImporting' => (bool)$this->isImporting(),
|
'isImporting' => (bool)$this->isImporting(),
|
||||||
|
'almanacServicePHID' => $this->getAlmanacServicePHID(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue