All files / mylog-api/models limitation.model.js

3.84% Statements 2/52
0% Branches 0/10
0% Functions 0/10
3.84% Lines 2/52

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 116 117 118 119 1202x                                                                                                                                                                                                                                             2x
const sql = require("./db.js");
class Limitation {
 
 
    static create(newLimitation, result) {
        newLimitation.Status = 5;
        console.log(newLimitation);
        sql.query("INSERT INTO Limitations SET ?", newLimitation, (err, res) => {
            if (err) {
                console.log("error: ", err);
                result(err, null);
                return;
            }
 
            console.log("crated limitation: ", { ID: res.insertId, ...newLimitation });
            const apiResponse = {
                ops: "newLimitationAdded",
                status: "success",
                message: "Limitation created with name " + newLimitation.name,
                payload: { ID: res.insertId, ...newLimitation },
                affectedRows: 1
            };
            result(null, apiResponse);
        });
    }
 
    static update(updatedLimitation, result) {
        console.log(updatedLimitation);
        sql.query(`UPDATE Limitations SET ? where ID = ${updatedLimitation.ID}`, updatedLimitation, (err, res) => {
            if (err) {
                console.log("error: ", err);
                result(err, null);
                return;
            }
 
            console.log("crated limitation: ", { ID: res.insertId, ...updatedLimitation });
            const apiResponse = {
                ops: "update",
                status: "success",
                message: "Limitation updated with name " + updatedLimitation.name,
                payload: { ID: updatedLimitation.ID, ...updatedLimitation },
                affectedRows: 1
            };
            result(null, apiResponse);
        });
    }
 
    static get(pilotID, result) {
        var query = `SELECT * FROM Limitations where PilotID = ${pilotID} where 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 Limitation count", res.length);
                console.log("found Limitation ", res);
                const apiResponse = {
                    ops: "getAllLimitations",
                    status: "success",
                    message: "Get All Limitations",
                    payload: res,
                    affectedRows: res.length
                };
                result(null, apiResponse);
                return;
            }
        });
    }
 
    static delete(pilotID, id, version, result) {
        var query = `UPDATE Limitations Set Status = 7, Version = '${version}' where PilotID = ${pilotID} and ID = ${id} `;
        console.log("running query");
        sql.query(query, (err, res) => {
            if (err) {
                console.log("error: ", err);
                result(err, null);
                return;
            }
            else {
                const apiResponse = {
                    ops: "deleteLimitationByPilotID",
                    status: "success",
                    message: "Delete Limitation",
                    payload: null,
                    affectedRows: res.affectedRows
                };
                result(null, apiResponse);
                return;
            }
        });
    }
 
    static sync(pilotID, version, result) {
        var query = `SELECT * FROM Limitations 
        WHERE PilotID = ? and Version > ?`;
        console.log(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 Limitation",
                payload: res,
                affectedRows: res.length
            };
            result(null, apiResponse);
        });
    }
 
}
 
module.exports = Limitation;