Skip to content

Commit 1366597

Browse files
committed
chore: psalm fixes
Signed-off-by: Robin Appelman <[email protected]>
1 parent 4d0e5a1 commit 1366597

File tree

5 files changed

+716
-108
lines changed

5 files changed

+716
-108
lines changed

lib/AppInfo/Application.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,8 @@ public function register(IRegistrationContext $context): void {
142142
$c->get(MountProvider::class),
143143
$c->get(ACLManagerFactory::class),
144144
$c->get(IRootFolder::class),
145-
$c->get(LoggerInterface::class)
145+
$c->get(LoggerInterface::class),
146+
$c->get(IUserSession::class),
146147
);
147148
$hasVersionApp = interface_exists(\OCA\Files_Versions\Versions\IVersionBackend::class);
148149
if ($hasVersionApp) {

lib/Mount/GroupFolderStorage.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
use OC\Files\ObjectStore\ObjectStoreScanner;
2626
use OC\Files\ObjectStore\ObjectStoreStorage;
2727
use OC\Files\Storage\Wrapper\Quota;
28+
use OCP\Files\Cache\ICache;
2829
use OCP\Files\Cache\ICacheEntry;
2930
use OCP\IUser;
3031
use OCP\IUserSession;
@@ -33,8 +34,8 @@ class GroupFolderStorage extends Quota {
3334
private int $folderId;
3435
private ?ICacheEntry $rootEntry;
3536
private IUserSession $userSession;
36-
private ?IUser $mountOwner = null;
37-
/** @var RootEntryCache|null */
37+
private ?IUser $mountOwner;
38+
/** @var ICache|null */
3839
public $cache = null;
3940

4041
public function __construct($parameters) {

lib/Mount/MountProvider.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ public function getTrashMount(
279279

280280
$storage = $this->getRootFolder()->getStorage();
281281

282-
$storage->setOwner($user?->getUID());
282+
$storage->setOwner($user->getUID());
283283

284284
$trashPath = $this->getRootFolder()->getInternalPath() . '/trash/' . $id;
285285

lib/Trash/TrashBackend.php

+13-3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
namespace OCA\GroupFolders\Trash;
2323

2424
use OC\Encryption\Exceptions\DecryptionFailedException;
25+
use OC\Files\ObjectStore\ObjectStoreStorage;
2526
use OC\Files\Storage\Wrapper\Encryption;
2627
use OC\Files\Storage\Wrapper\Jail;
2728
use OCA\Files_Trashbin\Expiration;
@@ -41,6 +42,7 @@
4142
use OCP\Files\NotPermittedException;
4243
use OCP\Files\Storage\IStorage;
4344
use OCP\IUser;
45+
use OCP\IUserSession;
4446
use Psr\Log\LoggerInterface;
4547

4648
class TrashBackend implements ITrashBackend {
@@ -53,6 +55,7 @@ class TrashBackend implements ITrashBackend {
5355
private $versionsBackend = null;
5456
private IRootFolder $rootFolder;
5557
private LoggerInterface $logger;
58+
private IUserSession $userSession;
5659

5760
public function __construct(
5861
FolderManager $folderManager,
@@ -61,7 +64,8 @@ public function __construct(
6164
MountProvider $mountProvider,
6265
ACLManagerFactory $aclManagerFactory,
6366
IRootFolder $rootFolder,
64-
LoggerInterface $logger
67+
LoggerInterface $logger,
68+
IUserSession $userSession,
6569
) {
6670
$this->folderManager = $folderManager;
6771
$this->trashManager = $trashManager;
@@ -70,6 +74,7 @@ public function __construct(
7074
$this->aclManagerFactory = $aclManagerFactory;
7175
$this->rootFolder = $rootFolder;
7276
$this->logger = $logger;
77+
$this->userSession = $userSession;
7378
}
7479

7580
public function setVersionsBackend(VersionsBackend $versionsBackend): void {
@@ -309,9 +314,11 @@ private function moveFromEncryptedStorage(IStorage $sourceStorage, IStorage $tar
309314
$sourceStorage = $sourceStorage->getWrapperStorage();
310315
}
311316

317+
/** @psalm-suppress TooManyArguments */
312318
$result = $targetStorage->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, true);
313319
if ($result) {
314-
if ($sourceStorage->instanceOfStorage(ObjectStoreStorage::class)) {
320+
// hacky workaround to make sure we don't rely on a newer minor version
321+
if ($sourceStorage->instanceOfStorage(ObjectStoreStorage::class) && is_callable([$sourceStorage, 'setPreserveCacheOnDelete'])) {
315322
/** @var ObjectStoreStorage $sourceStorage */
316323
$sourceStorage->setPreserveCacheOnDelete(true);
317324
}
@@ -322,7 +329,7 @@ private function moveFromEncryptedStorage(IStorage $sourceStorage, IStorage $tar
322329
$result = $sourceStorage->unlink($sourceInternalPath);
323330
}
324331
} finally {
325-
if ($sourceStorage->instanceOfStorage(ObjectStoreStorage::class)) {
332+
if ($sourceStorage->instanceOfStorage(ObjectStoreStorage::class) && is_callable([$sourceStorage, 'setPreserveCacheOnDelete'])) {
326333
/** @var ObjectStoreStorage $sourceStorage */
327334
$sourceStorage->setPreserveCacheOnDelete(false);
328335
}
@@ -355,6 +362,7 @@ private function getNodeForTrashItem(IUser $user, ITrashItem $trashItem): ?Node
355362
$folders = $this->folderManager->getFoldersForUser($user);
356363
foreach ($folders as $groupFolder) {
357364
if ($groupFolder['folder_id'] === $folderId) {
365+
/** @var Folder $trashRoot */
358366
$trashRoot = $this->rootFolder->get('/' . $user->getUID() . '/files_trashbin/groupfolders/' . $folderId);
359367
try {
360368
$node = $trashRoot->get($path);
@@ -421,6 +429,8 @@ private function getTrashForFolders(IUser $user, array $folders): array {
421429
// ensure the trash folder exists
422430
$this->getTrashFolder($folderId);
423431

432+
433+
/** @var Folder $trashFolder */
424434
$trashFolder = $this->rootFolder->get('/' . $user->getUID() . '/files_trashbin/groupfolders/' . $folderId);
425435
$content = $trashFolder->getDirectoryListing();
426436
$this->aclManagerFactory->getACLManager($user)->preloadRulesForFolder($this->getUnJailedPath($trashFolder));

0 commit comments

Comments
 (0)