Ejemplo n.º 1
0
 def post(self, game_id):
     import datetime as dt
     current_user = get_jwt_identity()
     current_progress = ScoreboardEntryModel.filter_by_user_and_game(
         current_user, game_id)
     current_game = GameModel.find_by_id(game_id)
     if current_progress.current_riddle + 1 > current_game.riddles:
         current_progress.finished = True
         current_progress.time_end = dt.datetime.now()
     else:
         current_progress.current_riddle = ScoreboardEntryModel.current_riddle + 1
     db.session.commit()
     return ScoreboardEntryModel.serialize([current_progress])
Ejemplo n.º 2
0
 def get(self):
     import datetime as dt
     out_entries = []
     scoreboard = ScoreboardEntryModel.get_all_entries()
     for sbentry in scoreboard:
         user = UserModel.find_by_id(sbentry.user_id)
         game = GameModel.find_by_id(sbentry.game_id)
         elapsed_seconds = (sbentry.time_end - sbentry.time_begin).total_seconds() \
             if sbentry.time_end else (dt.datetime.now() - sbentry.time_begin).total_seconds()
         entry = {
             "username": user.username,
             "game": game.title,
             "current_riddle": sbentry.current_riddle,
             "finished": sbentry.finished,
             "time_begin": int(sbentry.time_begin.timestamp() * 1000),
             "elapsed_seconds": elapsed_seconds
         }
         out_entries.append(entry)
     return {"entries": out_entries}
Ejemplo n.º 3
0
 def get(self, game_id):
     return GameModel.serialize([GameModel.find_by_id(game_id)])