diff --git a/thehive/app/org/thp/thehive/controllers/v0/AlertCtrl.scala b/thehive/app/org/thp/thehive/controllers/v0/AlertCtrl.scala index 157180e68a..daed87794e 100644 --- a/thehive/app/org/thp/thehive/controllers/v0/AlertCtrl.scala +++ b/thehive/app/org/thp/thehive/controllers/v0/AlertCtrl.scala @@ -191,13 +191,17 @@ class AlertCtrl @Inject() ( val alertIds: Seq[String] = request.body("alertIds") val caseId: String = request.body("caseId") for { - case0 <- caseSrv.get(EntityIdOrName(caseId)).can(Permissions.manageCase).getOrFail("Case") _ <- alertIds.toTry { alertId => - alertSrv - .get(EntityIdOrName(alertId)) - .can(Permissions.manageAlert) - .getOrFail("Alert") - .flatMap(alertSrv.mergeInCase(_, case0)) + caseSrv.get(EntityIdOrName(caseId)) + .can(Permissions.manageCase) + .getOrFail("Case") + .flatMap(`case` => + alertSrv + .get(EntityIdOrName(alertId)) + .can(Permissions.manageAlert) + .getOrFail("Alert") + .flatMap(alertSrv.mergeInCase(_, `case`)) + ) } richCase <- caseSrv.get(EntityIdOrName(caseId)).richCase.getOrFail("Case") } yield Results.Ok(richCase.toJson)