Changeset View
Changeset View
Standalone View
Standalone View
src/applications/audit/query/DiffusionInternalCommitSearchEngine.php
- This file was added.
| <?php | |||||
| final class DiffusionInternalCommitSearchEngine | |||||
| extends PhabricatorApplicationSearchEngine { | |||||
| public function getResultTypeDescription() { | |||||
| return pht('Diffusion Raw Commits'); | |||||
| } | |||||
| public function getApplicationClassName() { | |||||
| return 'PhabricatorDiffusionApplication'; | |||||
| } | |||||
| public function newQuery() { | |||||
| return new DiffusionCommitQuery(); | |||||
| } | |||||
| protected function buildQueryFromParameters(array $map) { | |||||
| $query = $this->newQuery(); | |||||
| if ($map['repositoryPHIDs']) { | |||||
| $query->withRepositoryPHIDs($map['repositoryPHIDs']); | |||||
| } | |||||
| return $query; | |||||
| } | |||||
| protected function buildCustomSearchFields() { | |||||
| return array( | |||||
| id(new PhabricatorSearchDatasourceField()) | |||||
| ->setLabel(pht('Repositories')) | |||||
| ->setKey('repositoryPHIDs') | |||||
| ->setDatasource(new DiffusionRepositoryFunctionDatasource()) | |||||
| ->setDescription(pht('Find commits in particular repositories.')), | |||||
| ); | |||||
| } | |||||
| protected function getURI($path) { | |||||
| return null; | |||||
| } | |||||
| protected function renderResultList( | |||||
| array $commits, | |||||
| PhabricatorSavedQuery $query, | |||||
| array $handles) { | |||||
| return null; | |||||
| } | |||||
| protected function getObjectWireFieldsForConduit( | |||||
| $object, | |||||
| array $field_extensions, | |||||
| array $extension_data) { | |||||
| $commit = $object; | |||||
| $viewer = $this->requireViewer(); | |||||
| $repository = $commit->getRepository(); | |||||
| $identifier = $commit->getCommitIdentifier(); | |||||
| id(new DiffusionRepositoryClusterEngine()) | |||||
| ->setViewer($viewer) | |||||
| ->setRepository($repository) | |||||
| ->synchronizeWorkingCopyBeforeRead(); | |||||
| $ref = id(new DiffusionLowLevelCommitQuery()) | |||||
| ->setRepository($repository) | |||||
| ->withIdentifier($identifier) | |||||
| ->execute(); | |||||
| return array( | |||||
| 'ref' => $ref->newDictionary(), | |||||
| ); | |||||
| } | |||||
| } | |||||