From 27889fe546910967af5978c508f20eeb7240d2d2 Mon Sep 17 00:00:00 2001 From: To-om Date: Thu, 21 May 2020 12:36:26 +0200 Subject: [PATCH] #1328 Include parent objects in responder request --- .../cortex/controllers/v0/ActionCtrl.scala | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/controllers/v0/ActionCtrl.scala b/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/controllers/v0/ActionCtrl.scala index 1e9a62f835..249f03b2ea 100644 --- a/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/controllers/v0/ActionCtrl.scala +++ b/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/controllers/v0/ActionCtrl.scala @@ -11,7 +11,7 @@ import org.thp.thehive.connector.cortex.dto.v0.InputAction import org.thp.thehive.connector.cortex.models.RichAction import org.thp.thehive.connector.cortex.services.{ActionSrv, ActionSteps, EntityHelper} import org.thp.thehive.controllers.v0.Conversion.{toObjectType, _} -import org.thp.thehive.controllers.v0.{IdOrName, OutputParam, QueryableCtrl} +import org.thp.thehive.controllers.v0.{AuditRenderer, IdOrName, OutputParam, QueryableCtrl} import org.thp.thehive.models._ import org.thp.thehive.services._ import play.api.libs.json.{JsObject, Json, OWrites} @@ -32,16 +32,17 @@ class ActionCtrl @Inject() ( logSrv: LogSrv, alertSrv: AlertSrv, implicit val executionContext: ExecutionContext -) extends QueryableCtrl { +) extends QueryableCtrl + with AuditRenderer { implicit val entityWrites: OWrites[Entity] = OWrites[Entity] { entity => db.roTransaction { implicit graph => entity match { - case c: Case => caseSrv.get(c).richCaseWithoutPerms.getOrFail("Case").map(_.toJson.as[JsObject]) - case t: Task => taskSrv.get(t).richTask.getOrFail("Task").map(_.toJson.as[JsObject]) - case o: Observable => observableSrv.get(o).richObservable.getOrFail("Observable").map(_.toJson.as[JsObject]) - case l: Log => logSrv.get(l).richLog.getOrFail("Log").map(_.toJson.as[JsObject]) - case a: Alert => alertSrv.get(a).richAlert.getOrFail("Alert").map(_.toJson.as[JsObject]) + case c: Case => caseToJson(caseSrv.get(c)).getOrFail("Case") + case t: Task => taskToJson(taskSrv.get(t)).getOrFail("Task") + case o: Observable => observableToJson(observableSrv.get(o)).getOrFail("Observable") + case l: Log => logToJson(logSrv.get(l)).getOrFail("Log") + case a: Alert => alertToJson(alertSrv.get(a)).getOrFail("Alert") } } .getOrElse(Json.obj("_type" -> entity._model.label, "_id" -> entity._id))