Differential D21019 Diff 50082 src/applications/auth/management/PhabricatorAuthManagementRefreshWorkflow.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/auth/management/PhabricatorAuthManagementRefreshWorkflow.php
Show All 12 Lines | $this | ||||
'development and debugging.')) | 'development and debugging.')) | ||||
->setArguments( | ->setArguments( | ||||
array( | array( | ||||
array( | array( | ||||
'name' => 'user', | 'name' => 'user', | ||||
'param' => 'user', | 'param' => 'user', | ||||
'help' => pht('Refresh tokens for a given user.'), | 'help' => pht('Refresh tokens for a given user.'), | ||||
), | ), | ||||
array( | |||||
'name' => 'type', | |||||
'param' => 'provider', | |||||
'help' => pht('Refresh tokens for a given provider type.'), | |||||
), | |||||
array( | |||||
'name' => 'domain', | |||||
'param' => 'domain', | |||||
'help' => pht('Refresh tokens for a given domain.'), | |||||
), | |||||
)); | )); | ||||
} | } | ||||
public function execute(PhutilArgumentParser $args) { | public function execute(PhutilArgumentParser $args) { | ||||
$console = PhutilConsole::getConsole(); | $console = PhutilConsole::getConsole(); | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$query = id(new PhabricatorExternalAccountQuery()) | $query = id(new PhabricatorExternalAccountQuery()) | ||||
Show All 13 Lines | if (strlen($username)) { | ||||
if ($user) { | if ($user) { | ||||
$query->withUserPHIDs(array($user->getPHID())); | $query->withUserPHIDs(array($user->getPHID())); | ||||
} else { | } else { | ||||
throw new PhutilArgumentUsageException( | throw new PhutilArgumentUsageException( | ||||
pht('No such user "%s"!', $username)); | pht('No such user "%s"!', $username)); | ||||
} | } | ||||
} | } | ||||
$type = $args->getArg('type'); | |||||
if (strlen($type)) { | |||||
$query->withAccountTypes(array($type)); | |||||
} | |||||
$domain = $args->getArg('domain'); | |||||
if (strlen($domain)) { | |||||
$query->withAccountDomains(array($domain)); | |||||
} | |||||
$accounts = $query->execute(); | $accounts = $query->execute(); | ||||
if (!$accounts) { | if (!$accounts) { | ||||
throw new PhutilArgumentUsageException( | throw new PhutilArgumentUsageException( | ||||
pht('No accounts match the arguments!')); | pht('No accounts match the arguments!')); | ||||
} else { | } else { | ||||
$console->writeOut( | $console->writeOut( | ||||
"%s\n", | "%s\n", | ||||
pht( | pht( | ||||
'Found %s account(s) to refresh.', | 'Found %s account(s) to refresh.', | ||||
phutil_count($accounts))); | phutil_count($accounts))); | ||||
} | } | ||||
$providers = PhabricatorAuthProvider::getAllEnabledProviders(); | $providers = PhabricatorAuthProvider::getAllEnabledProviders(); | ||||
$providers = mpull($providers, null, 'getProviderConfigPHID'); | |||||
foreach ($accounts as $account) { | foreach ($accounts as $account) { | ||||
$console->writeOut( | $console->writeOut( | ||||
"%s\n", | "%s\n", | ||||
pht( | pht( | ||||
'Refreshing account #%d (%s/%s).', | 'Refreshing account #%d.', | ||||
$account->getID(), | $account->getID())); | ||||
$account->getAccountType(), | |||||
$account->getAccountDomain())); | |||||
$key = $account->getProviderKey(); | $config_phid = $account->getProviderConfigPHID(); | ||||
if (empty($providers[$key])) { | if (empty($providers[$config_phid])) { | ||||
$console->writeOut( | $console->writeOut( | ||||
"> %s\n", | "> %s\n", | ||||
pht('Skipping, provider is not enabled or does not exist.')); | pht('Skipping, provider is not enabled or does not exist.')); | ||||
continue; | continue; | ||||
} | } | ||||
$provider = $providers[$key]; | $provider = $providers[$config_phid]; | ||||
if (!($provider instanceof PhabricatorOAuth2AuthProvider)) { | if (!($provider instanceof PhabricatorOAuth2AuthProvider)) { | ||||
$console->writeOut( | $console->writeOut( | ||||
"> %s\n", | "> %s\n", | ||||
pht('Skipping, provider is not an OAuth2 provider.')); | pht('Skipping, provider is not an OAuth2 provider.')); | ||||
continue; | continue; | ||||
} | } | ||||
$adapter = $provider->getAdapter(); | $adapter = $provider->getAdapter(); | ||||
▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines |