1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-18 01:38:39 +01:00
phorge-phorge/src/applications/slowvote/conduit/SlowvoteInfoConduitAPIMethod.php

48 lines
1.1 KiB
PHP
Raw Normal View History

<?php
final class SlowvoteInfoConduitAPIMethod extends SlowvoteConduitAPIMethod {
public function getAPIMethodName() {
return 'slowvote.info';
}
public function getMethodDescription() {
return pht('Retrieve an array of information about a poll.');
}
protected function defineParamTypes() {
return array(
'poll_id' => 'required id',
);
}
protected function defineReturnType() {
return 'nonempty dict';
}
protected function defineErrorTypes() {
return array(
'ERR_BAD_POLL' => pht('No such poll exists.'),
);
}
protected function execute(ConduitAPIRequest $request) {
$poll_id = $request->getValue('poll_id');
$poll = id(new PhabricatorSlowvotePoll())->load($poll_id);
if (!$poll) {
throw new ConduitException('ERR_BAD_POLL');
}
$result = array(
'id' => $poll->getID(),
'phid' => $poll->getPHID(),
'authorPHID' => $poll->getAuthorPHID(),
'question' => $poll->getQuestion(),
'uri' => PhabricatorEnv::getProductionURI('/V'.$poll->getID()),
);
return $result;
}
}