diff options
author | Tor Andersson <tor@ccxvii.net> | 2022-01-11 18:23:15 +0100 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2022-01-12 13:46:41 +0100 |
commit | 7abe96f4eb6dca922f6784f048050ddbdea975f3 (patch) | |
tree | 6abbc563f126c13776536a30b1dd2cf977e0a9f6 /server.js | |
parent | e40d9af1a6e90d295191a9b1c6e320f789c58ecf (diff) | |
download | server-7abe96f4eb6dca922f6784f048050ddbdea975f3.tar.gz |
Handle errors when following a rematch link to an already started game.
Diffstat (limited to 'server.js')
-rw-r--r-- | server.js | 29 |
1 files changed, 16 insertions, 13 deletions
@@ -1132,22 +1132,25 @@ app.get('/delete/:game_id', must_be_logged_in, function (req, res) { }); function join_rematch(req, res, game_id, role) { - let is_random = SQL_SELECT_GAME_RANDOM.get(game_id); - if (is_random) { - for (let i = 1; i <= 6; ++i) { - let info = SQL_INSERT_PLAYER_ROLE.run(game_id, 'Random ' + i, req.user.user_id); - if (info.changes === 1) { - update_join_clients_players(game_id); - break; + try { + let is_random = SQL_SELECT_GAME_RANDOM.get(game_id); + if (is_random) { + for (let i = 1; i <= 6; ++i) { + let info = SQL_INSERT_PLAYER_ROLE.run(game_id, 'Random ' + i, req.user.user_id); + if (info.changes === 1) { + update_join_clients_players(game_id); + break; + } } + } else { + let info = SQL_INSERT_PLAYER_ROLE.run(game_id, role, req.user.user_id); + if (info.changes === 1) + update_join_clients_players(game_id); } - return res.redirect('/join/'+game_id); - } else { - let info = SQL_INSERT_PLAYER_ROLE.run(game_id, role, req.user.user_id); - if (info.changes === 1) - update_join_clients_players(game_id); - return res.redirect('/join/'+game_id); + } catch (err) { + console.log(err); } + return res.redirect('/join/'+game_id); } app.get('/rematch/:old_game_id/:role', must_be_logged_in, function (req, res) { |