72 lines
2.4 KiB
JavaScript
72 lines
2.4 KiB
JavaScript
|
|
var mysql = require('mysql');
|
|
const env = process.env.NODE_ENV || 'development';
|
|
const config = require(__dirname + '/../../config/config.json')[env];
|
|
|
|
var pool = mysql.createPool({
|
|
connectionLimit : 20,
|
|
host : config.host,
|
|
user : config.username,
|
|
password : config.password,
|
|
database : config.database
|
|
});
|
|
pool.on('acquire', function (connection) {
|
|
console.log('Connection %d acquired', connection.threadId);
|
|
});
|
|
|
|
exports.findByName = function(deviceName, cb) {
|
|
process.nextTick(function() {
|
|
console.log("findByName(" +deviceName + "," + days +")" );
|
|
pool.getConnection(function(err, con) {
|
|
if (err) throw err; // not connected!
|
|
con.query("SELECT * FROM devices WHERE (name=? OR ? IS NULL) )", [deviceName, deviceName], (err, data) => {
|
|
con.release();
|
|
if (!err) {
|
|
cb(null, data);
|
|
} else {
|
|
cb(new Error('SQL Error: ' + err));
|
|
}
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
exports.insert = function(deviceName, baseurl, apikey,lastseen, cb){
|
|
var params = [deviceName, baseurl, apikey,lastseen];
|
|
let sql = `INSERT INTO devices (name,baseurl,apikey,lastseen,timestamp)
|
|
VALUES (?,?,?,?,NOW());`;
|
|
pool.getConnection(function(err, con) {
|
|
if (err) throw err; // not connected!
|
|
con.query(sql, params,(err, r) => {
|
|
con.release();
|
|
//if(!cb) {return;}
|
|
if (err) {
|
|
console.log("error: ", err);
|
|
cb && cb(new Error('SQL Error: ' + err));
|
|
}else{
|
|
console.log("inserted record: ", { id: r.insertId});
|
|
cb && cb(null, { id: r.insertId, ...params });
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
exports.update = function(deviceName, baseurl, cb){
|
|
var params = [deviceName, baseurl, apikey,lastseen];
|
|
let sql = `INSERT INTO devices (name,baseurl,apikey,lastseen,timestamp)
|
|
VALUES (?,?,?,?,NOW());`;
|
|
pool.getConnection(function(err, con) {
|
|
if (err) throw err; // not connected!
|
|
con.query(sql, params,(err, r) => {
|
|
con.release();
|
|
//if(!cb) {return;}
|
|
if (err) {
|
|
console.log("error: ", err);
|
|
cb && cb(new Error('SQL Error: ' + err));
|
|
}else{
|
|
console.log("inserted record: ", { id: r.insertId});
|
|
cb && cb(null, { id: r.insertId, ...params });
|
|
}
|
|
});
|
|
});
|
|
} |