X-Git-Url: https://git.auder.net/rpsls.js?a=blobdiff_plain;f=models%2FGame.js;h=e6c26168749d2726605715d0617a3f7ffc13435a;hb=HEAD;hp=72f1ea89166cd5044ab076cdc62cb73a380e3fee;hpb=00f2759e16ec73fa1ecd0254a9c9018530d71892;p=vchess.git diff --git a/models/Game.js b/models/Game.js deleted file mode 100644 index 72f1ea89..00000000 --- a/models/Game.js +++ /dev/null @@ -1,105 +0,0 @@ -var db = require("../utils/database"); - -/* - * Structure table Games: - * id: game id (int) - * vid: integer (variant id) - * fen: varchar (initial position) - * mainTime: integer - * increment: integer - * score: varchar (result) - * - * Structure table Players: - * gid: ref game id - * uid: ref user id - * color: character - * - * Structure table Moves: - * move: varchar (description) - * played: datetime - * idx: integer - * color: character - */ - -exports.create = function(vid, fen, mainTime, increment, players, cb) -{ - db.serialize({ - let query = - "INSERT INTO Games (vid, fen, mainTime, increment) " + - "VALUES (" + vid + ",'" + fen + "'," + mainTime + "," + increment + ")"; - db.run(insertQuery, err => { - if (!!err) - return cb(err); - db.get("SELECT last_insert_rowid() AS rowid", (err2,lastId) => { - players.forEach(p => { - query = - "INSERT INTO Players VALUES " + - "(" + lastId["rowid"] + "," + p.id + "," + p.color + ")"; - db.run(query, cb); - }); - }); - }); - }); -} - -// TODO: queries here could be async, and wait for all to complete -exports.getOne = function(id, cb) -{ - db.serialize(function() { - let query = - "SELECT v.name AS vname, g.fen, g.score " + - "FROM Games g " + - "JOIN Variants v " + - " ON g.vid = v.id " - "WHERE id = " + id; - db.get(query, (err,gameInfo) => { - if (!!err) - return cb(err); - query = - "SELECT p.uid AS id, p.color, u.name " + - "FROM Players p " + - "JOIN Users u " + - " ON p.uid = u.id " + - "WHERE p.gid = " + id; - db.run(query, (err2,players) => { - if (!!err2) - return cb(err2); - query = - "SELECT move AS desc, played, idx, color " + - "FROM Moves " + - "WHERE gid = " + id; - db.run(query, (err3,moves) => { - if (!!err3) - return cb(err3); - const game = { - id: id, - vname: gameInfo.vname, - fen: gameInfo.fen, - score: gameInfo.score, - players: players, - moves: moves, - }; - return cb(null, game); - }); - }); - }); - }); -} - -exports.remove = function(id) -{ - db.parallelize(function() { - let query = - "DELETE FROM Games " + - "WHERE id = " + id; - db.run(query); - query = - "DELETE FROM Players " + - "WHERE gid = " + id; - db.run(query); - query = - "DELETE FROM Moves " + - "WHERE gid = " + id; - db.run(query); - }); -}