From d0cfa84b02bfd8049b58aaae722556c052d53132 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Mon, 9 Mar 2020 20:01:01 +0100 Subject: [PATCH] =?UTF-8?q?update=20Mo=209.=20M=C3=A4r=2020:01:01=20CET=20?= =?UTF-8?q?2020?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/auth.js | 2 +- server/sql_cfg.js | 25 ++++++++++++++++++++++--- server/sql_qry.js | 10 +++++----- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/server/auth.js b/server/auth.js index 90bcc24..19c9571 100644 --- a/server/auth.js +++ b/server/auth.js @@ -78,7 +78,7 @@ module.exports = function(app, app_cfg, db, async, bcrypt, passport, io) { passport.deserializeUser(function(id, done) { db.get(`SELECT id, user, permissions, - (select reset_counter from waip_configs where user_id = ?) reset_counter + (select reset_counter from waip_user_config where user_id = ?) reset_counter FROM waip_users WHERE id = ?`, [id, id], function(err, row) { if (!row) { return done(null, false); diff --git a/server/sql_cfg.js b/server/sql_cfg.js index bed142e..02b68f1 100644 --- a/server/sql_cfg.js +++ b/server/sql_cfg.js @@ -98,7 +98,8 @@ module.exports = function (fs, bcrypt, app_cfg) { arrival_time DATETIME, wache_id INTEGER, wache_nr INTEGER, - wache_name TEXT)`); + wache_name TEXT, + FOREIGN KEY (waip_uuid) REFERENCES waip_einsaetze(uuid) ON DELETE CASCADE ON UPDATE CASCADE)`); // Benutzer-Tabelle erstellen db.run(`CREATE TABLE waip_users ( id INTEGER PRIMARY KEY AUTOINCREMENT, @@ -107,15 +108,33 @@ module.exports = function (fs, bcrypt, app_cfg) { permissions TEXT, ip_address TEXT)`); // Einstellungs-Tabelle für Benutzer erstellen - db.run(`CREATE TABLE waip_configs ( + db.run(`CREATE TABLE waip_user_config ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER, - reset_counter INTEGER)`); + reset_counter INTEGER, + FOREIGN KEY(user_id) REFERENCES waip_users(id))`); // Ersetzungs-Tabelle fuer Einsatzmittelnamen erstellen db.run(`CREATE TABLE waip_ttsreplace ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, einsatzmittel_typ TEXT, einsatzmittel_rufname TEXT)`); + // Twitter-Account-Tabelle erstellen + db.run(`CREATE TABLE waip_twitter_accounts ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, + tw_screen_name TEXT, + tw_consumer_key TEXT, + tw_consumer_secret TEXT, + tw_access_token_key TEXT, + tw_access_token_secret TEXT)`); + // Twitter-Listen-Tabelle erstellen + db.run(`CREATE TABLE waip_twitter_wachen ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, + waip_wachen_id INTEGER, + tw_account_id INTEGER, + tw_account_list TEXT, + FOREIGN KEY(waip_wachen_id) REFERENCES waip_wachen(id), + FOREIGN KEY(tw_account_id) REFERENCES waip_twitter_accounts(id))`); + // Log erstellen db.run(`CREATE TABLE waip_log ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, log_time DATETIME DEFAULT CURRENT_TIMESTAMP, diff --git a/server/sql_qry.js b/server/sql_qry.js index c53bf34..9f79977 100755 --- a/server/sql_qry.js +++ b/server/sql_qry.js @@ -14,7 +14,7 @@ module.exports = function(db, uuidv4, app_cfg) { } else { // wenn user_id vorhanden, aber keine config, dann dts COALESCE(MAX(reset_counter), xxx) select_reset_counter = `(SELECT COALESCE(MAX(reset_counter), ` + dts + `) - reset_counter FROM waip_configs WHERE user_id = ` + user_id + `)`; + reset_counter FROM waip_user_config WHERE user_id = ` + user_id + `)`; }; // Einsätze für die gewählte Wachen_ID ermittel, und Ablaufzeit beachten db.all(`SELECT waip_einsaetze_ID FROM @@ -318,7 +318,7 @@ module.exports = function(db, uuidv4, app_cfg) { e.id, DATETIME(e.zeitstempel, 'localtime') zeitstempel, DATETIME(e.zeitstempel, '+' || ( - SELECT COALESCE(MAX(reset_counter), ?) reset_counter FROM waip_configs WHERE user_id = ? + 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 @@ -521,7 +521,7 @@ module.exports = function(db, uuidv4, app_cfg) { }; function db_get_userconfig(user_id, callback) { - db.get(`SELECT reset_counter FROM waip_configs + db.get(`SELECT reset_counter FROM waip_user_config WHERE user_id = ?`, [user_id], function(err, row) { if (err == null && row) { callback && callback(row.reset_counter); @@ -536,10 +536,10 @@ module.exports = function(db, uuidv4, app_cfg) { if (!(reset_counter >= 1 && reset_counter <= app_cfg.global.time_to_delete_waip)) { reset_counter = app_cfg.global.default_time_for_standby; }; - db.run((`INSERT OR REPLACE INTO waip_configs + db.run((`INSERT OR REPLACE INTO waip_user_config (id, user_id, reset_counter) VALUES ( - (select ID from waip_configs where user_id like \'` + user_id + `\'), + (select ID from waip_user_config where user_id like \'` + user_id + `\'), \'` + user_id + `\', \'` + reset_counter + `\')`), function(err) { if (err == null) {