This repository has been archived on 2024-01-30. You can view files and clone it, but cannot push or open issues or pull requests.
trev/nodejs/models/rcdb.js

42 lines
1.4 KiB
JavaScript

var mysql = require('mysql');
var config = require('../config');
var connection = mysql.createConnection({
host: config.mysql_host,
user: config.mysql_user,
password: config.mysql_secret,
database: config.mysql_database
});
connection.connect();
var RC = function () {
connection.query('CREATE TABLE IF NOT EXISTS rc_switches ( switch_id INT(12) NOT NULL AUTO_INCREMENT, tristate BOOL DEFAULT NULL, on_value VARCHAR(16) NOT NULL, off_value VARCHAR(16) NOT NULL, name VARCHAR(200) DEFAULT NULL, PRIMARY KEY (switch_id) )'
, function(err, rows, fields) {
if (err) throw err;
});
}
RC.prototype.find = function(id, callback) {
connection.query('SELECT * FROM rc_switches WHERE switch_id = ?', [id], callback);
}
RC.prototype.findAll = function(callback) {
connection.query('SELECT * FROM rc_switches', callback);
}
RC.prototype.delete = function(id, callback) {
connection.query('DELETE FROM rc_switches WHERE switch_id = ?',[id], callback);
}
RC.prototype.add = function(rc, callback) {
// var rc = {tristate:bool, on_value:"FF00...", off_value:"FF00...", name:"Switch name"};
connection.query('INSERT INTO rc_switches SET ?', rc, callback);
}
RC.prototype.change = function(rc, callback) {
// var rc = {tristate:bool, on_value:"FF00...", off_value:"FF00...", name:"Switch name", switch_id:"1"};
connection.query('UPDATE rc_switches SET ? WHERE `switch_id` = ?', [rc, rc.switch_id], callback);
}
module.exports = RC;