Skip to content

Commit 16a573e

Browse files
Merge pull request #61529 from nextcloud/backport/61517/stable34
[stable34] fix: stop calling DI container in SharedStorage
2 parents 948be43 + bd995ff commit 16a573e

2 files changed

Lines changed: 17 additions & 6 deletions

File tree

apps/files_sharing/lib/MountProvider.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
use Exception;
1111
use InvalidArgumentException;
12+
use OC\Files\Cache\CacheDependencies;
1213
use OC\Files\View;
1314
use OCA\Files_Sharing\Event\ShareMountedEvent;
1415
use OCP\EventDispatcher\IEventDispatcher;
@@ -18,9 +19,11 @@
1819
use OCP\Files\Mount\IMountManager;
1920
use OCP\Files\Mount\IMountPoint;
2021
use OCP\Files\Storage\IStorageFactory;
22+
use OCP\IAppConfig;
2123
use OCP\ICacheFactory;
2224
use OCP\IConfig;
2325
use OCP\IUser;
26+
use OCP\Server;
2427
use OCP\Share\IAttributes;
2528
use OCP\Share\IManager;
2629
use OCP\Share\IShare;
@@ -257,6 +260,8 @@ public function getMountsFromSuperShares(
257260
$validShareCache = $this->cacheFactory->createLocal('share-valid-mountpoint-max');
258261
$maxValidatedShare = $validShareCache->get($userId) ?? 0;
259262
$newMaxValidatedShare = $maxValidatedShare;
263+
$appConfig = Server::get(IAppConfig::class);
264+
$cacheDependencies = Server::get(CacheDependencies::class);
260265

261266
foreach ($superShares as $share) {
262267
[$parentShare, $groupedShares] = $share;
@@ -283,7 +288,11 @@ public function getMountsFromSuperShares(
283288
// children/component of the superShare
284289
'groupedShares' => $groupedShares,
285290
'ownerView' => $ownerViews[$owner],
286-
'sharingDisabledForUser' => $sharingDisabledForUser
291+
'sharingDisabledForUser' => $sharingDisabledForUser,
292+
'logger' => $this->logger,
293+
'shareManager' => $this->shareManager,
294+
'appConfig' => $appConfig,
295+
'cacheDependencies' => $cacheDependencies,
287296
],
288297
$loader,
289298
$this->eventDispatcher,

apps/files_sharing/lib/SharedStorage.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,14 @@ class SharedStorage extends Jail implements LegacyISharedStorage, ISharedStorage
8989
private IShareManager $shareManager;
9090

9191
private static int $initDepth = 0;
92+
private CacheDependencies $cacheDependencies;
9293

9394
public function __construct(array $parameters) {
9495
$this->ownerView = $parameters['ownerView'];
95-
$this->logger = Server::get(LoggerInterface::class);
96-
$this->appConfig = Server::get(IAppConfig::class);
97-
$this->shareManager = Server::get(IShareManager::class);
96+
$this->logger = $parameters['logger'] ?? Server::get(LoggerInterface::class);
97+
$this->appConfig = $parameters['appConfig'] ?? Server::get(IAppConfig::class);
98+
$this->shareManager = $parameters['shareManager'] ?? Server::get(IShareManager::class);
99+
$this->cacheDependencies = $parameters['cacheDependencies'] ?? Server::get(CacheDependencies::class);
98100

99101
$this->superShare = $parameters['superShare'];
100102
$this->groupedShares = $parameters['groupedShares'];
@@ -430,7 +432,7 @@ public function getCache(string $path = '', ?IStorage $storage = null): ICache {
430432
$this->cache = new Cache(
431433
$storage,
432434
$sourceRoot,
433-
Server::get(CacheDependencies::class),
435+
$this->cacheDependencies,
434436
$this->getShare()
435437
);
436438
return $this->cache;
@@ -483,7 +485,7 @@ public function getWatcher(string $path = '', ?IStorage $storage = null): IWatch
483485
*/
484486
public function unshareStorage(): bool {
485487
foreach ($this->groupedShares as $share) {
486-
Server::get(IShareManager::class)->deleteFromSelf($share, $this->user);
488+
$this->shareManager->deleteFromSelf($share, $this->user);
487489
}
488490
return true;
489491
}

0 commit comments

Comments
 (0)