From c968a3ad00d7e6f6fb97b8fc560ac7358b7b5213 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Mon, 27 Apr 2020 15:01:01 +0200 Subject: [PATCH] update Mo 27. Apr 15:01:01 CEST 2020 --- server/socket.js | 2 +- server/sql_qry.js | 10 +++++----- server/waip.js | 29 +++++++++++++++-------------- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/server/socket.js b/server/socket.js index 9a1f41a..3bdfaa6 100755 --- a/server/socket.js +++ b/server/socket.js @@ -38,7 +38,7 @@ module.exports = function (io, sql, app_cfg, waip) { sql.db_log('WAIP', 'Einsatz ' + waip_id + ' für Wache ' + wachen_id + ' vorhanden, wird jetzt an Client gesendet.'); //letzten Einsatz verteilen // zuvor: socket.id - waip.einsatz_verteilen(waip_id, socket.id, wachen_id); + waip.einsatz_verteilen(waip_id, socket, wachen_id); //vorhanden Rückmeldungen verteilen // zuvor: socket.id waip.rueckmeldung_verteilen_for_client(waip_id, socket, wachen_id); diff --git a/server/sql_qry.js b/server/sql_qry.js index c55df0a..a3f71f4 100755 --- a/server/sql_qry.js +++ b/server/sql_qry.js @@ -337,7 +337,7 @@ module.exports = function(db, uuidv4, turf, app_cfg) { SELECT COALESCE(MAX(reset_counter), ?) reset_counter FROM waip_user_config WHERE user_id = ? ) || ' minutes', 'localtime') ablaufzeit, e.EINSATZART, e.STICHWORT, e.SONDERSIGNAL, e.OBJEKT, e.ORT,e.ORTSTEIL, e.STRASSE, - e.BESONDERHEITEN, e.wgs84_x, e.wgs84_y, em1.EM_ALARMIERT, em0.EM_WEITERE + e.BESONDERHEITEN, e.wgs84_x, e.wgs84_y, e.wgs84_area, em1.EM_ALARMIERT, em0.EM_WEITERE FROM WAIP_EINSAETZE e LEFT JOIN ( SELECT waip_einsaetze_id, \'[\' || group_concat(\'{\"name\": \"\' || einsatzmittel || \'\", \"zeit\": \"\' || zeitstempel || \'\"}\') || \']\' AS em_alarmiert @@ -508,9 +508,9 @@ module.exports = function(db, uuidv4, turf, app_cfg) { }); }; - function db_check_permission(user, waip_id, callback) { - if (user && user.permissions) { - if (user.permissions == 'admin') { + function db_check_permission(user_obj, waip_id, callback) { + if (user_obj && user_obj.permissions) { + if (user_obj.permissions == 'admin') { callback && callback(true); } else { //permissions -> 52,62,6690,.... @@ -518,7 +518,7 @@ module.exports = function(db, uuidv4, turf, app_cfg) { left join waip_wachen wa on wa.id = em.waip_wachen_ID where waip_einsaetze_ID = ?`, [waip_id], function(err, row) { if (err == null && row) { - var permission_arr = user.permissions.split(","); + var permission_arr = user_obj.permissions.split(","); var wachen_arr = row.wache.split(","); const found = permission_arr.some(r => row.wache.search(RegExp(',' + r + '|\\b' + r)) >= 0); if (found) { diff --git a/server/waip.js b/server/waip.js index b9cafae..09b9422 100755 --- a/server/waip.js +++ b/server/waip.js @@ -18,7 +18,7 @@ module.exports = function (io, sql, tw, async, app_cfg) { //console.log(io.sockets.adapter); if (typeof room_sockets !== 'undefined') { //Object.keys(room_sockets.sockets).forEach(function (socketId) { - Object.keys(room_sockets).forEach(function (socket) { + Object.keys(room_sockets).forEach(function (socket) { einsatz_verteilen(waip_id, socket, rooms.room); sql.db_log('WAIP', 'Einsatz ' + waip_id + ' wird an ' + socket.id + ' (' + rooms.room + ') gesendet'); }); @@ -71,7 +71,7 @@ module.exports = function (io, sql, tw, async, app_cfg) { // io.sockets.to(socket_id).emit('io.neuerEinsatz', einsatzdaten) socket.emit('io.neuerEinsatz', einsatzdaten); sql.db_log('WAIP', 'Einsatz ' + waip_id + ' fuer Wache ' + wachen_nr + ' an Socket ' + socket.id + ' gesendet'); - ---> sql.db_update_client_status(io.sockets.sockets[socket_id], waip_id); + sql.db_update_client_status(socket, waip_id); // Sound erstellen tts_erstellen(app_cfg, socket.id, einsatzdaten, function (tts) { if (tts) { @@ -86,8 +86,8 @@ module.exports = function (io, sql, tw, async, app_cfg) { // Standby senden //io.sockets.to(socket_id).emit('io.standby', null); socket.emit('io.standby', null); - sql.db_log('WAIP', 'Kein Einsatz fuer Wache ' + wachen_nr + ' vorhanden, Standby an Socket ' + socket_id + ' gesendet..'); - sql.db_update_client_status(io.sockets.sockets[socket_id], null); + sql.db_log('WAIP', 'Kein Einsatz fuer Wache ' + wachen_nr + ' vorhanden, Standby an Socket ' + socket.id + ' gesendet..'); + sql.db_update_client_status(socket, null); }; }); }; @@ -245,10 +245,11 @@ 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) { - io.sockets.to(row.socket_id).emit('io.standby', null); - io.sockets.to(row.socket_id).emit('io.stopaudio', null); - sql.db_log('WAIP', 'Standby an Socket ' + row.socket_id + ' gesendet'); - sql.db_update_client_status(io.sockets.sockets[row.socket_id], null); + var socket = io.sockets.sockets[row.socket_id]; + socket.emit('io.standby', null); + socket.emit('io.stopaudio', null); + sql.db_log('WAIP', 'Standby an Socket ' + socket.id + ' gesendet'); + sql.db_update_client_status(socket, null); }); }; }); @@ -263,15 +264,15 @@ module.exports = function (io, sql, tw, async, app_cfg) { // fuer jede Wache(row.room) die verbundenen Sockets(Clients) ermitteln und Standby senden var room_stockets = io.sockets.adapter.rooms[row.room]; if (typeof room_stockets !== 'undefined') { - Object.keys(room_stockets.sockets).forEach(function (socketId) { + Object.keys(room_stockets).forEach(function (socket) { // Standby senden // TODO: Standby nur senden, wenn kein anderer (als der zu löschende) Einsatz angezeigt wird - sql.db_check_client_waipid(socketId, waip_id, function (same_id) { + sql.db_check_client_waipid(socket.id, waip_id, function (same_id) { if (same_id) { - io.sockets.to(socketId).emit('io.standby', null); - io.sockets.to(socketId).emit('io.stopaudio', null); - sql.db_log('WAIP', 'Standby an Socket ' + socketId + ' gesendet'); - sql.db_update_client_status(io.sockets.sockets[socketId], null); + socket.emit('io.standby', null); + socket.emit('io.stopaudio', null); + sql.db_log('WAIP', 'Standby an Socket ' + socket.id + ' gesendet'); + sql.db_update_client_status(socket, null); }; }); });