From 3ff9284a64429e13b67639b4d2a2e5bdbca3d803 Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Tue, 19 Jan 2021 23:13:51 +0100 Subject: [PATCH] Return classifier results as suggestions --- .../scala/docspell/store/queries/QAttachment.scala | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 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 a9afc0bf..b1fb11b8 100644 --- a/modules/store/src/main/scala/docspell/store/queries/QAttachment.scala +++ b/modules/store/src/main/scala/docspell/store/queries/QAttachment.scala @@ -119,7 +119,7 @@ object QAttachment { def getMetaProposals(itemId: Ident, coll: Ident): ConnectionIO[MetaProposalList] = { val q = Select( - am.proposals.s, + select(am.proposals, am.classifyProposals), from(am) .innerJoin(a, a.id === am.id) .innerJoin(item, a.itemId === item.id), @@ -127,8 +127,15 @@ object QAttachment { ).build for { - ml <- q.query[MetaProposalList].to[Vector] - } yield MetaProposalList.flatten(ml) + ml <- q.query[(MetaProposalList, Option[MetaProposalList])].to[Vector] + pairs = ml.foldLeft( + (Vector.empty[MetaProposalList], Vector.empty[MetaProposalList]) + ) { case ((vl, vr), (m, o)) => + (vl.appended(m), o.map(vr.appended).getOrElse(vr)) + } + } yield MetaProposalList + .flatten(pairs._1) + .fillEmptyFrom(MetaProposalList.flatten(pairs._2)) } def getAttachmentMeta(