From cf1afba9c24c7e9ba3e6b02f61bc0309b59a0e4f Mon Sep 17 00:00:00 2001
From: Alex <atm2g19@soton.ac.uk>
Date: Thu, 2 Apr 2020 14:45:32 +0100
Subject: [PATCH] added 30 min game timeout

---
 .gitignore   |  3 ++-
 src/games.ts | 37 +------------------------------------
 2 files changed, 3 insertions(+), 37 deletions(-)

diff --git a/.gitignore b/.gitignore
index bad08dd..6efbb4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 dbconf.json
 dst/
 node_modules/
-log/
\ No newline at end of file
+log/
+p5*
\ No newline at end of file
diff --git a/src/games.ts b/src/games.ts
index 16e978e..3d5e90a 100644
--- a/src/games.ts
+++ b/src/games.ts
@@ -78,6 +78,7 @@ function joinGame(socket : io.Socket, args : any){
 }
 
 function API(req : express.Request, res : express.Response, next : express.NextFunction){
+    Games.query("delete from active_games where active_game_idle < (now()- INTERVAL 30 MINUTE) and active_game_id > 0;");
     if(!/^\/games\/api\/.+/.test(req.path)) {
         next();
         return;
@@ -182,42 +183,6 @@ function createGame(game : string ,req : express.Request, res : express.Response
         query = `SELECT ${DB.games.game_id.column}, ${DB.games.game_name.column} FROM ${DB.games.table} WHERE ${DB.games.game_name.column} = ${mysql.escape(game)};`;
     }
 
-    // let query_cb : mysql.queryCallback = (err : mysql.MysqlError, results : any, fields : mysql.FieldInfo[]) => {
-    //     //got game name and ID, now create new game from that info
-    //     let game_id : number = results[0].game_id;
-    //     let game_name : string = results[0].game_name;
-    //     let game_prom : Promise<Game>;
-    //     if(!loadedGames[game_id]){
-    //         game_prom = new Promise((resolve, reject) => {
-    //             let import_prom : Promise<any>;
-    //             import_prom = import(`./games/${game_name}`)
-    //             .then((_game : any) => {
-    //                 let game : Game = _game.game;
-    //                 loadedGames[game_id] = game;
-    //                 console.log(game);
-    //                 game.init(Games);
-    //                 resolve(loadedGames[game_id]);
-    //             }).catch(reject);
-    //         })
-    //     }else{
-    //         game_prom = new Promise((resolve, reject) => {
-    //             resolve(loadedGames[game_id]);
-    //         })
-    //     }
-    //     game_prom.then((game : Game) => {
-    //         debug(`Creating game by Alex. CHANGE`);
-    //         game.create("Alex").then(active_game_id => {
-    //             res.send(`Created new ${game_name} game by ${"Alex"} with id ${active_game_id}`);
-    //             res.end();
-    //         });
-    //     }).catch(err => {
-    //         //game does not exist
-    //         console.log(`Game ${game_name}:${game_id} does not exist!`);
-    //         next(500);
-
-    //     });
-    // };
-
     Games.query(query)
     .then(results => {
         let game_id : number = results.results[0].game_id;
-- 
GitLab