only gather dependencies for trashbin wrapper once

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2023-08-15 16:51:35 +02:00
parent 5ebceaa54c
commit 4c604bf531
No known key found for this signature in database
GPG key ID: 42B69D8A64526EFB

View file

@ -66,7 +66,7 @@ class Storage extends Wrapper {
* Storage constructor.
*
* @param array $parameters
* @param ITrashManager $trashManager
* @param ITrashManager|null $trashManager
* @param IUserManager|null $userManager
* @param ILogger|null $logger
* @param EventDispatcherInterface|null $eventDispatcher
@ -208,19 +208,27 @@ class Storage extends Wrapper {
}
/**
* Setup the storate wrapper callback
* Setup the storage wrapper callback
*/
public static function setupStorage() {
\OC\Files\Filesystem::addStorageWrapper('oc_trashbin', function ($mountPoint, $storage) {
return new \OCA\Files_Trashbin\Storage(
['storage' => $storage, 'mountPoint' => $mountPoint],
\OC::$server->query(ITrashManager::class),
\OC::$server->getUserManager(),
\OC::$server->getLogger(),
\OC::$server->getEventDispatcher(),
\OC::$server->getLazyRootFolder()
);
}, 1);
$trashManager = \OC::$server->get(ITrashManager::class);
$userManager = \OC::$server->get(IUserManager::class);
$logger = \OC::$server->get(ILogger::class);
$eventDispatcher = \OC::$server->get(EventDispatcherInterface::class);
$rootFolder = \OC::$server->get(IRootFolder::class);
Filesystem::addStorageWrapper(
'oc_trashbin',
function (string $mountPoint, IStorage $storage) use ($trashManager, $userManager, $logger, $eventDispatcher, $rootFolder) {
return new Storage(
['storage' => $storage, 'mountPoint' => $mountPoint],
$trashManager,
$userManager,
$logger,
$eventDispatcher,
$rootFolder,
);
},
1);
}
public function getMountPoint() {