diff --git a/db/patch7.sql b/db/patch7.sql index 2e8eba15c..4085daf3f 100644 --- a/db/patch7.sql +++ b/db/patch7.sql @@ -7,4 +7,7 @@ ALTER TABLE monitor ALTER TABLE monitor ADD dns_resolve_server VARCHAR(255); +ALTER TABLE monitor + ADD dns_last_result VARCHAR(255); + COMMIT; diff --git a/db/patch8.sql b/db/patch8.sql new file mode 100644 index 000000000..d63a59476 --- /dev/null +++ b/db/patch8.sql @@ -0,0 +1,7 @@ +-- You should not modify if this have pushed to Github, unless it does serious wrong with the db. +BEGIN TRANSACTION; + +ALTER TABLE monitor + ADD dns_last_result VARCHAR(255); + +COMMIT; diff --git a/server/database.js b/server/database.js index 2b9b715cf..7ce81be11 100644 --- a/server/database.js +++ b/server/database.js @@ -6,7 +6,7 @@ class Database { static templatePath = "./db/kuma.db" static path = "./data/kuma.db"; - static latestVersion = 7; + static latestVersion = 8; static noReject = true; static sqliteInstance = null; diff --git a/server/model/monitor.js b/server/model/monitor.js index f5efadc1f..6d0d812bd 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -50,6 +50,7 @@ class Monitor extends BeanModel { accepted_statuscodes: this.getAcceptedStatuscodes(), dns_resolve_type: this.dns_resolve_type, dns_resolve_server: this.dns_resolve_server, + dns_last_result: this.dns_last_result, notificationIDList, }; } @@ -207,6 +208,13 @@ class Monitor extends BeanModel { dnsMessage = dnsMessage.slice(0, -2) } + if (this.dnsLastResult !== dnsMessage) { + R.exec("UPDATE `monitor` SET dns_last_result = ? WHERE id = ? ", [ + dnsMessage, + this.id + ]); + } + bean.msg = dnsMessage; bean.status = UP; } diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js index 93d3da1d1..ba852cf32 100644 --- a/src/languages/de-DE.js +++ b/src/languages/de-DE.js @@ -102,4 +102,6 @@ export default { resoverserverDescription: "Cloudflare ist der Standardserver, dieser kann jederzeit geändern werden.", "Resolver Server": "Auflösungsserver", rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.", + "Last Result": "Letztes Ergebnis", + pauseMonitorMsg: "Bist du sicher das du den Monitor pausieren möchtest?", } diff --git a/src/languages/en.js b/src/languages/en.js index ebacfac8e..75c25dd57 100644 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -15,4 +15,5 @@ export default { deleteNotificationMsg: "Are you sure want to delete this notification for all monitors?", resoverserverDescription: "Cloudflare is the default server, you can change the resolver server anytime.", rrtypeDescription: "Select the RR-Type you want to monitor", + pauseMonitorMsg: "Are you sure want to pause?", } diff --git a/src/pages/Details.vue b/src/pages/Details.vue index f06f9e138..cc45e4034 100644 --- a/src/pages/Details.vue +++ b/src/pages/Details.vue @@ -10,7 +10,10 @@
{{ $t("Keyword") }}: {{ monitor.keyword }} - [{{ monitor.dns_resolve_type }}] {{ monitor.hostname }} + [{{ monitor.dns_resolve_type }}] {{ monitor.hostname }} +
+ {{ $t("Last Result") }}: {{ monitor.dns_last_result }} +

@@ -162,8 +165,8 @@
- - Are you sure want to pause? + + {{ $t("pauseMonitorMsg") }}