update Di 3. Mär 21:31:01 CET 2020

This commit is contained in:
Robert Richter 2020-03-03 21:31:01 +01:00
parent cbdd16d9e5
commit 398b35e12e
3 changed files with 50 additions and 35 deletions

View File

@ -1,20 +1,21 @@
// Module laden // Module laden
var fs = require('fs'); const fs = require('fs');
var express = require('express'); const express = require('express');
var app = express(); const app = express();
var http = require('http') //.Server(app); const http = require('http') //.Server(app);
var https = require('https'); //.Server(app); const https = require('https'); //.Server(app);
var webserver = https.createServer({ const webserver = https.createServer({
key: fs.readFileSync('./misc/server.key', 'utf8'), key: fs.readFileSync('./misc/server.key', 'utf8'),
cert: fs.readFileSync('./misc/server.cert', 'utf8') cert: fs.readFileSync('./misc/server.cert', 'utf8')
}, app); }, app);
var io = require('socket.io').listen(webserver); const io = require('socket.io').listen(webserver);
var async = require('async'); const async = require('async');
var path = require('path'); const path = require('path');
var favicon = require('serve-favicon'); const favicon = require('serve-favicon');
var bodyParser = require('body-parser'); const bodyParser = require('body-parser');
var bcrypt = require('bcrypt'); const bcrypt = require('bcrypt');
var passport = require('passport'); const passport = require('passport');
const uuidv4 = require('uuid/v4');
// Express-Einstellungen // Express-Einstellungen
app.set('views', path.join(__dirname, 'views')); app.set('views', path.join(__dirname, 'views'));
@ -30,12 +31,12 @@ app.use(bodyParser.urlencoded({
// Scripte einbinden // Scripte einbinden
var app_cfg = require('./server/app_cfg.js'); var app_cfg = require('./server/app_cfg.js');
var sql_cfg = require('./server/sql_cfg')(fs, bcrypt, app_cfg); var sql_cfg = require('./server/sql_cfg')(fs, bcrypt, app_cfg);
var sql = require('./server/sql_qry')(sql_cfg, async, app_cfg); var sql = require('./server/sql_qry')(sql_cfg, uuidv4, app_cfg);
var waip = require('./server/waip')(io, sql, async, app_cfg); var waip = require('./server/waip')(io, sql, async, app_cfg);
var socket = require('./server/socket')(io, sql, app_cfg, waip); var socket = require('./server/socket')(io, sql, app_cfg, waip);
var udp = require('./server/udp')(app_cfg, waip, sql); var udp = require('./server/udp')(app_cfg, waip, sql);
var auth = require('./server/auth')(app, app_cfg, sql_cfg, async, bcrypt, passport, io); var auth = require('./server/auth')(app, app_cfg, sql_cfg, async, bcrypt, passport, io);
var routes = require('./server/routing')(app, sql, app_cfg, passport, auth, waip, udp); var routes = require('./server/routing')(app, sql, uuidv4, app_cfg, passport, auth, waip, udp);
// Server starten // Server starten
webserver.listen(app_cfg.global.https_port, function() { webserver.listen(app_cfg.global.https_port, function() {

View File

@ -1,6 +1,6 @@
module.exports = function(app, sql, app_cfg, passport, auth, waip, udp) { module.exports = function(app, sql, uuidv4, app_cfg, passport, auth, waip, udp) {
// get index // Startseite
app.get('/', function(req, res) { app.get('/', function(req, res) {
sql.db_list_wachen(function(data) { sql.db_list_wachen(function(data) {
var data_wachen = data var data_wachen = data
@ -21,21 +21,21 @@ module.exports = function(app, sql, app_cfg, passport, auth, waip, udp) {
}); });
}); });
// get /waip // /waip nach /waip/0 umleiten
app.get('/waip', function(req, res) { app.get('/waip', function(req, res) {
res.redirect('/waip/0'); res.redirect('/waip/0');
}); });
// get /waip/<wachennummer> // Alarmmonitor aufloesen /waip/<wachennummer>
app.get('/waip/:wachen_id', function(req, res, next) { app.get('/waip/:wachen_id', function(req, res, next) {
var parmeter_id = req.params.wachen_id; var parmeter_id = req.params.wachen_id;
sql.db_wache_vorhanden(parmeter_id, function(result) { sql.db_wache_vorhanden(parmeter_id, function(wache) {
if (result) { if (result) {
res.render('waip', { res.render('waip', {
public: app_cfg.public, public: app_cfg.public,
title: 'Alarmmonitor', title: 'Alarmmonitor',
wachen_id: parmeter_id, wachen_id: parmeter_id,
data_wache: ' ' + result.name, data_wache: wache.name,
app_id: app_cfg.global.app_id, app_id: app_cfg.global.app_id,
user: req.user user: req.user
}); });
@ -47,8 +47,20 @@ module.exports = function(app, sql, app_cfg, passport, auth, waip, udp) {
}); });
}); });
// get /rueckmeldung // Rueckmeldungs-Aufruf ohne waip_uuid eblehnen
app.get('/rmld', function(req, res, next) {
var err = new Error('Rückmeldungen sind nur mit gültiger Einsatz-ID erlaubt!');
err.status = 404;
next(err);
});
// Rueckmeldungs-Aufruf mit waip_uuid aber ohne rmld_uuid an zufällige rmld_uuid weiterleiten
app.get('/rmld/:waip_uuid', function(req, res, next) { app.get('/rmld/:waip_uuid', function(req, res, next) {
res.redirect('/rmld/' + req.params.waip_uuid + '/' + uuidv4());
});
// Rueckmeldung anzeigen /rueckmeldung/waip_uuid/rmld_uuid
app.get('/rmld/:waip_uuid/:rmld_uuid', function(req, res, next) {
var waip_uuid = req.params.waip_uuid; var waip_uuid = req.params.waip_uuid;
sql.db_get_einsatzdaten_by_uuid(waip_uuid, function(einsatzdaten) { sql.db_get_einsatzdaten_by_uuid(waip_uuid, function(einsatzdaten) {
if (einsatzdaten) { if (einsatzdaten) {
@ -56,22 +68,26 @@ module.exports = function(app, sql, app_cfg, passport, auth, waip, udp) {
public: app_cfg.public, public: app_cfg.public,
title: 'Einsatz-Rückmeldung', title: 'Einsatz-Rückmeldung',
user: req.user, user: req.user,
einsatzdaten: einsatzdaten einsatzdaten: einsatzdaten,
modaldata: req.query.modal
}); });
} else { } else {
var err = new Error('Der angefragte Einsatz ist nicht vorhanden!'+waip_uuid); var err = new Error('Der angefragte Einsatz ist nicht - oder nicht mehr - vorhanden!');
err.status = 404; err.status = 404;
next(err); next(err);
}; };
}); });
}); });
app.post('/rmld/:waip_uuid', function(req, res) { // Rueckmeldung entgegennehmen
console.log('post_rueckmeldung '+JSON.stringify(req.body)); app.post('/rmld/:waip_uuid/:rmld_uuid', function(req, res) {
sql.db_save_response(req.body, function(result){ var waip_uuid = req.params.waip_uuid;
var rmld_uuid = req.params.rmld_uuid;
sql.db_save_rmld(req.body, function(result){
if (result) { if (result) {
res.redirect('/rmld/' + req.params.waip_uuid); var string = encodeURIComponent(result);
waip.reuckmeldung_verteilen_by_uuid(req.params.waip_uuid); res.redirect('/rmld/' + waip_uuid + '/' + rmld_uuid + '/?modal=' + string);
waip.reuckmeldung_verteilen_by_uuid(req.params.rmld_uuid);
} else { } else {
var err = new Error('Fehler beim senden der Rückmeldung!'); var err = new Error('Fehler beim senden der Rückmeldung!');
err.status = 501; err.status = 501;

View File

@ -1,7 +1,4 @@
module.exports = function(db, async, app_cfg) { module.exports = function(db, uuidv4, app_cfg) {
// Module laden
const uuidv4 = require('uuid/v4');
// ermittelt den letzten vorhanden Einsatz zu einer Wache // ermittelt den letzten vorhanden Einsatz zu einer Wache
function db_einsatz_vorhanden(wachen_id, user_id, callback) { function db_einsatz_vorhanden(wachen_id, user_id, callback) {
@ -604,7 +601,7 @@ module.exports = function(db, async, app_cfg) {
}); });
};*/ };*/
function db_save_response(responseobj, callback) { function db_save_rmld(responseobj, callback) {
// Rueckmeldung aufarbeiten // Rueckmeldung aufarbeiten
@ -674,6 +671,7 @@ module.exports = function(db, async, app_cfg) {
\'` + reuckmeldung.wache_name + `\')`), function(err) { \'` + reuckmeldung.wache_name + `\')`), function(err) {
//console.log(err); //console.log(err);
if (err == null) { if (err == null) {
// TODO: Rueckmeldung-UUID zurückgeben
callback && callback('OK'); callback && callback('OK');
} else { } else {
callback && callback(null); callback && callback(null);
@ -831,7 +829,7 @@ module.exports = function(db, async, app_cfg) {
db_set_userconfig: db_set_userconfig, db_set_userconfig: db_set_userconfig,
db_get_sockets_to_standby: db_get_sockets_to_standby, db_get_sockets_to_standby: db_get_sockets_to_standby,
//db_update_response: db_update_response, //db_update_response: db_update_response,
db_save_response: db_save_response, db_save_rmld: db_save_rmld,
db_get_response_gesamter_einsatz: db_get_response_gesamter_einsatz, db_get_response_gesamter_einsatz: db_get_response_gesamter_einsatz,
db_get_response_wache: db_get_response_wache, db_get_response_wache: db_get_response_wache,
db_get_einsatzdaten_by_uuid: db_get_einsatzdaten_by_uuid, db_get_einsatzdaten_by_uuid: db_get_einsatzdaten_by_uuid,