Inject the Mount Manager

This commit is contained in:
Joas Schilling 2016-04-04 09:08:55 +02:00
parent 3dac3a01c5
commit ac330daef2
2 changed files with 10 additions and 6 deletions

View File

@ -24,8 +24,9 @@
$dbConnection = \OC::$server->getDatabaseConnection(); $dbConnection = \OC::$server->getDatabaseConnection();
$userManager = OC::$server->getUserManager(); $userManager = OC::$server->getUserManager();
$shareManager = \OC::$server->getShareManager(); $shareManager = \OC::$server->getShareManager();
$mountManager = \OC::$server->getMountManager();
/** @var Symfony\Component\Console\Application $application */ /** @var Symfony\Component\Console\Application $application */
$application->add(new OCA\Files\Command\Scan($userManager)); $application->add(new OCA\Files\Command\Scan($userManager));
$application->add(new OCA\Files\Command\DeleteOrphanedFiles($dbConnection)); $application->add(new OCA\Files\Command\DeleteOrphanedFiles($dbConnection));
$application->add(new OCA\Files\Command\TransferOwnership($userManager, $shareManager)); $application->add(new OCA\Files\Command\TransferOwnership($userManager, $shareManager, $mountManager));

View File

@ -24,7 +24,7 @@ namespace OCA\Files\Command;
use OC\Files\Filesystem; use OC\Files\Filesystem;
use OC\Files\View; use OC\Files\View;
use OCP\Files\FileInfo; use OCP\Files\FileInfo;
use OCP\Files\Folder; use OCP\Files\Mount\IMountManager;
use OCP\IUserManager; use OCP\IUserManager;
use OCP\Share\IManager; use OCP\Share\IManager;
use OCP\Share\IShare; use OCP\Share\IShare;
@ -42,6 +42,9 @@ class TransferOwnership extends Command {
/** @var IManager */ /** @var IManager */
private $shareManager; private $shareManager;
/** @var IMountManager */
private $mountManager;
/** @var FileInfo[] */ /** @var FileInfo[] */
private $allFiles = []; private $allFiles = [];
@ -60,9 +63,10 @@ class TransferOwnership extends Command {
/** @var string */ /** @var string */
private $finalTarget; private $finalTarget;
public function __construct(IUserManager $userManager, IManager $shareManager) { public function __construct(IUserManager $userManager, IManager $shareManager, IMountManager $mountManager) {
$this->userManager = $userManager; $this->userManager = $userManager;
$this->shareManager = $shareManager; $this->shareManager = $shareManager;
$this->mountManager = $mountManager;
parent::__construct(); parent::__construct();
} }
@ -203,14 +207,13 @@ class TransferOwnership extends Command {
private function restoreShares(OutputInterface $output) { private function restoreShares(OutputInterface $output) {
$output->writeln("Restoring shares ..."); $output->writeln("Restoring shares ...");
$progress = new ProgressBar($output, count($this->shares)); $progress = new ProgressBar($output, count($this->shares));
$mountManager = Filesystem::getMountManager($this->destinationUser);
foreach($this->shares as $share) { foreach($this->shares as $share) {
if ($share->getSharedWith() === $this->destinationUser) { if ($share->getSharedWith() === $this->destinationUser) {
// Unmount the shares before deleting, so we don't try to get the storage later on. // Unmount the shares before deleting, so we don't try to get the storage later on.
$shareMountPoint = $mountManager->find('/' . $this->destinationUser . '/files' . $share->getTarget()); $shareMountPoint = $this->mountManager->find('/' . $this->destinationUser . '/files' . $share->getTarget());
if ($shareMountPoint) { if ($shareMountPoint) {
$mountManager->removeMount($shareMountPoint->getMountPoint()); $this->mountManager->removeMount($shareMountPoint->getMountPoint());
} }
$this->shareManager->deleteShare($share); $this->shareManager->deleteShare($share);
} else { } else {