diff --git a/server.js b/server.js index 2045065..7824310 100644 --- a/server.js +++ b/server.js @@ -8,6 +8,7 @@ const webserver = https.createServer({ cert: fs.readFileSync('./misc/server.cert', 'utf8') }, app); const io = require('socket.io').listen(webserver); +const io_api = require('socket.io-client'); const async = require('async'); const path = require('path'); const favicon = require('serve-favicon'); @@ -34,13 +35,21 @@ app.use(bodyParser.urlencoded({ extended: false })); +// Remote-Api aktivieren +var remote_api +if (app_cfg.endpoint.enabled) { + remote_api = io_api.connect(app_cfg.endpoint.host, { + reconnect: true + }); +}; + // Scripte einbinden var sql_cfg = require('./server/sql_cfg')(fs, bcrypt, app_cfg); var sql = require('./server/sql_qry')(sql_cfg, app_cfg); var brk = require('./server/broker')(app_cfg, sql, uuidv4); -var waip = require('./server/waip')(io, sql, fs, brk, async, app_cfg, api); -var saver = require('./server/saver')(app_cfg, sql, waip, uuidv4); -var api = require('./server/api')(io, sql, app_cfg, saver); +var waip = require('./server/waip')(io, sql, fs, brk, async, app_cfg); +var saver = require('./server/saver')(app_cfg, sql, waip, uuidv4, io); +var api = require('./server/api')(io, sql, app_cfg, remote_api, saver); var socket = require('./server/socket')(io, sql, app_cfg, waip); var udp = require('./server/udp')(app_cfg, sql, saver); var auth = require('./server/auth')(app, app_cfg, sql_cfg, async, bcrypt, passport, io); diff --git a/server/saver.js b/server/saver.js index 1b5e533..8980567 100755 --- a/server/saver.js +++ b/server/saver.js @@ -47,7 +47,11 @@ module.exports = function (app_cfg, sql, waip, uuidv4) { }; // Einsatz in DB Speichern waip.waip_speichern(waip_data, app_id); - sql.db_log('WAIP', 'Neuer Einsatz von ' + remote_addr + ' wird jetzt verarbeitet: ' + waip_data); + sql.db_log('WAIP', 'Neuer Einsatz von ' + remote_addr + ' wird jetzt verarbeitet: ' + waip_data); + // Einsatzdaten per API weiterleiten (entweder zum Server oder zum verbunden Client) + // TODO TEST: Api WAIP + api.server_to_client_new_waip(waip_data, app_id); + api.client_to_server_new_waip(waip_data, app_id); }); } else { sql.db_log('WAIP', 'Fehler: Einsatz von ' + remote_addr + ' nicht valide: ' + waip_data); @@ -70,6 +74,9 @@ module.exports = function (app_cfg, sql, waip, uuidv4) { callback && callback(result); }; }); + // TODO TEST: Api WAIP + api.server_to_client_new_rmld(req.body, app_id); + api.client_to_server_new_rmld(req.body, app_id); } else { sql.db_log('RMLD', 'Fehler: Rückmeldung von ' + remote_addr + ' nicht valide: ' + waip_data); }; diff --git a/server/waip.js b/server/waip.js index ae68bed..19c4c0c 100755 --- a/server/waip.js +++ b/server/waip.js @@ -1,4 +1,4 @@ -module.exports = function (io, sql, fs, brk, async, app_cfg, api) { +module.exports = function (io, sql, fs, brk, async, app_cfg) { // Module laden const json2csv = require('json2csv'); @@ -48,10 +48,6 @@ module.exports = function (io, sql, fs, brk, async, app_cfg, api) { }; }); }); - // Einsatzdaten per API weiterleiten (entweder zum Server oder zum verbunden Client) - // TODO TEST: Api WAIP - api.server_to_client_new_waip(waip_data, app_id); - api.client_to_server_new_waip(waip_data, app_id); }; function waip_verteilen(waip_id, socket, wachen_nr) { @@ -109,9 +105,6 @@ module.exports = function (io, sql, fs, brk, async, app_cfg, api) { callback && callback(saved); }; }); - // TODO TEST: Api WAIP - api.server_to_client_new_rmld(req.body, app_id); - api.client_to_server_new_rmld(req.body, app_id); }; function rmld_verteilen_by_uuid(waip_uuid, rmld_uuid) {