1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-17 17:28:42 +01:00
phorge-phorge/src/applications/project/engineextension/PhabricatorProjectsSearchEngineAttachment.php
epriestley c0e20a11c1 Add a "projects" Search attachment for Conduit APIs
Summary: Ref T9964. Builds on D14772. Allows callers to request project PHIDs for objects.

Test Plan: {F1025468}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T9964

Differential Revision: https://secure.phabricator.com/D14773
2015-12-14 11:53:17 -08:00

43 lines
1.1 KiB
PHP

<?php
final class PhabricatorProjectsSearchEngineAttachment
extends PhabricatorSearchEngineAttachment {
public function getAttachmentName() {
return pht('Projects');
}
public function getAttachmentDescription() {
return pht('Get information about projects.');
}
public function loadAttachmentData(array $objects, $spec) {
$object_phids = mpull($objects, 'getPHID');
$projects_query = id(new PhabricatorEdgeQuery())
->withSourcePHIDs($object_phids)
->withEdgeTypes(
array(
PhabricatorProjectObjectHasProjectEdgeType::EDGECONST,
));
$projects_query->execute();
return array(
'projects.query' => $projects_query,
);
}
public function getAttachmentForObject($object, $data, $spec) {
$projects_query = $data['projects.query'];
$object_phid = $object->getPHID();
$project_phids = $projects_query->getDestinationPHIDs(
array($object_phid),
array(PhabricatorProjectObjectHasProjectEdgeType::EDGECONST));
return array(
'projectPHIDs' => array_values($project_phids),
);
}
}