diff --git a/truthseeker/logic/game_logic.py b/truthseeker/logic/game_logic.py index b4aeaf7..e0ed3a1 100644 --- a/truthseeker/logic/game_logic.py +++ b/truthseeker/logic/game_logic.py @@ -56,7 +56,14 @@ class Game: self.members.append(self.owner) return self.owner + def get_member(self, username): + for member in self.members: + if member.username == username: + return member + def add_member(self, username): + if self.get_member(username): + return None member = Member(username) self.members.append(member) return member diff --git a/truthseeker/routes/routes_api.py b/truthseeker/routes/routes_api.py index def7d41..76180d4 100644 --- a/truthseeker/routes/routes_api.py +++ b/truthseeker/routes/routes_api.py @@ -39,8 +39,8 @@ def join_game(): if game == None: return {"error": 1, "msg": "game does not exist"} - - game.add_member(username) + if not game.add_member(username): + return {"error": 1, "msg": f"Username '{username}' already used in game {game.game_id}"} flask.session["game_id"] = game.game_id flask.session["is_owner"] = False