Changeset View
Changeset View
Standalone View
Standalone View
src/applications/audit/conduit/AuditQueryConduitAPIMethod.php
<?php | <?php | ||||
final class AuditQueryConduitAPIMethod extends AuditConduitAPIMethod { | final class AuditQueryConduitAPIMethod extends AuditConduitAPIMethod { | ||||
const AUDIT_LEGACYSTATUS_ANY = 'audit-status-any'; | |||||
const AUDIT_LEGACYSTATUS_OPEN = 'audit-status-open'; | |||||
const AUDIT_LEGACYSTATUS_CONCERN = 'audit-status-concern'; | |||||
const AUDIT_LEGACYSTATUS_ACCEPTED = 'audit-status-accepted'; | |||||
const AUDIT_LEGACYSTATUS_PARTIAL = 'audit-status-partial'; | |||||
public function getAPIMethodName() { | public function getAPIMethodName() { | ||||
return 'audit.query'; | return 'audit.query'; | ||||
} | } | ||||
public function getMethodDescription() { | public function getMethodDescription() { | ||||
return pht('Query audit requests.'); | return pht('Query audit requests.'); | ||||
} | } | ||||
public function getMethodStatus() { | |||||
return self::METHOD_STATUS_FROZEN; | |||||
} | |||||
public function getMethodStatusDescription() { | |||||
return pht( | |||||
'This method is frozen and will eventually be deprecated. New code '. | |||||
'should use "diffusion.commit.search" instead.'); | |||||
} | |||||
protected function defineParamTypes() { | protected function defineParamTypes() { | ||||
$statuses = array( | $statuses = array( | ||||
DiffusionCommitQuery::AUDIT_STATUS_ANY, | self::AUDIT_LEGACYSTATUS_ANY, | ||||
DiffusionCommitQuery::AUDIT_STATUS_OPEN, | self::AUDIT_LEGACYSTATUS_OPEN, | ||||
DiffusionCommitQuery::AUDIT_STATUS_CONCERN, | self::AUDIT_LEGACYSTATUS_CONCERN, | ||||
DiffusionCommitQuery::AUDIT_STATUS_ACCEPTED, | self::AUDIT_LEGACYSTATUS_ACCEPTED, | ||||
DiffusionCommitQuery::AUDIT_STATUS_PARTIAL, | self::AUDIT_LEGACYSTATUS_PARTIAL, | ||||
); | ); | ||||
$status_const = $this->formatStringConstants($statuses); | $status_const = $this->formatStringConstants($statuses); | ||||
return array( | return array( | ||||
'auditorPHIDs' => 'optional list<phid>', | 'auditorPHIDs' => 'optional list<phid>', | ||||
'commitPHIDs' => 'optional list<phid>', | 'commitPHIDs' => 'optional list<phid>', | ||||
'status' => ('optional '.$status_const. | 'status' => ('optional '.$status_const. | ||||
' (default = "audit-status-any")'), | ' (default = "audit-status-any")'), | ||||
Show All 17 Lines | if ($auditor_phids) { | ||||
$query->withAuditorPHIDs($auditor_phids); | $query->withAuditorPHIDs($auditor_phids); | ||||
} | } | ||||
$commit_phids = $request->getValue('commitPHIDs', array()); | $commit_phids = $request->getValue('commitPHIDs', array()); | ||||
if ($commit_phids) { | if ($commit_phids) { | ||||
$query->withPHIDs($commit_phids); | $query->withPHIDs($commit_phids); | ||||
} | } | ||||
$status = $request->getValue( | $status_map = array( | ||||
'status', | self::AUDIT_LEGACYSTATUS_OPEN => array( | ||||
DiffusionCommitQuery::AUDIT_STATUS_ANY); | PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT, | ||||
$query->withAuditStatus($status); | PhabricatorAuditCommitStatusConstants::CONCERN_RAISED, | ||||
), | |||||
self::AUDIT_LEGACYSTATUS_CONCERN => array( | |||||
PhabricatorAuditCommitStatusConstants::CONCERN_RAISED, | |||||
), | |||||
self::AUDIT_LEGACYSTATUS_ACCEPTED => array( | |||||
PhabricatorAuditCommitStatusConstants::CONCERN_ACCEPTED, | |||||
), | |||||
self::AUDIT_LEGACYSTATUS_PARTIAL => array( | |||||
PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED, | |||||
), | |||||
); | |||||
$status = $request->getValue('status'); | |||||
if (isset($status_map[$status])) { | |||||
$query->withStatuses($status_map[$status]); | |||||
} | |||||
// NOTE: These affect the number of commits identified, which is sort of | // NOTE: These affect the number of commits identified, which is sort of | ||||
// reasonable but means the method may return an arbitrary number of | // reasonable but means the method may return an arbitrary number of | ||||
// actual audit requests. | // actual audit requests. | ||||
$query->setOffset($request->getValue('offset', 0)); | $query->setOffset($request->getValue('offset', 0)); | ||||
$query->setLimit($request->getValue('limit', 100)); | $query->setLimit($request->getValue('limit', 100)); | ||||
$commits = $query->execute(); | $commits = $query->execute(); | ||||
Show All 28 Lines |