aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Ng <chrng8@gmail.com>2024-11-13 14:43:14 -0800
committerChristopher Ng <chrng8@gmail.com>2024-11-13 14:43:14 -0800
commit3bd089cec126ccd81d2628e30bceee7458a82789 (patch)
tree9a8db9f1d3dc3b78f7ac14e8a48ebcba3854dc2c
parent22e2419b2828c5866a32c9da43cbaa8c8a2898ea (diff)
downloadnextcloud-server-feat/dav-trashbin-backend.tar.gz
nextcloud-server-feat/dav-trashbin-backend.zip
feat(trashbin): Add backend dav propertyfeat/dav-trashbin-backend
Signed-off-by: Christopher Ng <chrng8@gmail.com>
-rw-r--r--apps/files_trashbin/lib/Sabre/TrashbinPlugin.php10
1 files changed, 10 insertions, 0 deletions
diff --git a/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php b/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php
index b2864e9a1c6..2a2e3a141dc 100644
--- a/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php
+++ b/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php
@@ -9,6 +9,7 @@ declare(strict_types=1);
namespace OCA\Files_Trashbin\Sabre;
use OCA\DAV\Connector\Sabre\FilesPlugin;
+use OCA\Files_Trashbin\Trash\ITrashItem;
use OCP\IPreview;
use Sabre\DAV\INode;
use Sabre\DAV\PropFind;
@@ -24,6 +25,7 @@ class TrashbinPlugin extends ServerPlugin {
public const TRASHBIN_TITLE = '{http://nextcloud.org/ns}trashbin-title';
public const TRASHBIN_DELETED_BY_ID = '{http://nextcloud.org/ns}trashbin-deleted-by-id';
public const TRASHBIN_DELETED_BY_DISPLAY_NAME = '{http://nextcloud.org/ns}trashbin-deleted-by-display-name';
+ public const TRASHBIN_BACKEND = '{http://nextcloud.org/ns}trashbin-backend';
/** @var Server */
private $server;
@@ -104,6 +106,14 @@ class TrashbinPlugin extends ServerPlugin {
$propFind->handle(FilesPlugin::MOUNT_TYPE_PROPERTYNAME, function () {
return '';
});
+
+ $propFind->handle(self::TRASHBIN_BACKEND, function () use ($node) {
+ $fileInfo = $node->getFileInfo();
+ if (!($fileInfo instanceof ITrashItem)) {
+ return '';
+ }
+ return $fileInfo->getTrashBackend()::class;
+ });
}
/**