bootstrap problem module, model, env and api
This commit is contained in:
parent
a5ab67bce6
commit
68556cb3d6
|
@ -3,9 +3,4 @@ package lila
|
|||
package object chat extends PackageObject with WithPlay {
|
||||
|
||||
private[chat] type ChatId = String
|
||||
|
||||
object tube {
|
||||
|
||||
// implicit lazy val chatTube = Chat.tube inColl Env.current.chatColl
|
||||
}
|
||||
}
|
||||
|
|
30
modules/problem/src/main/Env.scala
Normal file
30
modules/problem/src/main/Env.scala
Normal file
|
@ -0,0 +1,30 @@
|
|||
package lila.problem
|
||||
|
||||
import akka.actor.{ ActorSystem, Props }
|
||||
import com.typesafe.config.Config
|
||||
|
||||
import lila.common.PimpedConfig._
|
||||
|
||||
final class Env(
|
||||
config: Config,
|
||||
db: lila.db.Env,
|
||||
system: ActorSystem) {
|
||||
|
||||
private val settings = new {
|
||||
val CollectionProblem = config getString "collection.problem"
|
||||
}
|
||||
import settings._
|
||||
|
||||
lazy val api = new ProblemApi(
|
||||
coll = problemColl)
|
||||
|
||||
private[problem] lazy val problemColl = db(CollectionProblem)
|
||||
}
|
||||
|
||||
object Env {
|
||||
|
||||
lazy val current: Env = "[boot] problem" describes new Env(
|
||||
config = lila.common.PlayApp loadConfig "problem",
|
||||
db = lila.db.Env.current,
|
||||
system = lila.common.PlayApp.system)
|
||||
}
|
16
modules/problem/src/main/Problem.scala
Normal file
16
modules/problem/src/main/Problem.scala
Normal file
|
@ -0,0 +1,16 @@
|
|||
package lila.problem
|
||||
|
||||
import org.joda.time.DateTime
|
||||
|
||||
case class Problem(
|
||||
id: ProblemId,
|
||||
gameId: String,
|
||||
date: DateTime)
|
||||
|
||||
object Problem {
|
||||
|
||||
import reactivemongo.bson._
|
||||
import lila.db.BSON.BSONJodaDateTimeHandler
|
||||
|
||||
implicit val problemBSONHandler = Macros.handler[Problem]
|
||||
}
|
16
modules/problem/src/main/ProblemApi.scala
Normal file
16
modules/problem/src/main/ProblemApi.scala
Normal file
|
@ -0,0 +1,16 @@
|
|||
package lila.problem
|
||||
|
||||
import reactivemongo.bson.BSONDocument
|
||||
|
||||
import lila.db.Types.Coll
|
||||
import lila.user.{ User, UserRepo }
|
||||
|
||||
private[problem] final class ProblemApi(coll: Coll) {
|
||||
|
||||
import Problem.problemBSONHandler
|
||||
|
||||
def find(id: ProblemId): Fu[Option[Problem]] =
|
||||
coll.find(BSONDocument("_id" -> id)).one[Problem]
|
||||
|
||||
def write(problem: Problem): Funit = coll insert problem void
|
||||
}
|
6
modules/problem/src/main/package.scala
Normal file
6
modules/problem/src/main/package.scala
Normal file
|
@ -0,0 +1,6 @@
|
|||
package lila
|
||||
|
||||
package object problem extends PackageObject with WithPlay {
|
||||
|
||||
private[problem] type ProblemId = String
|
||||
}
|
|
@ -31,7 +31,7 @@ object ApplicationBuild extends Build {
|
|||
gameSearch, timeline, forum, forumSearch, team, teamSearch,
|
||||
ai, analyse, mod, monitor, site, round, lobby, setup,
|
||||
importer, tournament, relation, report, pref, simulation,
|
||||
evaluation, chat)
|
||||
evaluation, chat, problem)
|
||||
|
||||
lazy val moduleRefs = modules map projectToRef
|
||||
lazy val moduleCPDeps = moduleRefs map { new sbt.ClasspathDependency(_, None) }
|
||||
|
@ -43,6 +43,11 @@ object ApplicationBuild extends Build {
|
|||
actuarius, scalastic, findbugs, RM)
|
||||
) aggregate (moduleRefs: _*)
|
||||
|
||||
lazy val problem = project("problem", Seq(
|
||||
common, hub, db, user)).settings(
|
||||
libraryDependencies ++= provided(play.api, RM, PRM)
|
||||
)
|
||||
|
||||
lazy val evaluation = project("evaluation", Seq(
|
||||
common, hub, db, user, game)).settings(
|
||||
libraryDependencies ++= provided(play.api, RM, PRM)
|
||||
|
|
Loading…
Reference in a new issue