style and code dedup

This commit is contained in:
Thibault Duplessis 2017-01-09 09:49:16 +01:00
parent 3b8ad13308
commit ee879568b1
3 changed files with 11 additions and 24 deletions

View file

@ -37,7 +37,7 @@ object Search extends LilaController {
RateLimitGlobal("-", cost = cost) {
Env.game.cached.nbTotal flatMap { nbGames =>
implicit def req = ctx.body
negotiate (
negotiate(
html = searchForm.bindFromRequest.fold(
failure => Ok(html.search.index(failure, none, nbGames)).fuccess,
data => data.nonEmptyQuery ?? { query =>
@ -50,15 +50,13 @@ object Search extends LilaController {
failure => Ok(jsonError("Could not process search query")).fuccess,
data => data.nonEmptyQuery ?? { query =>
env.paginator(query, page) map (_.some)
} flatMap { pager =>
pager match {
case Some(s) =>
Env.api.userGameApi.search(s) map {
Ok(_)
}
case None =>
Ok(jsonError("Could not process search query")).fuccess
}
} flatMap {
case Some(s) =>
Env.api.userGameApi.jsPaginator(s) map {
Ok(_)
}
case None =>
BadRequest(jsonError("Could not process search query")).fuccess
}
)
)

View file

@ -94,8 +94,8 @@ object User extends LilaController {
}
}.map { status(_) }.mon(_.http.response.user.show.website),
api = _ => userGames(u, filterOption, page).flatMap {
case (filterName, pag) => Env.api.userGameApi.filter(filterName, pag) map {
Ok(_)
case (filterName, pag) => Env.api.userGameApi.jsPaginator(pag) map { res =>
Ok(res ++ Json.obj("filter" -> filterName))
}
}.mon(_.http.response.user.show.mobile))
else negotiate(

View file

@ -16,18 +16,7 @@ final class UserGameApi(
import lila.round.JsonView._
import LightUser.lightUserWrites
def filter(filterName: String, pag: Paginator[Game])(implicit ctx: Context): Fu[JsObject] =
bookmarkApi.filterGameIdsBookmarkedBy(pag.currentPageResults, ctx.me) map { bookmarkedIds =>
implicit val gameWriter = Writes[Game] { g =>
write(g, bookmarkedIds(g.id))
}
Json.obj(
"filter" -> filterName,
"paginator" -> lila.common.paginator.PaginatorJson(pag)
)
}
def search(pag: Paginator[Game])(implicit ctx: Context): Fu[JsObject] =
def jsPaginator(pag: Paginator[Game])(implicit ctx: Context): Fu[JsObject] =
bookmarkApi.filterGameIdsBookmarkedBy(pag.currentPageResults, ctx.me) map { bookmarkedIds =>
implicit val gameWriter = Writes[Game] { g =>
write(g, bookmarkedIds(g.id))