server for my chess game
fix pgn sending
bendn 2022-06-04
parent 84daed5 · commit 9b6c35f
-rw-r--r--.gitignore1
-rw-r--r--src/index.js23
2 files changed, 14 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index 2e8b0e2..d721aad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
.vscode/
.idea
.DS_Store
+/src/test.js
npm-debug.log*
yarn-debug.log*
diff --git a/src/index.js b/src/index.js
index 2f43577..2fa4dd7 100644
--- a/src/index.js
+++ b/src/index.js
@@ -128,14 +128,10 @@ async function get_propertys(name) {
}
async function signin(data, ws) {
- const c = `SELECT * FROM users WHERE name = '${data.name}' AND password = '${data.password}';`;
+ const c = `SELECT id, country FROM users WHERE name = '${data.name}' AND password = '${data.password}';`;
const res = await command(c);
- if (res.rows[0]) {
- const packet = { id: res.rows[0].id, country: res.rows[0].country };
- send_packet(packet, HEADERS.signin, ws);
- } else {
- send_packet("NO", HEADERS.signin, ws);
- }
+ if (res.rows[0]) send_packet(res.rows[0], HEADERS.signin, ws);
+ else send_packet("Incorrect credentials", HEADERS.signin, ws);
}
async function signup(data, ws) {
@@ -171,7 +167,9 @@ function handle_joinrequest(data, ws) {
console.log("joinrequest:", data.gamecode);
game.clients[game.clients.indexOf(undefined)] = ws;
if (id) game.ids.push(data.id);
- if (game.pgn) send_packet(game.pgn, HEADERS.loadpgn, ws);
+ if (!game.pgn) send_group_packet(game.pgn, HEADERS.loadpgn, game.clients);
+ else send_packet(game.pgn, HEADERS.loadpgn, ws); // only send it to the new guy
+ // if its empty send it to both(it acts as startgame signal)
send_packet("Y", HEADERS.joinrequest, ws);
}
if (data.gamecode !== undefined && data.id !== undefined)
@@ -179,10 +177,15 @@ function handle_joinrequest(data, ws) {
if (game.ids.length < 2) done();
else if (
game.ids.includes(data.id) &&
- game.clients.indexOf(undefined) !== -1
+ game.clients.indexOf(undefined) !== -1 &&
+ data.id !== ""
)
done(false);
- else send_packet("err: game full", HEADERS.joinrequest, ws);
+ else {
+ const packet =
+ "err: game full ( if rejoining, please try again in 10-20 seconds )";
+ send_packet(packet, HEADERS.joinrequest, ws);
+ }
else send_packet("err: game does not exist", HEADERS.joinrequest, ws);
else send_packet("err: gamecode or id not defined", HEADERS.joinrequest, ws);
}