fix(files_versions): Folder should not be hardcoed

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
This commit is contained in:
Git'Fellow 2025-05-08 18:00:23 +02:00 committed by backportbot[bot]
parent 0b626f5d21
commit aa913a9ad2

View file

@ -362,16 +362,20 @@ class LegacyVersionsBackend implements IVersionBackend, IDeletableVersionBackend
* @inheritdoc
*/
public function clearVersionsForFile(IUser $user, Node $source, Node $target): void {
$userFolder = $this->rootFolder->getUserFolder($user->getUID());
$userId = $user->getUID();
$userFolder = $this->rootFolder->getUserFolder($userId);
$relativePath = $userFolder->getRelativePath($source->getPath());
if ($relativePath === null) {
throw new Exception('Relative path not found for node with path: ' . $source->getPath());
}
$versions = Storage::getVersions($user->getUID(), $relativePath);
/** @var Folder versionFolder */
$versionFolder = $this->rootFolder->get('admin/files_versions');
$versionFolder = $this->rootFolder->get($userId . '/files_versions');
if (!$versionFolder instanceof Folder) {
throw new Exception('User versions folder does not exist');
}
$versions = Storage::getVersions($userId, $relativePath);
foreach ($versions as $version) {
$versionFolder->get($version['path'] . '.v' . (int) $version['version'])->delete();
}