Advertisement
Guest User

Untitled

a guest
May 14th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. /*jslint node: true */
  2. /*jslint esversion: 6*/
  3. /*jslint eqeqeq: true */
  4.  
  5. var express = require('express');
  6. var app = express();
  7. var fs = require("fs");
  8. var expressWs = require('express-ws')(app);
  9. var http = require('http');
  10.  
  11. var simulation = require('./simulation.js');
  12. var bodyParser = require('body-parser');
  13. var jwt = require('jsonwebtoken');
  14. var cors = require('cors');
  15. var uuid = require('uuid');
  16.  
  17. app.use(bodyParser.urlencoded({extended: true}));
  18. app.use(bodyParser.json());
  19. app.use(cors());
  20.  
  21.  
  22.  
  23. // Overview
  24. app.get('/overview', function (req, res) {
  25. console.log("Get list of devices");
  26. })
  27.  
  28. // Login check
  29. app.post('/login', function (req, res) {
  30. console.log("Check login data");
  31. var content= readUser(function(content){});
  32. console.log(content);
  33. console.log(req.body.username);
  34. // if(req.body.username == && req.body.password==){
  35. // res.status(400).send("Wrong username/password!");
  36. // }else {
  37. // res.status(200).json({});
  38. // }
  39. })
  40.  
  41. // Options page- check old password and save new
  42. app.post('/options', function (req,res) {
  43.  
  44. // if(!req.body.password){
  45. // res.status(200)
  46. //
  47. // }else {
  48. // res.send()
  49. // }
  50.  
  51. })
  52.  
  53.  
  54.  
  55. //TODO Implementieren Sie hier Ihre REST-Schnittstelle
  56. /* Ermöglichen Sie wie in der Angabe beschrieben folgende Funktionen:
  57. * Abrufen aller Geräte als Liste
  58. * Hinzufügen eines neuen Gerätes
  59. * Löschen eines vorhandenen Gerätes
  60. * Bearbeiten eines vorhandenen Gerätes (Verändern des Gerätezustandes und Anpassen des Anzeigenamens)
  61. * Log-in und Log-out des Benutzers
  62. * Ändern des Passworts
  63. * Abrufen des Serverstatus (Startdatum, fehlgeschlagene Log-ins).
  64. *
  65. * BITTE BEACHTEN!
  66. * Verwenden Sie dabei passende Bezeichnungen für die einzelnen Funktionen.
  67. * Achten Sie bei Ihrer Implementierung auch darauf, dass der Zugriff nur nach einem erfolgreichem Log-In erlaubt sein soll.
  68. * Vergessen Sie auch nicht, dass jeder Client mit aktiver Verbindung über alle Aktionen via Websocket zu informieren ist.
  69. * Bei der Anlage neuer Geräte wird eine neue ID benötigt. Verwenden Sie dafür eine uuid (https://www.npmjs.com/package/uuid, Bibliothek ist bereits eingebunden).
  70. */
  71.  
  72. app.post("/updateCurrent", function (req, res) {
  73. "use strict";
  74.  
  75. //TODO Vervollständigen Sie diese Funktion, welche den aktuellen Wert eines Gerätes ändern soll
  76. /*
  77. * Damit die Daten korrekt in die Simulation übernommen werden können, verwenden Sie bitte die nachfolgende Funktion.
  78. * simulation.updatedDeviceValue(device, control_unit, Number(new_value));
  79. * Diese Funktion verändert gleichzeitig auch den aktuellen Wert des Gerätes, Sie müssen diese daher nur mit den korrekten Werten aufrufen.
  80. */
  81. });
  82.  
  83.  
  84. function readUser(callback) {
  85. "use strict";
  86. fs.readFile('resources/login.config', 'utf8', function (err,data) {
  87. if (err) {
  88. return console.log(err);
  89. }
  90. // console.log(data);
  91. return data;
  92. });
  93. }
  94.  
  95. function readDevices() {
  96. "use strict";
  97. fs.readFile('resources/devices.json', 'utf8', function (err,data) {
  98. if (err) {
  99. return console.log(err);
  100. }
  101. // console.log(data);
  102. return data;
  103. });
  104. }
  105.  
  106.  
  107.  
  108.  
  109. var server = app.listen(8081, function () {
  110. "use strict";
  111. //readUser();
  112. //readDevices();
  113.  
  114. var host = server.address().address;
  115. var port = server.address().port;
  116. console.log("Big Smart Home Server listening at http://%s:%s", host, port);
  117. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement