Skip to content

Commit

Permalink
#1544 Fix related cases query to return all similar observables
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Sep 21, 2020
1 parent f59c49f commit 30b9633
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 27 deletions.
40 changes: 14 additions & 26 deletions thehive/app/org/thp/thehive/services/CaseSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -468,33 +468,21 @@ object CaseOps {
JMap[String, Any]
]]]
traversal
.`match`(
_.as(originCaseLabel)(
_.in[ShareCase]
.filter(
_.in[OrganisationShare]
.has("name", authContext.organisation)
)
.out[ShareObservable]
.v[Observable]
).as(observableLabel),
_.as(observableLabel)(
_.out[ObservableData]
.in[ObservableData]
.in[ShareObservable]
.filter(
_.in[OrganisationShare]
.has("name", authContext.organisation)
)
.out("ShareCase")
.where(P.neq(originCaseLabel.name))
.v[Case]
).as(linkedCaseLabel),
_.as(linkedCaseLabel)(_.richCase).as(richCaseLabel),
_.as(observableLabel)(_.richObservable.fold).as(richObservablesLabel)
.as(originCaseLabel)
.observables
.as(observableLabel)
.out[ObservableData]
.in[ObservableData]
.in[ShareObservable]
.filter(
_.in[OrganisationShare]
.has("name", authContext.organisation)
)
.dedup(richCaseLabel)
.select((richCaseLabel, richObservablesLabel))
.out[ShareCase]
.where(P.neq(originCaseLabel.name))
.group(_.by, _.by(_.select(observableLabel).richObservable.fold))
.unfold
.project(_.by(_.selectKeys.v[Case].richCase).by(_.selectValues))
.toSeq
}

Expand Down
2 changes: 1 addition & 1 deletion thehive/app/org/thp/thehive/services/ObservableSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ object ObservableOps {
def similar: Traversal.V[Observable] = {
val originLabel = StepLabel.v[Observable]
traversal
.aggregate(originLabel)
.aggregateLocal(originLabel)
.unionFlat(
_.out[ObservableData]
.in[ObservableData],
Expand Down

0 comments on commit 30b9633

Please sign in to comment.