|
@@ -11,10 +11,14 @@ import models._
|
|
|
|
|
|
object Cards extends Controller {
|
|
object Cards extends Controller {
|
|
|
|
|
|
- val cardForm = Form(mapping(
|
|
|
|
|
|
+ val cardMapping = mapping(
|
|
"word" -> text,
|
|
"word" -> text,
|
|
- "taboos" -> seq(text).transform(_.toSet, (set: Set[String]) => set.toSeq)
|
|
|
|
- )(Card.apply)(Card.unapply))
|
|
|
|
|
|
+ "taboo" -> seq(text).transform(_.toSet, (set: Set[String]) => set.toSeq)
|
|
|
|
+ )(Card.apply)(Card.unapply)
|
|
|
|
+
|
|
|
|
+ val cardForm = Form(cardMapping)
|
|
|
|
+
|
|
|
|
+ val cardsForm = Form(seq(cardMapping))
|
|
|
|
|
|
def add = Action(parse.json) { implicit request =>
|
|
def add = Action(parse.json) { implicit request =>
|
|
cardForm.bindFromRequest.fold(
|
|
cardForm.bindFromRequest.fold(
|
|
@@ -33,6 +37,18 @@ object Cards extends Controller {
|
|
))
|
|
))
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ def load = Action(parse.json) { implicit request =>
|
|
|
|
+ cardsForm.bindFromRequest.fold(
|
|
|
|
+ { case error => BadRequest("invalid format") },
|
|
|
|
+ { case cards =>
|
|
|
|
+ cards.foreach { card =>
|
|
|
|
+ Card.add(card)
|
|
|
|
+ }
|
|
|
|
+ Ok("ok")
|
|
|
|
+ }
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+
|
|
def dump = Action {
|
|
def dump = Action {
|
|
Ok(Json.toJson(Card.list()))
|
|
Ok(Json.toJson(Card.list()))
|
|
}
|
|
}
|