2013-05-10 13:43:59 -07:00
|
|
|
<?php
|
|
|
|
|
2013-05-27 13:40:43 -07:00
|
|
|
final class PhabricatorNamedQuery extends PhabricatorSearchDAO
|
|
|
|
implements PhabricatorPolicyInterface {
|
2013-05-10 13:43:59 -07:00
|
|
|
|
2013-06-05 05:28:25 -07:00
|
|
|
protected $queryKey;
|
|
|
|
protected $queryName;
|
|
|
|
protected $userPHID;
|
|
|
|
protected $engineClassName;
|
|
|
|
|
|
|
|
protected $isBuiltin = 0;
|
|
|
|
protected $isDisabled = 0;
|
|
|
|
protected $sequence = 0;
|
2013-05-27 13:40:43 -07:00
|
|
|
|
2014-10-01 07:53:35 -07:00
|
|
|
public function getConfiguration() {
|
|
|
|
return array(
|
|
|
|
self::CONFIG_COLUMN_SCHEMA => array(
|
|
|
|
'engineClassName' => 'text128',
|
|
|
|
'queryName' => 'text255',
|
2014-10-01 10:11:19 -07:00
|
|
|
'queryKey' => 'text12',
|
2014-10-01 07:53:35 -07:00
|
|
|
'isBuiltin' => 'bool',
|
|
|
|
'isDisabled' => 'bool',
|
|
|
|
'sequence' => 'uint32',
|
|
|
|
),
|
|
|
|
self::CONFIG_KEY_SCHEMA => array(
|
|
|
|
'key_userquery' => array(
|
|
|
|
'columns' => array('userPHID', 'engineClassName', 'queryKey'),
|
|
|
|
'unique' => true,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
) + parent::getConfiguration();
|
|
|
|
}
|
|
|
|
|
2013-06-05 16:22:27 -07:00
|
|
|
public function getSortKey() {
|
|
|
|
return sprintf('~%010d%010d', $this->sequence, $this->getID());
|
|
|
|
}
|
|
|
|
|
2013-05-27 13:40:43 -07:00
|
|
|
/* -( PhabricatorPolicyInterface )----------------------------------------- */
|
|
|
|
|
|
|
|
|
|
|
|
public function getCapabilities() {
|
|
|
|
return array(
|
|
|
|
PhabricatorPolicyCapability::CAN_VIEW,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getPolicy($capability) {
|
|
|
|
return PhabricatorPolicies::POLICY_NOONE;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {
|
|
|
|
if ($viewer->getPHID() == $this->userPHID) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2013-09-27 08:43:41 -07:00
|
|
|
public function describeAutomaticCapability($capability) {
|
|
|
|
return pht(
|
|
|
|
'The queries you have saved are private. Only you can view or edit '.
|
|
|
|
'them.');
|
|
|
|
}
|
|
|
|
|
2013-05-10 13:43:59 -07:00
|
|
|
}
|