From 53a8bb4584c353e114fc388cec17d7da27ae110f Mon Sep 17 00:00:00 2001 From: To-om Date: Thu, 5 Nov 2020 16:52:28 +0100 Subject: [PATCH] #1611 Fix text containing predicate (don't tokenize) --- ScalliGraph | 2 +- .../thp/thehive/controllers/v0/TagCtrl.scala | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ScalliGraph b/ScalliGraph index 8e342bb733..b724b88971 160000 --- a/ScalliGraph +++ b/ScalliGraph @@ -1 +1 @@ -Subproject commit 8e342bb7331457ca18aa7a3d5991c3a905d0fe67 +Subproject commit b724b889717c75855e0cdfdb9df0c5221d64c1f9 diff --git a/thehive/app/org/thp/thehive/controllers/v0/TagCtrl.scala b/thehive/app/org/thp/thehive/controllers/v0/TagCtrl.scala index dd5f388911..636bd0e277 100644 --- a/thehive/app/org/thp/thehive/controllers/v0/TagCtrl.scala +++ b/thehive/app/org/thp/thehive/controllers/v0/TagCtrl.scala @@ -132,6 +132,22 @@ class PublicTag @Inject() (tagSrv: TagSrv) extends PublicData { .property("predicate", UMapping.string)(_.field.readonly) .property("value", UMapping.string.optional)(_.field.readonly) .property("description", UMapping.string.optional)(_.field.readonly) - .property("text", UMapping.string)(_.select(_.displayName).readonly) + .property("text", UMapping.string)( + _.select(_.displayName) + .filter((_, tags) => + tags + .graphMap[String, String, Converter.Identity[String]]( + { v => + val namespace = UMapping.string.getProperty(v, "namespace") + val predicate = UMapping.string.getProperty(v, "predicate") + val value = UMapping.string.optional.getProperty(v, "value") + Tag(namespace, predicate, value, None, 0).toString + }, + Converter.identity[String] + ) + ) + .converter(_ => Converter.identity[String]) + .readonly + ) .build }