From 1e42f82ea604f5b00abaaaa2a7f9bd72b9d13ba8 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Wed, 29 Apr 2020 16:31:01 +0200 Subject: [PATCH] update Mi 29. Apr 16:31:01 CEST 2020 --- server.js | 9 ++++++--- server/app_cfg.js | 2 -- server/routing.js | 1 + server/sql_qry.js | 2 +- server/waip.js | 16 ++-------------- views/includes/master_dashboard.pug | 1 + views/overviews/overview_dbrd.pug | 4 +++- views/overviews/overview_waip.pug | 10 +++++----- 8 files changed, 19 insertions(+), 26 deletions(-) diff --git a/server.js b/server.js index 0d2bbbc..8f262ee 100644 --- a/server.js +++ b/server.js @@ -19,10 +19,16 @@ const twit = require('twit'); const uuidv4 = require('uuid/v4'); const turf = require('@turf/turf'); +// Basis-Konfiguration laden +var app_cfg = require('./server/app_cfg.js'); + // Express-Einstellungen app.set('views', path.join(__dirname, 'views')); app.locals.basedir = app.get('views'); app.set('view engine', 'pug'); +if (!app_cfg.global.development) { + app.set('view cache', true); +}; app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(express.static(path.join(__dirname, 'public'))); app.use(bodyParser.json()); @@ -31,7 +37,6 @@ app.use(bodyParser.urlencoded({ })); // Scripte einbinden -var app_cfg = require('./server/app_cfg.js'); var sql_cfg = require('./server/sql_cfg')(fs, bcrypt, app_cfg); var sql = require('./server/sql_qry')(sql_cfg, uuidv4, turf, app_cfg); var tw = require('./server/twitter')(twit, uuidv4, app_cfg); @@ -66,5 +71,3 @@ http.createServer(function(req, res) { res.end(); }; }).listen(app_cfg.global.http_port); - -// TODO: auf HTTPS mit TLS1.2 umstellen, inkl. WSS diff --git a/server/app_cfg.js b/server/app_cfg.js index d40fcd3..3f244e8 100644 --- a/server/app_cfg.js +++ b/server/app_cfg.js @@ -32,6 +32,4 @@ app_cfg.remote = { jwt_secret: 'asdfwert1234567890#' }; -remoteapi: 'http://localhost:8078/api', - module.exports = app_cfg; diff --git a/server/routing.js b/server/routing.js index 9f32db6..82c4e8d 100755 --- a/server/routing.js +++ b/server/routing.js @@ -385,6 +385,7 @@ module.exports = function(app, sql, uuidv4, app_cfg, passport, auth, waip, udp) // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development + // TODO: Development Modus abfangen res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page diff --git a/server/sql_qry.js b/server/sql_qry.js index 746c75c..8b0364f 100755 --- a/server/sql_qry.js +++ b/server/sql_qry.js @@ -534,7 +534,7 @@ module.exports = function (db, uuidv4, turf, app_cfg) { }; function db_get_active_waips(callback) { - db.all(`select we.uuid, we.einsatzart, we.stichwort, we.ort, we.ortsteil, + db.all(`select we.uuid, we.einsatzart, we.stichwort, we.ort, we.ortsteil, we.wgs84_area, GROUP_concat(DISTINCT substr( wa.nr_wache, 0, 3 )) a, GROUP_concat(DISTINCT substr( wa.nr_wache, 0, 5 )) b, GROUP_concat(DISTINCT wa.nr_wache) c diff --git a/server/waip.js b/server/waip.js index e6d1fb2..28970ba 100755 --- a/server/waip.js +++ b/server/waip.js @@ -91,8 +91,7 @@ module.exports = function (io, sql, tw, async, app_cfg) { if (rmld_obj) { // Rückmeldung an Clients/Räume senden socket_rooms.forEach(function (rooms) { - var nsp_waip = io.of('/waip'); - nsp_waip.to(rooms.room).emit('io.response', rmld_obj); + io.of('/waip').to(rooms.room).emit('io.response', rmld_obj); sql.db_log('RMLD', 'Rückmeldung ' + rmld_uuid + ' für den Einsatz mit der ID ' + waip_id + ' an Wache ' + rooms.room + ' gesendet.'); sql.db_log('DEBUG', 'Rückmeldung JSON: ' + JSON.stringify(rmld_obj)); }); @@ -236,18 +235,7 @@ module.exports = function (io, sql, tw, async, app_cfg) { sql.db_get_sockets_to_standby(function (socket_ids) { if (socket_ids) { socket_ids.forEach(function (row) { - //var socket = io.sockets.connected[row.socket_id]; - - - var nsp_waip = io.of('/waip'); - console.log(JSON.stringify(row)); - console.log(nsp_waip.connected[row.socket_id]); - var socket = nsp_waip.connected[row.socket_id]; - //nsp_waip.to(rooms.room).emit('io.response', rmld_obj); - - //io.of('/waip').to(row.socket_id).emit('io.standby', null); - //io.of('/waip').to(row.socket_id).emit('io.stopaudio', null); - + var socket = io.of('/waip').connected[row.socket_id]; socket.emit('io.standby', null); socket.emit('io.stopaudio', null); sql.db_log('WAIP', 'Standby an Socket ' + socket.id + ' gesendet'); diff --git a/views/includes/master_dashboard.pug b/views/includes/master_dashboard.pug index 3378af6..8549817 100755 --- a/views/includes/master_dashboard.pug +++ b/views/includes/master_dashboard.pug @@ -307,5 +307,6 @@ style(type='text/css'). h3.list-group-item.flex-fill 0 FK h3.list-group-item.list-group-item-light.flex-fill.text-dark 0 AGT //button#rueckmeldung.btn.btn-danger.btn-lg.btn-block.ion-md-paper-plane(type='button') Rückmeldung senden + // TODO: zeitstrahl der den Ablauf anzeigt diff --git a/views/overviews/overview_dbrd.pug b/views/overviews/overview_dbrd.pug index 8a30a15..9e560d5 100755 --- a/views/overviews/overview_dbrd.pug +++ b/views/overviews/overview_dbrd.pug @@ -8,7 +8,7 @@ block content .card.bg-dark .card-body.text-center.text-muted h3 - wählen Sie ein Dashboard - - each val in dataSet + each val, index in dataSet .col-12.col-xl-6.d-flex.align-self-stretch.p-3 .card.w-100 .card-header @@ -24,9 +24,11 @@ block content default h5.font-weight-bold.ion-md-information-circle= ' ' + val.einsatzart + ' - ' + val.stichwort .card-body.d-flex.justify-content-between + .h-100.rounded( id='map' + val.uuid ) if val.ortsteil a= val.ort + ', ' + val.ortsteil else p= val.ort .card-footer.text-right a.btn.btn-primary.mx-2.ion-md-arrow-round-forward(href='/dbrd/' + val.uuid, role='button') Dashboard aufrufen + diff --git a/views/overviews/overview_waip.pug b/views/overviews/overview_waip.pug index 126acf1..a9c8e56 100755 --- a/views/overviews/overview_waip.pug +++ b/views/overviews/overview_waip.pug @@ -29,15 +29,15 @@ block content a.text-muted Sie sind Administrator und haben somit vollständigen Zugriff auf #[a(href="/waip/0") alle] Wachalarme else a(href="/waip/" + val)= val - .col-12.col-xl-6.d-flex.align-self-stretch.p-3 + .col-12.d-flex.align-self-stretch.p-3 .card.border-success.w-100.h-100 .card-header h1.text-success Alle Wachalarme .card-body p.text-muted Zeigt Wachalarme aller Wachen an. .card-footer.text-right - a.btn.btn-info.ion-md-arrow-round-forward(href='/waip/0', role='button') alle anzeigen - .col-12.col-xl-6.d-flex.align-self-stretch.p-3 + a.btn.btn-success.ion-md-arrow-round-forward(href='/waip/0', role='button') alle anzeigen + .col-12.col-xl-4.d-flex.align-self-stretch.p-3 .card.w-100.h-100 .card-header h1.text-info Alarmmonitor Wache @@ -51,7 +51,7 @@ block content each item in list_wachen if item.typ == 'wache' a.dropdown-item(href='/waip/'+ item.nr)= item.name - .col-12.col-xl-6.d-flex.align-self-stretch.p-3 + .col-12.col-xl-4.d-flex.align-self-stretch.p-3 .card.w-100.h-100 .card-header h1.text-info Alarmmonitor Träger @@ -65,7 +65,7 @@ block content each item in list_wachen if item.typ == 'traeger' a.dropdown-item(href='/waip/'+ item.nr)= item.name - .col-12.col-xl-6.d-flex.align-self-stretch.p-3 + .col-12.col-xl-4.d-flex.align-self-stretch.p-3 .card.w-100.h-100 .card-header h1.text-info Alarmmonitor Kreis