Added ttl to game(sessions)

This commit is contained in:
Mawoka
2022-03-03 21:33:22 +01:00
parent 1cc1525a98
commit eab19822f1
2 changed files with 5 additions and 5 deletions
+1 -1
View File
@@ -49,7 +49,7 @@ async def start_quiz(quiz_id: str, user: User = Depends(get_current_user)):
game_pin = randint(10000000, 99999999)
game = PlayGame(quiz_id=quiz_id, game_pin=str(game_pin), questions=quiz.questions, game_id=uuid.uuid4(),
title=quiz.title, description=quiz.description)
await redis.set(f"game:{str(game.game_pin)}", (game.json()))
await redis.set(f"game:{str(game.game_pin)}", (game.json()), ex=18000)
return {**quiz.dict(exclude={"id"}), **game.dict(exclude={"questions"})}
+4 -4
View File
@@ -43,7 +43,7 @@ async def join_game(sid, data):
redis_res["players"].append({"username": data["username"], "sid": sid})
await redis.set(f"game_session:{data['game_pin']}",
json.dumps({"admin": redis_res["admin"], "game_id": redis_res["game_id"],
"players": redis_res["players"], "answers": []}))
"players": redis_res["players"], "answers": []}), ex=18000)
await sio.emit("player_joined", {"username": data["username"], "sid": sid}, room=redis_res["admin"])
sio.enter_room(sid, data["game_pin"]) # TODO: make more secure
@@ -62,7 +62,7 @@ async def register_as_admin(sid, data):
game_pin = data["game_pin"]
game_id = data["game_id"]
if (await redis.get(f"game_session:{game_pin}")) is None:
await redis.set(f"game_session:{game_pin}", json.dumps({"admin": sid, "game_id": game_id, "players": []}))
await redis.set(f"game_session:{game_pin}", json.dumps({"admin": sid, "game_id": game_id, "players": []}), ex=18000)
await sio.emit("registered_as_admin", {"game_id": game_id, "game": await redis.get(f"game:{data['game_pin']}")},
room=sid)
@@ -107,11 +107,11 @@ async def submit_answer(sid, data):
if answers is None:
await redis.set(f"game_session:{session['game_pin']}:{data['question_index']}",
json.dumps(
[{"username": session["username"], "answer": data["answer"], "right": answer_right}]))
[{"username": session["username"], "answer": data["answer"], "right": answer_right}]), ex=18000)
else:
answers = json.loads(answers)
answers.append({"username": session["username"], "answer": data["answer"], "right": answer_right})
await redis.set(f"game_session:{session['game_pin']}:{data['question_index']}", json.dumps(answers))
await redis.set(f"game_session:{session['game_pin']}:{data['question_index']}", json.dumps(answers), ex=18000)
# await redis.set(f"game_data:{session['game_pin']}", json.dumps(data))