Completed
Push — master ( 34c17b...548f4e )
by Roeland
63:38 queued 45:49
created

Cleanup::configure()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types = 1);
4
5
/**
6
 * @copyright 2018 Christoph Wurst <[email protected]>
7
 *
8
 * @author 2018 Christoph Wurst <[email protected]>
9
 *
10
 * @license GNU AGPL version 3 or any later version
11
 *
12
 * This program is free software: you can redistribute it and/or modify
13
 * it under the terms of the GNU Affero General Public License as
14
 * published by the Free Software Foundation, either version 3 of the
15
 * License, or (at your option) any later version.
16
 *
17
 * This program is distributed in the hope that it will be useful,
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 * GNU Affero General Public License for more details.
21
 *
22
 * You should have received a copy of the GNU Affero General Public License
23
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
24
 *
25
 */
26
27
namespace OC\Core\Command\TwoFactorAuth;
28
29
use OCP\Authentication\TwoFactorAuth\IRegistry;
30
use Symfony\Component\Console\Input\InputArgument;
31
use Symfony\Component\Console\Input\InputInterface;
32
use Symfony\Component\Console\Output\OutputInterface;
33
34
class Cleanup extends Base {
35
36
	/** @var IRegistry */
37
	private $registry;
38
39
	public function __construct(IRegistry $registry) {
40
		parent::__construct();
41
42
		$this->registry = $registry;
43
	}
44
45
	protected function configure() {
46
		parent::configure();
47
48
		$this->setName('twofactorauth:cleanup');
49
		$this->setDescription('Clean up the two-factor user-provider association of an uninstalled/removed provider');
50
		$this->addArgument('provider-id', InputArgument::REQUIRED);
51
	}
52
53
	protected function execute(InputInterface $input, OutputInterface $output) {
54
		$providerId = $input->getArgument('provider-id');
55
56
		$this->registry->cleanUp($providerId);
57
58
		$output->writeln("<info>All user-provider associations for provider <options=bold>$providerId</> have been removed.</info>");
59
	}
60
61
}
62