From 6afd5e28e2c67887e5b8f9c191c4ce1247428e8e Mon Sep 17 00:00:00 2001 From: Robin Riclet Date: Mon, 15 Feb 2021 18:20:48 +0100 Subject: [PATCH] #1766 procedure description is optional --- .../org/thp/thehive/dto/v1/Procedure.scala | 6 +++--- .../app/org/thp/thehive/models/Procedure.scala | 18 +++++++++--------- .../controllers/v1/ProcedureCtrlTest.scala | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/dto/src/main/scala/org/thp/thehive/dto/v1/Procedure.scala b/dto/src/main/scala/org/thp/thehive/dto/v1/Procedure.scala index 80a419bd86..97f3bdb229 100644 --- a/dto/src/main/scala/org/thp/thehive/dto/v1/Procedure.scala +++ b/dto/src/main/scala/org/thp/thehive/dto/v1/Procedure.scala @@ -5,7 +5,7 @@ import play.api.libs.json.{Format, JsObject, Json, Reads, Writes} import java.util.Date case class InputProcedure( - description: String, + description: Option[String], occurDate: Date, tactic: String, caseId: String, @@ -15,7 +15,7 @@ case class InputProcedure( object InputProcedure { implicit val reads: Reads[InputProcedure] = Reads[InputProcedure] { json => for { - description <- (json \ "description").validate[String] + description <- (json \ "description").validateOpt[String] occurDate <- (json \ "occurDate").validate[Date] tactic <- (json \ "tactic").validate[String] caseId <- (json \ "caseId").validate[String] @@ -38,7 +38,7 @@ case class OutputProcedure( _createdBy: String, _updatedAt: Option[Date], _updatedBy: Option[String], - description: String, + description: Option[String], occurDate: Date, patternId: String, tactic: String, diff --git a/thehive/app/org/thp/thehive/models/Procedure.scala b/thehive/app/org/thp/thehive/models/Procedure.scala index 3a7825c555..27ddcd81a2 100644 --- a/thehive/app/org/thp/thehive/models/Procedure.scala +++ b/thehive/app/org/thp/thehive/models/Procedure.scala @@ -7,7 +7,7 @@ import java.util.Date @BuildVertexEntity case class Procedure( - description: String, + description: Option[String], occurDate: Date, tactic: String // metadata @@ -17,13 +17,13 @@ case class Procedure( case class ProcedurePattern() case class RichProcedure(procedure: Procedure with Entity, pattern: Pattern with Entity) { - def description: String = procedure.description - def occurDate: Date = procedure.occurDate - def tactic: String = procedure.tactic - def _id: EntityId = procedure._id - def _createdAt: Date = procedure._createdAt - def _createdBy: String = procedure._createdBy - def _updatedAt: Option[Date] = procedure._updatedAt - def _updatedBy: Option[String] = procedure._updatedBy + def description: Option[String] = procedure.description + def occurDate: Date = procedure.occurDate + def tactic: String = procedure.tactic + def _id: EntityId = procedure._id + def _createdAt: Date = procedure._createdAt + def _createdBy: String = procedure._createdBy + def _updatedAt: Option[Date] = procedure._updatedAt + def _updatedBy: Option[String] = procedure._updatedBy } diff --git a/thehive/test/org/thp/thehive/controllers/v1/ProcedureCtrlTest.scala b/thehive/test/org/thp/thehive/controllers/v1/ProcedureCtrlTest.scala index 7bdcdb8fd1..b62b269558 100644 --- a/thehive/test/org/thp/thehive/controllers/v1/ProcedureCtrlTest.scala +++ b/thehive/test/org/thp/thehive/controllers/v1/ProcedureCtrlTest.scala @@ -9,7 +9,7 @@ import play.api.test.{FakeRequest, PlaySpecification} import java.util.Date case class TestProcedure( - description: String, + description: Option[String], occurDate: Date, tactic: String, patternId: String @@ -25,7 +25,7 @@ class ProcedureCtrlTest extends PlaySpecification with TestAppBuilder { "create a valid procedure" in testApp { app => val procedureDate = new Date() val inputProcedure = InputProcedure( - "testProcedure3", + Some("testProcedure3"), procedureDate, "tactic1", "1", @@ -42,7 +42,7 @@ class ProcedureCtrlTest extends PlaySpecification with TestAppBuilder { val resultProcedure = contentAsJson(result).as[OutputProcedure] TestProcedure(resultProcedure) must_=== TestProcedure( - "testProcedure3", + Some("testProcedure3"), procedureDate, "tactic1", "T123" @@ -54,7 +54,7 @@ class ProcedureCtrlTest extends PlaySpecification with TestAppBuilder { .withJsonBody( Json.toJson( InputProcedure( - "an old description", + Some("an old description"), new Date(), "tactic1", "1", @@ -81,7 +81,7 @@ class ProcedureCtrlTest extends PlaySpecification with TestAppBuilder { val resultProcedure = contentAsJson(result3).as[OutputProcedure] TestProcedure(resultProcedure) must_=== TestProcedure( - "a new description", + Some("a new description"), updatedDate, "tactic2", "T123" @@ -93,7 +93,7 @@ class ProcedureCtrlTest extends PlaySpecification with TestAppBuilder { .withJsonBody( Json.toJson( InputProcedure( - "testProcedure3", + Some("testProcedure3"), new Date(), "tactic1", "1",