aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_versions/lib/Versions
diff options
context:
space:
mode:
authorStephan Orbaugh <62374139+sorbaugh@users.noreply.github.com>2025-07-07 17:29:52 +0200
committerGitHub <noreply@github.com>2025-07-07 17:29:52 +0200
commita4879f23a9ff83ea40ec731c15bcf72ea711d8d7 (patch)
tree480374ddbc01d3a5c04f73996ca6b378136ea4ad /apps/files_versions/lib/Versions
parent58a37108da99fcc0a8187fcb53b9ba133d240c34 (diff)
parentcdeed5bcbe2816b452fc29390038efa0b699498f (diff)
downloadnextcloud-server-master.tar.gz
nextcloud-server-master.zip
Merge pull request #53833 from bdovaz/get-revisionHEADmaster
feat(files_versions): get revision for a node
Diffstat (limited to 'apps/files_versions/lib/Versions')
-rw-r--r--apps/files_versions/lib/Versions/IVersionBackend.php8
-rw-r--r--apps/files_versions/lib/Versions/LegacyVersionsBackend.php4
-rw-r--r--apps/files_versions/lib/Versions/VersionManager.php5
3 files changed, 17 insertions, 0 deletions
diff --git a/apps/files_versions/lib/Versions/IVersionBackend.php b/apps/files_versions/lib/Versions/IVersionBackend.php
index 28e3f4dffcf..18f8c17f0ac 100644
--- a/apps/files_versions/lib/Versions/IVersionBackend.php
+++ b/apps/files_versions/lib/Versions/IVersionBackend.php
@@ -8,6 +8,7 @@ declare(strict_types=1);
*/
namespace OCA\Files_Versions\Versions;
+use OC\Files\Node\Node;
use OCP\Files\File;
use OCP\Files\FileInfo;
use OCP\Files\NotFoundException;
@@ -78,4 +79,11 @@ interface IVersionBackend {
* @since 15.0.0
*/
public function getVersionFile(IUser $user, FileInfo $sourceFile, $revision): File;
+
+ /**
+ * Get the revision for a node
+ *
+ * @since 32.0.0
+ */
+ public function getRevision(Node $node): int;
}
diff --git a/apps/files_versions/lib/Versions/LegacyVersionsBackend.php b/apps/files_versions/lib/Versions/LegacyVersionsBackend.php
index 59a10a0775d..40180674b7c 100644
--- a/apps/files_versions/lib/Versions/LegacyVersionsBackend.php
+++ b/apps/files_versions/lib/Versions/LegacyVersionsBackend.php
@@ -212,6 +212,10 @@ class LegacyVersionsBackend implements IVersionBackend, IDeletableVersionBackend
return $file;
}
+ public function getRevision(Node $node): int {
+ return $node->getMTime();
+ }
+
public function deleteVersion(IVersion $version): void {
if (!$this->currentUserHasPermissions($version->getSourceFile(), Constants::PERMISSION_DELETE)) {
throw new Forbidden('You cannot delete this version because you do not have delete permissions on the source file.');
diff --git a/apps/files_versions/lib/Versions/VersionManager.php b/apps/files_versions/lib/Versions/VersionManager.php
index 5f547939213..f72e451f368 100644
--- a/apps/files_versions/lib/Versions/VersionManager.php
+++ b/apps/files_versions/lib/Versions/VersionManager.php
@@ -110,6 +110,11 @@ class VersionManager implements IVersionManager, IDeletableVersionBackend, INeed
return $backend->getVersionFile($user, $sourceFile, $revision);
}
+ public function getRevision(Node $node): int {
+ $backend = $this->getBackendForStorage($node->getStorage());
+ return $backend->getRevision($node);
+ }
+
public function useBackendForStorage(IStorage $storage): bool {
return false;
}