Allow to only return owning spaces

This commit is contained in:
Eike Kettner
2020-07-09 23:23:02 +02:00
parent 6c304b4e7a
commit ea4ab11195
5 changed files with 25 additions and 6 deletions

View File

@ -24,6 +24,8 @@ object QueryParam {
object FullOpt extends OptionalQueryParamDecoderMatcher[Boolean]("full")
object OwningOpt extends OptionalQueryParamDecoderMatcher[Boolean]("owning")
object ContactKindOpt extends OptionalQueryParamDecoderMatcher[ContactKind]("kind")
object QueryOpt extends OptionalQueryParamDecoderMatcher[QueryString]("q")

View File

@ -25,9 +25,11 @@ object SpaceRoutes {
import dsl._
HttpRoutes.of {
case GET -> Root :? QueryParam.QueryOpt(q) =>
case GET -> Root :? QueryParam.QueryOpt(q) :? QueryParam.OwningOpt(owning) =>
val login =
owning.filter(identity).map(_ => user.account.user)
for {
all <- backend.space.findAll(user.account.collective, q.map(_.q))
all <- backend.space.findAll(user.account.collective, login, q.map(_.q))
resp <- Ok(SpaceList(all.map(mkSpace).toList))
} yield resp