Changeset View
Changeset View
Standalone View
Standalone View
src/applications/conduit/storage/PhabricatorConduitToken.php
| <?php | <?php | ||||
| final class PhabricatorConduitToken | final class PhabricatorConduitToken | ||||
| extends PhabricatorConduitDAO | extends PhabricatorConduitDAO | ||||
| implements PhabricatorPolicyInterface { | implements PhabricatorPolicyInterface { | ||||
| protected $objectPHID; | protected $objectPHID; | ||||
| protected $tokenType; | protected $tokenType; | ||||
| protected $token; | protected $token; | ||||
| protected $expires; | protected $expires; | ||||
| private $object = self::ATTACHABLE; | private $object = self::ATTACHABLE; | ||||
| const TYPE_STANDARD = 'api'; | const TYPE_STANDARD = 'api'; | ||||
| const TYPE_TEMPORARY = 'tmp'; | const TYPE_TEMPORARY = 'tmp'; | ||||
| const TYPE_COMMANDLINE = 'cli'; | |||||
| public function getConfiguration() { | public function getConfiguration() { | ||||
| return array( | return array( | ||||
| self::CONFIG_COLUMN_SCHEMA => array( | self::CONFIG_COLUMN_SCHEMA => array( | ||||
| 'tokenType' => 'text32', | 'tokenType' => 'text32', | ||||
| 'token' => 'text32', | 'token' => 'text32', | ||||
| 'expires' => 'epoch?', | 'expires' => 'epoch?', | ||||
| ), | ), | ||||
| Show All 24 Lines | public static function initializeNewToken($object_phid, $token_type) { | ||||
| return $token; | return $token; | ||||
| } | } | ||||
| public static function getTokenTypeName($type) { | public static function getTokenTypeName($type) { | ||||
| $map = array( | $map = array( | ||||
| self::TYPE_STANDARD => pht('Standard API Token'), | self::TYPE_STANDARD => pht('Standard API Token'), | ||||
| self::TYPE_TEMPORARY => pht('Temporary API Token'), | self::TYPE_TEMPORARY => pht('Temporary API Token'), | ||||
| self::TYPE_COMMANDLINE => pht('Command Line API Token'), | |||||
| ); | ); | ||||
| return idx($map, $type, $type); | return idx($map, $type, $type); | ||||
| } | } | ||||
| public static function getAllTokenTypes() { | |||||
| return array( | |||||
| self::TYPE_STANDARD, | |||||
| self::TYPE_TEMPORARY, | |||||
| self::TYPE_COMMANDLINE, | |||||
| ); | |||||
| } | |||||
| private function getTokenExpires($token_type) { | private function getTokenExpires($token_type) { | ||||
| switch ($token_type) { | switch ($token_type) { | ||||
| case self::TYPE_STANDARD: | case self::TYPE_STANDARD: | ||||
| return null; | return null; | ||||
| case self::TYPE_TEMPORARY: | case self::TYPE_TEMPORARY: | ||||
| return PhabricatorTime::getNow() + phutil_units('24h in seconds'); | return PhabricatorTime::getNow() + phutil_units('24 hours in seconds'); | ||||
| case self::TYPE_COMMANDLINE: | |||||
| return PhabricatorTime::getNow() + phutil_units('1 hour in seconds'); | |||||
| default: | default: | ||||
| throw new Exception( | throw new Exception( | ||||
| pht('Unknown Conduit token type "%s"!', $token_type)); | pht('Unknown Conduit token type "%s"!', $token_type)); | ||||
| } | } | ||||
| } | } | ||||
| public function getObject() { | public function getObject() { | ||||
| return $this->assertAttached($this->object); | return $this->assertAttached($this->object); | ||||
| Show All 32 Lines | |||||