Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | 2x 2x | const sql = require("./db.js");
class Simulator {
constructor(simulator) {
this.Registration = simulator.Registration;
this.Manufacturer = simulator.Manufacturer;
this.Model = simulator.Model;
this.AircraftType = simulator.AircraftType;
this.Version = simulator.Version
this.Name = simulator.Name;
this.PilotID = simulator.PilotID;
this.SimDeviceType = simulator.SimDeviceType;
this.Status = simulator.Status;
}
static create(newSimulator, result) {
sql.query("INSERT INTO Simulators SET ?", newSimulator, (err, res) => {
if (err) {
console.log("error: ", err);
result(err, null);
return;
}
console.log("crated siulator: ", { ID: res.insertId, ...newSimulator });
const apiResponse = {
ops: "newSimulatorAdded",
status: "success",
message: "Simulator created with registration " + newSimulator.Registration,
payload: { ID: res.insertId, ...newSimulator },
affectedRows: 1
};
result(null, apiResponse);
});
}
static searchByReg(reg, pilotID, exact, result) {
console.log(reg);
console.log(exact);
var query = `SELECT * FROM Simulators WHERE PilotID = ${pilotID} and (Registration LIKE '%${reg}%' or Name LIKE '%${reg}%')`;
if (exact === "true") {
query = `SELECT * FROM Simulators WHERE PilotID = ${pilotID} and Registration = '${reg}'`;
}
console.log("running query");
sql.query(query, (err, res) => {
if (err) {
console.log("error: ", err);
if (err.toString().indexOf('ETIMEDOUT') !== -1) process.exit()
result(err, null);
return;
}
else {
console.log("found simulator count", res.length);
const apiResponse = {
ops: "searchByReg",
status: "success",
message: "Simulators registration search, exact: " + exact,
payload: exact === true ? res.length === 0 ? {} : res[0] : res,
affectedRows: res.length
};
console.log(apiResponse);
result(null, apiResponse);
return;
}
});
}
static get(pilotID, result) {
var query = `SELECT * FROM Simulators where PilotID = ${pilotID} and Status = 5`;
console.log("running query");
sql.query(query, (err, res) => {
if (err) {
console.log("error: ", err);
result(err, null);
return;
}
else {
console.log("found simulator count", res.length);
console.log("found simulator ", res);
const apiResponse = {
ops: "getAllSimulators",
status: "success",
message: "Get All Simulators",
payload: res,
affectedRows: res.length
};
result(null, apiResponse);
return;
}
});
}
static sync(pilotID, version, result) {
var query = `SELECT * FROM Simulators
WHERE PilotID = ? and Version > ?`;
sql.query(query, [pilotID, version], (err, res) => {
if (err) {
console.log("error: ", err);
result(err, null);
return;
}
const apiResponse = {
ops: "sync",
status: "success",
message: "Sync Simulators",
payload: res,
affectedRows: res.length
};
result(null, apiResponse);
});
}
}
module.exports = Simulator; |