Skip to content

Commit

Permalink
#1621 Add properties "viewingOrganisation" and "owningOrganisation" t…
Browse files Browse the repository at this point in the history
…o case
  • Loading branch information
To-om committed Nov 6, 2020
1 parent acce93d commit ac0421b
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
6 changes: 6 additions & 0 deletions thehive/app/org/thp/thehive/controllers/v0/CaseCtrl.scala
Original file line number Diff line number Diff line change
Expand Up @@ -352,5 +352,11 @@ class PublicCase @Inject() (
)
).readonly
)
.property("viewingOrganisation", UMapping.string)(
_.authSelect((cases, authContext) => cases.organisations.visible(authContext).value(_.name)).readonly
)
.property("owningOrganisation", UMapping.string)(
_.authSelect((cases, authContext) => cases.origin.visible(authContext).value(_.name)).readonly
)
.build
}
12 changes: 6 additions & 6 deletions thehive/app/org/thp/thehive/services/th3/Aggregation.scala
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ case class AggSum(aggName: Option[String], fieldName: String) extends Aggregatio
traversal.coalesce(
t =>
property
.select(fieldPath, t)
.select(fieldPath, t, authContext)
.sum
.domainMap(sum => Output(Json.obj(name -> JsNumber(BigDecimal(sum.toString)))))
.castDomain[Output[_]],
Expand All @@ -184,7 +184,7 @@ case class AggAvg(aggName: Option[String], fieldName: String) extends Aggregatio
traversal.coalesce(
t =>
property
.select(fieldPath, t)
.select(fieldPath, t, authContext)
.mean
.domainMap(avg => Output(Json.obj(name -> avg.asInstanceOf[Double]))),
Output(Json.obj(name -> JsNull))
Expand All @@ -207,7 +207,7 @@ case class AggMin(aggName: Option[String], fieldName: String) extends Aggregatio
traversal.coalesce(
t =>
property
.select(fieldPath, t)
.select(fieldPath, t, authContext)
.min
.domainMap(min => Output(Json.obj(name -> property.mapping.selectRenderer.toJson(min)))),
Output(Json.obj(name -> JsNull))
Expand All @@ -230,7 +230,7 @@ case class AggMax(aggName: Option[String], fieldName: String) extends Aggregatio
traversal.coalesce(
t =>
property
.select(fieldPath, t)
.select(fieldPath, t, authContext)
.max
.domainMap(max => Output(Json.obj(name -> property.mapping.selectRenderer.toJson(max)))),
Output(Json.obj(name -> JsNull))
Expand Down Expand Up @@ -275,7 +275,7 @@ case class FieldAggregation(
val property = publicProperties
.get[Traversal.UnkD, Traversal.UnkDU](fieldPath, traversalType)
.getOrElse(throw BadRequestError(s"Property $fieldName for type $traversalType not found"))
val groupedVertices = property.select(fieldPath, traversal.as(label)).group(_.by, _.by(_.select(label).fold)).unfold
val groupedVertices = property.select(fieldPath, traversal.as(label), authContext).group(_.by, _.by(_.select(label).fold)).unfold
val sortedAndGroupedVertex = orders
.map {
case order if order.headOption.contains('-') => order.tail -> Order.desc
Expand Down Expand Up @@ -377,7 +377,7 @@ case class TimeAggregation(
.getOrElse(throw BadRequestError(s"Property $fieldName for type $traversalType not found"))
val label = StepLabel[Traversal.UnkD, Traversal.UnkG, Converter[Traversal.UnkD, Traversal.UnkG]]
val groupedVertex = property
.select(fieldPath, traversal.as(label))
.select(fieldPath, traversal.as(label), authContext)
.cast[Date, Date]
.graphMap[Long, JLong, Converter[Long, JLong]](dateToKey, Converter.long)
.group(_.by, _.by(_.select(label).fold))
Expand Down

0 comments on commit ac0421b

Please sign in to comment.