aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_versions/lib/Versions/VersionManager.php
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2022-11-29 16:26:54 +0100
committerLouis (Rebase PR Action) <artonge@users.noreply.github.com>2023-01-26 10:12:23 +0000
commit6a2f8bc5997a4b40baf8b967d6d8ccdf29735d3b (patch)
tree116fa4a442c97ac44839e14460b797d50f77e4f2 /apps/files_versions/lib/Versions/VersionManager.php
parent629de6c8c97f9a455944046737421b927b1e2d9b (diff)
downloadnextcloud-server-6a2f8bc5997a4b40baf8b967d6d8ccdf29735d3b.tar.gz
nextcloud-server-6a2f8bc5997a4b40baf8b967d6d8ccdf29735d3b.zip
Allow to delete a version through DAV
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'apps/files_versions/lib/Versions/VersionManager.php')
-rw-r--r--apps/files_versions/lib/Versions/VersionManager.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/apps/files_versions/lib/Versions/VersionManager.php b/apps/files_versions/lib/Versions/VersionManager.php
index 4787de7fdac..bfae0937df8 100644
--- a/apps/files_versions/lib/Versions/VersionManager.php
+++ b/apps/files_versions/lib/Versions/VersionManager.php
@@ -30,7 +30,7 @@ use OCP\Files\FileInfo;
use OCP\Files\Storage\IStorage;
use OCP\IUser;
-class VersionManager implements IVersionManager, INameableVersionBackend {
+class VersionManager implements IVersionManager, INameableVersionBackend, IDeletableVersionBackend {
/** @var (IVersionBackend[])[] */
private $backends = [];
@@ -117,4 +117,11 @@ class VersionManager implements IVersionManager, INameableVersionBackend {
$backend->setVersionLabel($version, $label);
}
}
+
+ public function deleteVersion(IVersion $version): void {
+ $backend = $this->getBackendForStorage($version->getSourceFile()->getStorage());
+ if ($backend instanceof IDeletableVersionBackend) {
+ $backend->deleteVersion($version);
+ }
+ }
}