From 27eb5d70dea4bc042a3af2de2a224be3b1551a51 Mon Sep 17 00:00:00 2001
From: Eike Kettner <eike.kettner@posteo.de>
Date: Wed, 11 Nov 2020 01:34:04 +0100
Subject: [PATCH] Apply given tags in processing step

Issue: #346
---
 .../src/main/scala/docspell/joex/process/SetGivenData.scala  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/joex/src/main/scala/docspell/joex/process/SetGivenData.scala b/modules/joex/src/main/scala/docspell/joex/process/SetGivenData.scala
index b0c279e7..99348419 100644
--- a/modules/joex/src/main/scala/docspell/joex/process/SetGivenData.scala
+++ b/modules/joex/src/main/scala/docspell/joex/process/SetGivenData.scala
@@ -45,9 +45,10 @@ object SetGivenData {
     Task { ctx =>
       val itemId     = data.item.id
       val collective = ctx.args.meta.collective
+      val tags       = (ctx.args.meta.tags.getOrElse(Nil) ++ data.tags).distinct
       for {
-        _ <- ctx.logger.info(s"Set tags from given data: ${data.tags}")
-        e <- ops.linkTags(itemId, data.tags, collective).attempt
+        _ <- ctx.logger.info(s"Set tags from given data: ${tags}")
+        e <- ops.linkTags(itemId, tags, collective).attempt
         _ <- e.fold(
           ex => ctx.logger.warn(s"Error setting tags: ${ex.getMessage}"),
           _ => ().pure[F]