mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-15 19:32:40 +01:00
023dee0d3b
Summary: Ref T5655. Rename Conduit classes and provide a `getAPIMethodName` method to declare the API method. Test Plan: ``` > echo '{}' | arc --conduit-uri='http://phabricator.joshuaspence.com' call-conduit user.whoami Waiting for JSON parameters on stdin... {"error":null,"errorMessage":null,"response":{"phid":"PHID-USER-lioqffnwn6y475mu5ndb","userName":"josh","realName":"Joshua Spence","image":"http:\/\/phabricator.joshuaspence.com\/res\/1404425321T\/phabricator\/3eb28cd9\/rsrc\/image\/avatar.png","uri":"http:\/\/phabricator.joshuaspence.com\/p\/josh\/","roles":["admin","verified","approved","activated"]}} ``` Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin, hach-que Maniphest Tasks: T5655 Differential Revision: https://secure.phabricator.com/D9991
43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
<?php
|
|
|
|
abstract class ProjectConduitAPIMethod extends ConduitAPIMethod {
|
|
|
|
final public function getApplication() {
|
|
return PhabricatorApplication::getByClass('PhabricatorProjectApplication');
|
|
}
|
|
|
|
protected function buildProjectInfoDictionary(PhabricatorProject $project) {
|
|
$results = $this->buildProjectInfoDictionaries(array($project));
|
|
return idx($results, $project->getPHID());
|
|
}
|
|
|
|
protected function buildProjectInfoDictionaries(array $projects) {
|
|
assert_instances_of($projects, 'PhabricatorProject');
|
|
if (!$projects) {
|
|
return array();
|
|
}
|
|
|
|
$result = array();
|
|
foreach ($projects as $project) {
|
|
|
|
$member_phids = $project->getMemberPHIDs();
|
|
$member_phids = array_values($member_phids);
|
|
|
|
$project_slugs = $project->getSlugs();
|
|
$project_slugs = array_values(mpull($project_slugs, 'getSlug'));
|
|
|
|
$result[$project->getPHID()] = array(
|
|
'id' => $project->getID(),
|
|
'phid' => $project->getPHID(),
|
|
'name' => $project->getName(),
|
|
'members' => $member_phids,
|
|
'slugs' => $project_slugs,
|
|
'dateCreated' => $project->getDateCreated(),
|
|
'dateModified' => $project->getDateModified(),
|
|
);
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
}
|