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 | |||||