From 91335560fcdecfa0fb5fdfa99e2f0486a7a3b1cc Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 14 Aug 2026 12:36:25 -0400 Subject: [PATCH 1/2] fix(preview): delete version metadata by preview ID Signed-off-by: Josh --- lib/private/Preview/Db/PreviewMapper.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/private/Preview/Db/PreviewMapper.php b/lib/private/Preview/Db/PreviewMapper.php index d6508c64afe52..805a5ce084fdf 100644 --- a/lib/private/Preview/Db/PreviewMapper.php +++ b/lib/private/Preview/Db/PreviewMapper.php @@ -80,11 +80,15 @@ public function update(Entity $entity): Entity { public function delete(Entity $entity): Entity { /** @var Preview $preview */ $preview = $entity; - if ($preview->getVersion() !== null && $preview->getVersion() !== '') { + + $versionId = $preview->getVersionId(); + if ($versionId !== null && $versionId !== '' && $versionId !== '-1') { $qb = $this->db->getQueryBuilder(); $qb->delete(self::VERSION_TABLE_NAME) - ->where($qb->expr()->eq('file_id', $qb->createNamedParameter($preview->getFileId()))) - ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter($preview->getVersion()))) + ->where($qb->expr()->eq( + 'id', + $qb->createNamedParameter($versionId), + )) ->executeStatement(); } From 450f247ffa446bf31d7581df9b7c066450877e0d Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 14 Aug 2026 13:52:47 -0400 Subject: [PATCH 2/2] fix(preview): declare Preview version ID getter Signed-off-by: Josh --- lib/private/Preview/Db/Preview.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/private/Preview/Db/Preview.php b/lib/private/Preview/Db/Preview.php index a55d920cc3404..7cca607e0816e 100644 --- a/lib/private/Preview/Db/Preview.php +++ b/lib/private/Preview/Db/Preview.php @@ -47,7 +47,8 @@ * @method string getEtag() Get the etag of the preview. * @method void setEtag(string $etag) * @method string|null getVersion() Get the version for files_versions_s3 - * @method void setVersionId(string $versionId) + * @method string|null getVersionId() Get the ID of the version metadata row. + * @method void setVersionId(string $versionId) Set the ID of the version metadata row. * @method bool|null getIs() Get the version for files_versions_s3 * @method bool isEncrypted() Get whether the preview is encrypted. At the moment every preview is unencrypted. * @method void setEncrypted(bool $encrypted)