From 75fd7f27ef3f7bde13379920edcb5375a8d0350b 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 8aac5f3488ec0..7940ab5e9b9ba 100644 --- a/lib/private/Preview/Db/PreviewMapper.php +++ b/lib/private/Preview/Db/PreviewMapper.php @@ -84,11 +84,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 70938c2eba1eb922b8b3911b598e19596f35c5d6 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 6d383c4287575..ab2e96a221c51 100644 --- a/lib/private/Preview/Db/Preview.php +++ b/lib/private/Preview/Db/Preview.php @@ -46,7 +46,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)