Inject the Mount Manager
This commit is contained in:
parent
d857f7caf2
commit
dd5f38e351
|
@ -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));
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
Loading…
Reference in New Issue