Skip to content

Commit

Permalink
#1652 Clone traversal to fix updates
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Nov 19, 2020
1 parent 9506fe3 commit 8d0dd41
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 9 deletions.
8 changes: 3 additions & 5 deletions thehive/app/org/thp/thehive/services/LogSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,9 @@ class LogSrv @Inject() (attachmentSrv: AttachmentSrv, auditSrv: AuditSrv, taskSr
)(implicit graph: Graph, authContext: AuthContext): Try[(Traversal.V[Log], JsObject)] =
auditSrv.mergeAudits(super.update(traversal, propertyUpdaters)) {
case (logSteps, updatedFields) =>
for {
task <- logSteps.clone().task.getOrFail("Task")
log <- logSteps.getOrFail("Log")
_ <- auditSrv.log.update(log, task, updatedFields)
} yield ()
logSteps.clone().project(_.by.by(_.task)).getOrFail("Log").flatMap {
case (log, task) => auditSrv.log.update(log, task, updatedFields)
}
}
}

Expand Down
8 changes: 4 additions & 4 deletions thehive/app/org/thp/thehive/services/ObservableSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -183,10 +183,10 @@ class ObservableSrv @Inject() (
)(implicit graph: Graph, authContext: AuthContext): Try[(Traversal.V[Observable], JsObject)] =
auditSrv.mergeAudits(super.update(traversal, propertyUpdaters)) {
case (observableSteps, updatedFields) =>
for {
observable <- observableSteps.getOrFail("Observable")
_ <- auditSrv.observable.update(observable, updatedFields)
} yield ()
observableSteps
.clone()
.getOrFail("Observable")
.flatMap(observable => auditSrv.observable.update(observable, updatedFields))
}
}

Expand Down

0 comments on commit 8d0dd41

Please sign in to comment.