From 28949ae32f239e6fba31f6508c669f8b6096001e Mon Sep 17 00:00:00 2001 From: kennyboy55 Date: Wed, 29 Mar 2017 10:38:27 +0200 Subject: [PATCH] Added web and thing api --- mean-app/server.js | 6 ++- mean-app/server/db.js | 13 +++++ .../server/routes/{api.js => thingapi.js} | 20 +++----- mean-app/server/routes/webapi.js | 49 +++++++++++++++++++ 4 files changed, 73 insertions(+), 15 deletions(-) create mode 100644 mean-app/server/db.js rename mean-app/server/routes/{api.js => thingapi.js} (59%) create mode 100644 mean-app/server/routes/webapi.js diff --git a/mean-app/server.js b/mean-app/server.js index 582e490..dc99e07 100644 --- a/mean-app/server.js +++ b/mean-app/server.js @@ -5,7 +5,8 @@ const http = require('http'); const bodyParser = require('body-parser'); // Get our API routes -const api = require('./server/routes/api'); +const thingapi = require('./server/routes/thingapi'); +const webapi = require('./server/routes/webapi'); const app = express(); @@ -17,7 +18,8 @@ app.use(bodyParser.urlencoded({ extended: false })); app.use(express.static(path.join(__dirname, 'dist'))); // Set our api routes -app.use('/api', api); +app.use('/thingapi', thingapi); +app.use('/webapi', webapi); // Catch all other routes and return the index file app.get('*', (req, res) => { diff --git a/mean-app/server/db.js b/mean-app/server/db.js new file mode 100644 index 0000000..c741ebd --- /dev/null +++ b/mean-app/server/db.js @@ -0,0 +1,13 @@ +var mysql = require('mysql'); +var connection = mysql.createConnection({ + host : 'localhost', + user : 'root', + password : 'asdf1239', + database : 'smarthome' +}); + +connection.connect(function(err) { + if (err) throw err; +}); + +module.exports = connection; \ No newline at end of file diff --git a/mean-app/server/routes/api.js b/mean-app/server/routes/thingapi.js similarity index 59% rename from mean-app/server/routes/api.js rename to mean-app/server/routes/thingapi.js index 7bbf547..ac651d4 100644 --- a/mean-app/server/routes/api.js +++ b/mean-app/server/routes/thingapi.js @@ -1,30 +1,20 @@ -var mysql = require('mysql'); -var connection = mysql.createConnection({ - host : 'localhost', - user : 'root', - password : 'asdf1239', - database : 'smarthome' -}); - - +var connection = require('../db'); const express = require('express'); const router = express.Router(); -connection.connect(); + router.post('/telegram', function(req, res){ console.log("Telegram received: "); console.log(req.body); connection.query( - // 'INSTERT INTO telegram (`time`,`data`) VALUES (\'NOW()\', \'' + req.body + '\')', 'INSERT INTO telegram (time, data) VALUES (NOW(), ?)', [req.body.datagram], function (error, results, fields) { if (error) throw error; }); - //connection.end(); res.status(200); res.send("{\"success\":\"true\"}"); @@ -32,7 +22,11 @@ router.post('/telegram', function(req, res){ /* GET api listing. */ router.get('/', function(req, res) { - res.send('api works'); + res.status(200); + res.send("{\"success\":\"true\"}"); }); + + + module.exports = router; diff --git a/mean-app/server/routes/webapi.js b/mean-app/server/routes/webapi.js new file mode 100644 index 0000000..62d6067 --- /dev/null +++ b/mean-app/server/routes/webapi.js @@ -0,0 +1,49 @@ + +var connection = require('../db'); + +const express = require('express'); +const router = express.Router(); + + +router.post('/device', function(req, res){ + console.log("Device received: "); + console.log(req.body); + + connection.query( + 'INSERT INTO device (SN, API) VALUES (?, 42)', [req.body.device], + function (error, results, fields) { + if (error) throw error; + + }); + + res.status(200); + res.send("{\"success\":\"true\"}"); +}); + +router.get('/device', function(req, res){ + + connection.query( + 'SELECT * FROM device', + function (error, results, fields) { + if (error) throw error; + + if (results.length > 0) { + console.log(results); + + res.status(200); + res.send(results); + } + + }); +}); + +/* GET api listing. */ +router.get('/', function(req, res) { + res.status(200); + res.send("{\"success\":\"true\"}"); +}); + + + + +module.exports = router;