From 359469669bb6258d5f562313e8145bec6218641a Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Wed, 29 Jul 2026 12:01:16 +0200 Subject: [PATCH] feat(trash): Add getTrashRootItem to ITrashBackend Now all backends implement it and we don't need the legacy fallback anymore. Signed-off-by: Carl Schwan --- .../lib/Trash/ITrashBackend.php | 9 ++++++++ .../lib/Trash/ITrashManager.php | 21 ------------------- .../lib/Trash/LegacyTrashBackend.php | 1 + .../files_trashbin/lib/Trash/TrashManager.php | 15 +++---------- 4 files changed, 13 insertions(+), 33 deletions(-) diff --git a/apps/files_trashbin/lib/Trash/ITrashBackend.php b/apps/files_trashbin/lib/Trash/ITrashBackend.php index 46685ab4e9f18..64119fef6a268 100644 --- a/apps/files_trashbin/lib/Trash/ITrashBackend.php +++ b/apps/files_trashbin/lib/Trash/ITrashBackend.php @@ -35,6 +35,15 @@ public function listTrashRoot(IUser $user): array; */ public function listTrashFolder(ITrashItem $folder): array; + /** + * Get a specific item in the root of the trashbin + * + * @param IUser $user + * @return ?ITrashItem + * @since 35.0.0 + */ + public function getTrashRootItem(IUser $user, string $name): ?ITrashItem; + /** * Restore a trashbin item * diff --git a/apps/files_trashbin/lib/Trash/ITrashManager.php b/apps/files_trashbin/lib/Trash/ITrashManager.php index f5188dc19de71..a0b9203146b3e 100644 --- a/apps/files_trashbin/lib/Trash/ITrashManager.php +++ b/apps/files_trashbin/lib/Trash/ITrashManager.php @@ -9,8 +9,6 @@ namespace OCA\Files_Trashbin\Trash; -use OCP\IUser; - interface ITrashManager extends ITrashBackend { /** * Add a backend for the trashbin @@ -21,25 +19,6 @@ interface ITrashManager extends ITrashBackend { */ public function registerBackend(string $storageType, ITrashBackend $backend); - /** - * List all trash items in the root of the trashbin - * - * @param IUser $user - * @return ITrashItem[] - * @since 15.0.0 - */ - #[\Override] - public function listTrashRoot(IUser $user): array; - - /** - * Get a specific item in the root of the trashbin - * - * @param IUser $user - * @return ?ITrashItem - * @since 35.0.0 - */ - public function getTrashRootItem(IUser $user, string $name): ?ITrashItem; - /** * Temporally prevent files from being moved to the trash * diff --git a/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php b/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php index 11c4bc18321c3..703e7841b437a 100644 --- a/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php +++ b/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php @@ -59,6 +59,7 @@ public function listTrashRoot(IUser $user): array { return array_map(fn (FileInfo $fileInfo): ITrashItem => $this->mapTrashItem($fileInfo, $user), $entries); } + #[\Override] public function getTrashRootItem(IUser $user, string $name): ?ITrashItem { $entry = Helper::getTrashFile('/', $user->getUID(), $name); if ($entry === null) { diff --git a/apps/files_trashbin/lib/Trash/TrashManager.php b/apps/files_trashbin/lib/Trash/TrashManager.php index cf0f34cff6d69..f748f96f00e36 100644 --- a/apps/files_trashbin/lib/Trash/TrashManager.php +++ b/apps/files_trashbin/lib/Trash/TrashManager.php @@ -42,18 +42,9 @@ public function listTrashRoot(IUser $user): array { #[\Override] public function getTrashRootItem(IUser $user, string $name): ?ITrashItem { foreach ($this->getBackends() as $backend) { - if (method_exists($backend, 'getTrashRootItem')) { - $item = $backend->getTrashRootItem($user, $name); - if ($item !== null) { - return $item; - } - } else { - $items = $backend->listTrashRoot($user); - foreach ($items as $item) { - if ($item->getName() === $name) { - return $item; - } - } + $item = $backend->getTrashRootItem($user, $name); + if ($item !== null) { + return $item; } } return null;