mqtt moved to mqtt.js
This commit is contained in:
72
src/db/devices.js
Normal file
72
src/db/devices.js
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
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 });
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user