Skip to content

Commit

Permalink
#2305 Improve migration tool
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Dec 30, 2021
1 parent f216ed3 commit 2905472
Show file tree
Hide file tree
Showing 15 changed files with 483 additions and 924 deletions.
2 changes: 1 addition & 1 deletion ScalliGraph
4 changes: 0 additions & 4 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -342,10 +342,6 @@ lazy val thehiveMigration = (project in file("migration"))
resolvers += "elasticsearch-releases" at "https://artifacts.elastic.co/maven",
crossScalaVersions := Seq(scala212),
libraryDependencies ++= Seq(
elastic4sCore,
elastic4sHttpStreams,
elastic4sClient,
// jts,
ehcache,
scopt,
specs % Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ object Migrate extends App with MigrationOps {
.valueName("<index>")
.text("TheHive3 ElasticSearch index name")
.action((i, c) => addConfig(c, "input.search.index", i)),
opt[String]('x', "es-index-version")
.valueName("<index>")
.text("TheHive3 ElasticSearch index name version number (default: autodetect)")
.action((i, c) => addConfig(c, "input.search.indexVersion", i)),
opt[String]('a', "es-keepalive")
.valueName("<duration>")
.text("TheHive3 ElasticSearch keepalive")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ trait Conversion {
endDate <- (json \ "endDate").validateOpt[Date]
flag <- (json \ "flag").validate[Boolean]
tlp <- (json \ "tlp").validate[Int]
pap <- (json \ "pap").validate[Int]
pap <- (json \ "pap").validateOpt[Int]
status <- (json \ "status").validate[CaseStatus.Value]
summary <- (json \ "summary").validateOpt[String]
user <- (json \ "owner").validateOpt[String]
Expand All @@ -86,7 +86,7 @@ trait Conversion {
endDate = endDate,
flag = flag,
tlp = tlp,
pap = pap,
pap = pap.getOrElse(2),
status = status,
summary = summary,
tags = tags.toSeq,
Expand Down Expand Up @@ -127,7 +127,7 @@ trait Conversion {
message <- (json \ "message").validateOpt[String]
tlp <- (json \ "tlp").validate[Int]
ioc <- (json \ "ioc").validate[Boolean]
sighted <- (json \ "sighted").validate[Boolean]
sighted <- (json \ "sighted").validateOpt[Boolean]
dataType <- (json \ "dataType").validate[String]
tags = (json \ "tags").asOpt[Set[String]].getOrElse(Set.empty)
taxonomiesList <- Json.parse((json \ "reports").asOpt[String].getOrElse("{}")).validate[Seq[ReportTag]]
Expand All @@ -146,7 +146,7 @@ trait Conversion {
message = message,
tlp = tlp,
ioc = ioc,
sighted = sighted,
sighted = sighted.getOrElse(false),
ignoreSimilarity = None,
dataType = dataType,
tags = tags.toSeq
Expand All @@ -161,7 +161,7 @@ trait Conversion {
for {
metaData <- json.validate[MetaData]
title <- (json \ "title").validate[String]
group <- (json \ "group").validate[String]
group <- (json \ "group").validateOpt[String]
description <- (json \ "description").validateOpt[String]
status <- (json \ "status").validate[TaskStatus.Value]
flag <- (json \ "flag").validate[Boolean]
Expand All @@ -174,7 +174,7 @@ trait Conversion {
metaData,
Task(
title = title,
group = group,
group = group.getOrElse("default"),
description = description,
status = status,
flag = flag,
Expand Down Expand Up @@ -219,8 +219,12 @@ trait Conversion {
read = status == "Ignored" || status == "Imported"
follow <- (json \ "follow").validate[Boolean]
caseId <- (json \ "case").validateOpt[String]
tags = (json \ "tags").asOpt[Set[String]].getOrElse(Set.empty).filterNot(_.isEmpty)
customFields = (json \ "metrics").asOpt[JsObject].getOrElse(JsObject.empty)
tags = (json \ "tags").asOpt[Set[String]].getOrElse(Set.empty).filterNot(_.isEmpty)
metrics = (json \ "metrics").asOpt[JsObject].getOrElse(JsObject.empty)
metricsValue = metrics.value.map {
case (name, value) => name -> Some(value)
}
customFields = (json \ "customFields").asOpt[JsObject].getOrElse(JsObject.empty)
customFieldsValue = customFields.value.map {
case (name, value) =>
name -> Some((value \ "string") orElse (value \ "boolean") orElse (value \ "number") orElse (value \ "date") getOrElse JsNull)
Expand All @@ -246,7 +250,7 @@ trait Conversion {
),
caseId,
mainOrganisation,
customFieldsValue.toMap,
(metricsValue ++ customFieldsValue).toMap,
caseTemplate: Option[String]
)
}
Expand Down

This file was deleted.

Loading

0 comments on commit 2905472

Please sign in to comment.