async def join_game(game_id: int, user=Depends(manager)): with db_session: game = Game.get(id=game_id) if game is None: raise HTTPException(status_code=404, detail="Game not found") if game.players.count() == game.player_amount: raise HTTPException(status_code=403, detail="The game is full") new_player = Player(choosable=True, current_position='', role='', is_voldemort=False, alive=True, user=User[user["id"]]) new_player.game = game game.players.add(new_player) return {"message": 'joined successfully'}
async def create_game(input_game: GameM, user=Depends(manager)): with db_session: new_game = Game(name=input_game.name, created_by=user["id"], started=False, creation_date=datetime.datetime.now(), player_amount=input_game.player_amount, status={}) new_player = Player(choosable=True, current_position='', role='', is_voldemort=False, alive=True, user=User[user["id"]]) new_game.players.add(new_player) new_player.game = new_game commit() status = {'id': new_game.id, 'message': 'Game created successfully'} return status