From f05815d7da84284bd9d7c1ce5b808acd675f2a3e Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Wed, 20 Mar 2019 17:20:22 +0100 Subject: [PATCH] Small fixes + add some debug traces --- client/src/components/UpsertUser.vue | 233 ++++++++++++++------------- client/src/views/Hall.vue | 32 ++-- server/config/parameters.js.dist | 2 +- server/models/Challenge.js | 6 +- server/routes/challenges.js | 2 +- server/routes/users.js | 6 +- 6 files changed, 150 insertions(+), 131 deletions(-) diff --git a/client/src/components/UpsertUser.vue b/client/src/components/UpsertUser.vue index 5ea93a05..86f8558d 100644 --- a/client/src/components/UpsertUser.vue +++ b/client/src/components/UpsertUser.vue @@ -34,120 +34,129 @@ div diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index e499d7ec..77ca7718 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -125,6 +125,8 @@ export default { created: function() { // Always add myself to players' list this.players.push(this.st.user); + if (this.st.user.id > 0) + { // Ask server for current corr games (all but mines) // ajax( // "/games", @@ -134,17 +136,18 @@ export default { // this.games = this.games.concat(response.games); // } // ); - // Also ask for corr challenges (open + personal to me) - ajax( - "/challenges", - "GET", - {uid: this.st.user.id}, - response => { - console.log(response.challenges); - // TODO: post-treatment on challenges ? - this.challenges = this.challenges.concat(response.challenges); - } - ); + // Also ask for corr challenges (open + sent to me) + ajax( + "/challenges", + "GET", + {uid: this.st.user.id}, + response => { + console.log(response.challenges); + // TODO: post-treatment on challenges ? + this.challenges = this.challenges.concat(response.challenges); + } + ); + } // 0.1] Ask server for room composition: const socketOpenListener = () => { this.st.conn.send(JSON.stringify({code:"pollclients"})); @@ -394,8 +397,8 @@ export default { { this.players.push({name:"", id:0, sid:data.sid}); this.st.conn.send(JSON.stringify({code:"askidentity", target:data.sid})); - this.st.conn.send(JSON.stringify({code:"askchallenge", target:sid})); - this.st.conn.send(JSON.stringify({code:"askgame", target:sid})); + this.st.conn.send(JSON.stringify({code:"askchallenge", target:data.sid})); + this.st.conn.send(JSON.stringify({code:"askgame", target:data.sid})); break; } case "disconnect": @@ -549,8 +552,7 @@ export default { } } }, - // c.type == corr alors use id...sinon sid (figés) - // NOTE: only for live games ? + // NOTE: for live games only (corr games are launched on server) launchGame: async function(c) { // Just assign colors and pass the message const vname = this.getVname(c.vid); diff --git a/server/config/parameters.js.dist b/server/config/parameters.js.dist index 2b0a6e7f..14c100a2 100644 --- a/server/config/parameters.js.dist +++ b/server/config/parameters.js.dist @@ -1,7 +1,7 @@ module.exports = { // For mail sending. NOTE: *no trailing slash* - siteURL: "http://localhost:3000", + siteURL: "http://localhost:8080", // To know in which environment the code run env: process.env.NODE_ENV || 'development', diff --git a/server/models/Challenge.js b/server/models/Challenge.js index 6f8ba0be..a5fbf63e 100644 --- a/server/models/Challenge.js +++ b/server/models/Challenge.js @@ -78,12 +78,15 @@ const ChallengeModel = db.get(query, (err,challengeInfo) => { if (!!err) return cb(err); + let condition = ""; + if (!!challengeInfo.to[0]) + condition = " AND u.name in (" + challengeInfo.to.join(",") + ")"; query = "SELECT w.uid AS id, u.name " + "FROM WillPlay w " + "JOIN Users u " + " ON w.uid = u.id " + - "WHERE w.cid = " + id; + "WHERE w.cid = " + id + condition; db.run(query, (err2,players) => { if (!!err2) return cb(err2); @@ -113,6 +116,7 @@ const ChallengeModel = db.run(query, (err,challIds) => { if (!!err) return cb(err); + challIds = challIds || []; let challenges = []; challIds.forEach(cidRow => { ChallengeModel.getOne(cidRow["cid"], (err2,chall) => { diff --git a/server/routes/challenges.js b/server/routes/challenges.js index 84b2c83b..3f6840c0 100644 --- a/server/routes/challenges.js +++ b/server/routes/challenges.js @@ -5,7 +5,7 @@ const access = require("../utils/access"); const ChallengeModel = require("../models/Challenge"); const UserModel = require("../models/User"); //for name check -router.get("/challenges", access.logged, access.ajax, (req,res) => { +router.get("/challenges", (req,res) => { ChallengeModel.getByUser(req.query["uid"], (err,challenges) => { res.json(err || {challenges:challenges}); }); diff --git a/server/routes/users.js b/server/routes/users.js index 8df0c43e..1d9b0423 100644 --- a/server/routes/users.js +++ b/server/routes/users.js @@ -21,7 +21,11 @@ function setAndSendLoginToken(subject, to, res) params.siteURL + "/authenticate?token=" + token + "\\n" + "Token will expire in " + params.token.expire/(1000*60) + " minutes." sendEmail(params.mail.noreply, to.email, subject, body, err => { - // "id" is generally the only info missing on client side, + + console.log("send login infos ::"); + console.log(to); + + // "id" is generally the only info missing on client side, // but the name is also unknown if log-in with the email. res.json(err || {id: to.id, name: to.name}); }); -- 2.44.0