Merge pull request #114 from ThomasRubini/playerlistEndpoint
can see player before joining game
This commit is contained in:
		
						commit
						e020de963b
					
				@ -34,12 +34,13 @@ def create_game():
 | 
			
		||||
 | 
			
		||||
@routes_api.route("/getGameMembers", methods=["GET", "POST"])
 | 
			
		||||
def get_members():
 | 
			
		||||
    if not flask.session:
 | 
			
		||||
        return {"error": 1, "msg": "No session"}
 | 
			
		||||
    game = game_logic.get_game(flask.session["game_id"])
 | 
			
		||||
    game_id = flask.request.values.get("game_id")
 | 
			
		||||
    print(50 * "#")
 | 
			
		||||
    print(game_id)
 | 
			
		||||
    print(50*"_")
 | 
			
		||||
    game = game_logic.get_game(game_id)
 | 
			
		||||
    if game is None:
 | 
			
		||||
        return {"error": 1, "msg": "this game doesn't exist"}
 | 
			
		||||
 | 
			
		||||
    response = {"error" : 0}
 | 
			
		||||
    player_list = [member.username for member in game.members]
 | 
			
		||||
    response["members"] = player_list
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,7 @@ async function makeAPIRequest(endpoint, body, options={}) {
 | 
			
		||||
            response.json().then(jsonResponse => {
 | 
			
		||||
                if (typeof(jsonResponse["error"]) === 'number' && jsonResponse["error"] !== 0) {
 | 
			
		||||
                    const message = jsonResponse["msg"];
 | 
			
		||||
                    alert("Erreur du serveur : " + message);
 | 
			
		||||
                    alert("Erreur du serveur " + endpoint+ " : " + message);
 | 
			
		||||
                    reject(endpoint + ": " + message);
 | 
			
		||||
                } else {
 | 
			
		||||
                    resolve(jsonResponse);
 | 
			
		||||
 | 
			
		||||
@ -26,15 +26,6 @@ function displayRoomCode() {
 | 
			
		||||
 * Display the players list element.
 | 
			
		||||
 */
 | 
			
		||||
function displayPlayerList() {
 | 
			
		||||
    const response = makeAPIRequest("getGameMembers");
 | 
			
		||||
 | 
			
		||||
    response.then(value => {
 | 
			
		||||
        const playerList = document.querySelector(".player_names");
 | 
			
		||||
        value["members"].forEach(username => {
 | 
			
		||||
            playerList.appendChild(document.createTextNode(username + "\n"));
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    showFirstClassElement("players_list");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -98,6 +89,20 @@ function startChallengeGame() {
 | 
			
		||||
    alert("Ce mode de jeu n'est malheureusement pas disponible.");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getMembers(){
 | 
			
		||||
    let data = {};
 | 
			
		||||
    data['game_id'] = getRoomCode();
 | 
			
		||||
    const response = makeAPIRequest("getGameMembers",data);
 | 
			
		||||
    response.then(value => {
 | 
			
		||||
        let divs = document.getElementsByClassName("player_names");
 | 
			
		||||
        for (let playerList of divs) {
 | 
			
		||||
            value["members"].forEach(username => {
 | 
			
		||||
                console.log(username);
 | 
			
		||||
                playerList.appendChild(document.createTextNode(username + "\n"));
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
// Join room functions
 | 
			
		||||
 | 
			
		||||
function joinRoom() {
 | 
			
		||||
@ -350,6 +355,7 @@ function initSock() {
 | 
			
		||||
 * </p>
 | 
			
		||||
 */
 | 
			
		||||
async function initLobby() {
 | 
			
		||||
    getMembers()
 | 
			
		||||
    if (await hasJoinedRoom()) {
 | 
			
		||||
        initSock();
 | 
			
		||||
        displayRoomView();
 | 
			
		||||
 | 
			
		||||
@ -19,6 +19,10 @@
 | 
			
		||||
        <input type="hidden" id="game_id" name="game_id" value={{gameid}} />
 | 
			
		||||
        <div class="join_room_view hidden">
 | 
			
		||||
            <h1 class="room_title">Salon</h1>
 | 
			
		||||
            <div class="unjoinded_players_list">
 | 
			
		||||
                <h2 class="players_title">Joueurs</h2>
 | 
			
		||||
                <div class="player_names"></div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <input type="text" id="game_username" placeholder="Entrez un pseudo" value="" required="required" maxlength="20">
 | 
			
		||||
            <button id="join_game_button" class="action_button">Rejoindre</button>
 | 
			
		||||
            <p class="game_start_failed hidden">Une erreur s'est produite. Réessayez ultérieurement.</p>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user