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])
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}
def get(self, game_id): return GameModel.serialize([GameModel.find_by_id(game_id)])