Use proper DI for repair command

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
This commit is contained in:
Morris Jobke 2017-10-24 14:13:45 +02:00
parent 3eaf23f29f
commit dd192e5df9
No known key found for this signature in database
GPG key ID: FE03C3A163FEDE68
2 changed files with 9 additions and 4 deletions

View file

@ -27,6 +27,7 @@
namespace OC\Core\Command\Maintenance;
use Exception;
use OCP\App\IAppManager;
use OCP\IConfig;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\ProgressBar;
@ -47,15 +48,20 @@ class Repair extends Command {
private $progress;
/** @var OutputInterface */
private $output;
/** @var IAppManager */
private $appManager;
/**
* @param \OC\Repair $repair
* @param IConfig $config
* @param EventDispatcherInterface $dispatcher
* @param IAppManager $appManager
*/
public function __construct(\OC\Repair $repair, IConfig $config, EventDispatcherInterface $dispatcher) {
public function __construct(\OC\Repair $repair, IConfig $config, EventDispatcherInterface $dispatcher, IAppManager $appManager) {
$this->repair = $repair;
$this->config = $config;
$this->dispatcher = $dispatcher;
$this->appManager = $appManager;
parent::__construct();
}
@ -78,8 +84,7 @@ class Repair extends Command {
}
}
$appManager = \OC::$server->getAppManager();
$apps = $appManager->getInstalledApps();
$apps = $this->appManager->getInstalledApps();
foreach ($apps as $app) {
if (!$appManager->isEnabledForUser($app)) {
continue;

View file

@ -136,7 +136,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
$application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig(), \OC::$server->getLogger()));
$application->add(new OC\Core\Command\Maintenance\Repair(
new \OC\Repair(\OC\Repair::getRepairSteps(), \OC::$server->getEventDispatcher()), \OC::$server->getConfig(),
\OC::$server->getEventDispatcher()));
\OC::$server->getEventDispatcher(), \OC::$server->getAppManager()));
$application->add(new OC\Core\Command\User\Add(\OC::$server->getUserManager(), \OC::$server->getGroupManager()));
$application->add(new OC\Core\Command\User\Delete(\OC::$server->getUserManager()));