Bookmark imported game
parent
51013bc56c
commit
649a8c7659
|
@ -13,13 +13,13 @@ final class BookmarkApi(
|
|||
userRepo: UserRepo,
|
||||
paginator: PaginatorBuilder) {
|
||||
|
||||
def toggle(gameId: String, user: User): IO[Unit] = for {
|
||||
def toggle(gameId: String, userId: String): IO[Unit] = for {
|
||||
gameOption ← gameRepo game gameId
|
||||
_ ← gameOption.fold(
|
||||
game ⇒ for {
|
||||
bookmarked ← bookmarkRepo.toggle(game.id, user.id)
|
||||
bookmarked ← bookmarkRepo.toggle(game.id, userId)
|
||||
_ ← gameRepo.incBookmarks(game.id, bookmarked.fold(1, -1))
|
||||
_ ← io(cached invalidateUserId user.id)
|
||||
_ ← io(cached invalidateUserId userId)
|
||||
} yield (),
|
||||
io())
|
||||
} yield ()
|
||||
|
|
|
@ -12,7 +12,6 @@ object Bookmark extends LilaController {
|
|||
private def gameRepo = env.game.gameRepo
|
||||
|
||||
def toggle(gameId: String) = Auth { implicit ctx ⇒
|
||||
me ⇒
|
||||
IOk(api.toggle(gameId, me))
|
||||
me ⇒ IOk(api.toggle(gameId, me.id))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,8 @@ final class CoreEnv private (application: Application, val settings: Settings) {
|
|||
lazy val importer = new lila.importer.ImporterEnv(
|
||||
gameRepo = game.gameRepo,
|
||||
hand = round.hand,
|
||||
finisher = round.finisher)
|
||||
finisher = round.finisher,
|
||||
bookmark = bookmark.api.toggle _)
|
||||
|
||||
lazy val tournament = new lila.tournament.TournamentEnv(
|
||||
app = app,
|
||||
|
|
|
@ -12,7 +12,8 @@ import akka.dispatch.Future
|
|||
final class Importer(
|
||||
gameRepo: GameRepo,
|
||||
hand: Hand,
|
||||
finisher: Finisher) extends Futuristic {
|
||||
finisher: Finisher,
|
||||
bookmark: (String, String) ⇒ IO[Unit]) extends Futuristic {
|
||||
|
||||
val delayInMs = 100
|
||||
|
||||
|
@ -26,6 +27,9 @@ final class Importer(
|
|||
_ ← ((result |@| dbGame) apply {
|
||||
case (res, dbg) ⇒ finish(dbg, res)
|
||||
}) | Future()
|
||||
_ ← ((dbGame |@| user) apply {
|
||||
case (dbg, u) ⇒ bookmark(dbg.id, u).toFuture
|
||||
}) | Future()
|
||||
} yield game.some
|
||||
case _ ⇒ Future(none)
|
||||
}
|
||||
|
|
|
@ -4,12 +4,15 @@ package importer
|
|||
import game.GameRepo
|
||||
import round.{ Hand, Finisher }
|
||||
|
||||
import scalaz.effects.IO
|
||||
|
||||
final class ImporterEnv(
|
||||
gameRepo: GameRepo,
|
||||
hand: Hand,
|
||||
finisher: Finisher) {
|
||||
gameRepo: GameRepo,
|
||||
hand: Hand,
|
||||
finisher: Finisher,
|
||||
bookmark: (String, String) ⇒ IO[Unit]) {
|
||||
|
||||
lazy val forms = new DataForm
|
||||
|
||||
lazy val importer = new Importer(gameRepo, hand, finisher)
|
||||
lazy val importer = new Importer(gameRepo, hand, finisher, bookmark)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue