flexible game search date constraints

This commit is contained in:
Thibault Duplessis 2016-01-31 00:21:02 +07:00
parent 9eebbc5e0d
commit 03c1b00bd9

View file

@ -32,8 +32,8 @@ private[gameSearch] final class DataForm {
"aiLevelMax" -> optional(numberIn(Query.aiLevels)),
"durationMin" -> optional(numberIn(Query.durations)),
"durationMax" -> optional(numberIn(Query.durations)),
"dateMin" -> optional(stringIn(Query.dates)),
"dateMax" -> optional(stringIn(Query.dates)),
"dateMin" -> optional(dateConstraint),
"dateMax" -> optional(dateConstraint),
"status" -> optional(numberIn(Query.statuses)),
"analysed" -> optional(number),
"sort" -> optional(mapping(
@ -99,6 +99,9 @@ private[gameSearch] case class SearchData(
case DateDelta(n, "y") => parseIntOption(n) map DateTime.now.minusYears
case _ => None
}
private val dateConstraint = Constraints.pattern(
regex = DateDelta,
error = "Invalid date.")
}
private[gameSearch] case class SearchPlayer(