/api/team/:id endpoint - for #6371

signup-email-preload
Thibault Duplessis 2020-04-12 11:31:33 -06:00
parent 1564413f97
commit 179f08609a
3 changed files with 16 additions and 17 deletions

View File

@ -325,15 +325,6 @@ abstract private[controllers] class LilaController(val env: Env)
_.fold(notFound(ctx))(a => fuccess(Ok(Json toJson a) as JSON))
}
protected def JsonOptionFuOk[A, B: Writes](fua: Fu[Option[A]])(op: A => Fu[B])(implicit ctx: Context) =
fua flatMap {
_.fold(notFound(ctx))(a =>
op(a) map { b =>
Ok(Json toJson b) as JSON
}
)
}
protected def JsOk(fua: Fu[String], headers: (String, String)*) =
fua map { a =>
Ok(a) as JAVASCRIPT withHeaders (headers: _*)

View File

@ -27,14 +27,6 @@ final class Team(
paginator popularTeams page map { html.team.list.all(_) }
}
def apiAll(page: Int) = Action.async {
import env.team.jsonView._
import lila.common.paginator.PaginatorJson._
paginator popularTeams page map { pag =>
Ok(Json toJson pag) as JSON
}
}
def home(page: Int) = Open { implicit ctx =>
ctx.me.??(api.hasTeams) map {
case true => Redirect(routes.Team.mine)
@ -303,6 +295,21 @@ final class Team(
}
)
// API
def apiAll(page: Int) = Action.async {
import env.team.jsonView._
import lila.common.paginator.PaginatorJson._
paginator popularTeams page map { pag =>
Ok(Json toJson pag) as JSON
}
}
def apiShow(id: String) = Open { implicit ctx =>
import env.team.jsonView._
JsonOptionOk(api team id)
}
private def doPmAll(team: TeamModel, me: UserModel)(implicit req: Request[_]): Either[Form[_], Funit] =
forms.pmAll.bindFromRequest
.fold(

View File

@ -285,6 +285,7 @@ GET /team/:id/pm-all controllers.Team.pmAll(id: String)
POST /team/:id/pm-all controllers.Team.pmAllSubmit(id: String)
# Team API
GET /api/team/all controllers.Team.apiAll(page: Int ?= 1)
GET /api/team/:id controllers.Team.apiShow(id: String)
GET /api/team/:id/users controllers.Team.users(id: String)
# Analyse