From eede19435260e09a62033fd5ace8473d0e79a33b Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Sun, 8 Nov 2020 21:27:55 +0100 Subject: [PATCH] Fix deleting preview files --- .../scala/docspell/store/queries/QAttachment.scala | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/store/src/main/scala/docspell/store/queries/QAttachment.scala b/modules/store/src/main/scala/docspell/store/queries/QAttachment.scala index 0371ff79..ca5260aa 100644 --- a/modules/store/src/main/scala/docspell/store/queries/QAttachment.scala +++ b/modules/store/src/main/scala/docspell/store/queries/QAttachment.scala @@ -27,18 +27,19 @@ object QAttachment { val loadFiles = for { ra <- RAttachment.findByIdAndCollective(attachId, coll).map(_.map(_.fileId)) rs <- RAttachmentSource.findByIdAndCollective(attachId, coll).map(_.map(_.fileId)) + rp <- RAttachmentPreview.findByIdAndCollective(attachId, coll).map(_.map(_.fileId)) ne <- RAttachmentArchive.countEntries(attachId) - } yield (ra, rs, ne) + } yield (ra.toSeq ++ rs.toSeq ++ rp.toSeq, ne) for { files <- store.transact(loadFiles) k <- - if (files._3 == 1) deleteArchive(store)(attachId) + if (files._2 == 1) deleteArchive(store)(attachId) else store.transact(RAttachmentArchive.delete(attachId)) n <- store.transact(RAttachment.delete(attachId)) f <- Stream - .emits(files._1.toSeq ++ files._2.toSeq) + .emits(files._1) .map(_.id) .flatMap(store.bitpeace.delete) .map(flag => if (flag) 1 else 0) @@ -55,13 +56,14 @@ object QAttachment { for { _ <- logger.fdebug[F](s"Deleting attachment: ${ra.id.id}") s <- store.transact(RAttachmentSource.findById(ra.id)) + p <- store.transact(RAttachmentPreview.findById(ra.id)) n <- store.transact(RAttachment.delete(ra.id)) _ <- logger.fdebug[F]( - s"Deleted $n meta records (source, meta, archive). Deleting binaries now." + s"Deleted $n meta records (source, meta, preview, archive). Deleting binaries now." ) f <- Stream - .emits(ra.fileId.id +: (s.map(_.fileId.id).toSeq)) + .emits(ra.fileId.id +: (s.map(_.fileId.id).toSeq ++ p.map(_.fileId.id).toSeq)) .flatMap(store.bitpeace.delete) .map(flag => if (flag) 1 else 0) .compile