Apply wrappers to existing mounts before registering it
This commit is contained in:
parent
67f1534e0f
commit
960ff4f136
|
@ -175,15 +175,11 @@ class Filesystem {
|
|||
* @param callable $wrapper
|
||||
*/
|
||||
public static function addStorageWrapper($wrapperName, $wrapper) {
|
||||
if (!self::getLoader()->addStorageWrapper($wrapperName, $wrapper)) {
|
||||
$mounts = self::getMountManager()->getAll();
|
||||
if (!self::getLoader()->addStorageWrapper($wrapperName, $wrapper, $mounts)) {
|
||||
// do not re-wrap if storage with this name already existed
|
||||
return;
|
||||
}
|
||||
|
||||
$mounts = self::getMountManager()->getAll();
|
||||
foreach ($mounts as $mount) {
|
||||
$mount->wrapStorage($wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -201,7 +197,7 @@ class Filesystem {
|
|||
/**
|
||||
* Returns the mount manager
|
||||
*
|
||||
* @return \OC\Files\Filesystem\Mount\Manager
|
||||
* @return \OC\Files\Mount\Manager
|
||||
*/
|
||||
public static function getMountManager() {
|
||||
if (!self::$mounts) {
|
||||
|
|
|
@ -23,13 +23,20 @@ class StorageFactory implements IStorageFactory {
|
|||
*
|
||||
* @param string $wrapperName name of the wrapper
|
||||
* @param callable $callback callback
|
||||
* @param \OCP\Files\Mount\IMountPoint[] $existingMounts existing mount points to apply the wrapper to
|
||||
* @return bool true if the wrapper was added, false if there was already a wrapper with this
|
||||
* name registered
|
||||
*/
|
||||
public function addStorageWrapper($wrapperName, $callback) {
|
||||
public function addStorageWrapper($wrapperName, $callback, $existingMounts = []) {
|
||||
if (isset($this->storageWrappers[$wrapperName])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// apply to existing mounts before registering it to prevent applying it double in MountPoint::createStorage
|
||||
foreach ($existingMounts as $mount) {
|
||||
$mount->wrapStorage($callback);
|
||||
}
|
||||
|
||||
$this->storageWrappers[$wrapperName] = $callback;
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue