From 10c81bbfd3d8cf0d396fff2ce4759fcf21bd6a70 Mon Sep 17 00:00:00 2001
From: filippolauria <filippo.lauria@iit.cnr.it>
Date: Fri, 31 Jan 2025 13:51:47 +0100
Subject: [PATCH] Added new columns to monitor table for configuring advanced
 ping behavior: - ping_count: number of packets to send - ping_deadline:
 maximum total duration - ping_timeout: time to wait for each response -
 ping_numeric: output IP addresses instead of hostnames

---
 db/knex_init_db.js                                 | 14 ++++++++++++++
 .../patch-add-ping-advanced-options.sql            |  7 +++++++
 2 files changed, 21 insertions(+)
 create mode 100644 db/old_migrations/patch-add-ping-advanced-options.sql

diff --git a/db/knex_init_db.js b/db/knex_init_db.js
index 46bff4bfa..c5a542e29 100644
--- a/db/knex_init_db.js
+++ b/db/knex_init_db.js
@@ -548,6 +548,20 @@ ALTER TABLE monitor
         table.double("timeout").defaultTo(0).notNullable();
     });
 
+    /*
+    patch-add-ping-advanced-options.sql
+    ALTER TABLE monitor ADD ping_count INTEGER default 1 not null;
+    ALTER TABLE monitor ADD ping_numeric BOOLEAN default true not null;
+    ALTER TABLE monitor ADD ping_deadline INTEGER default 10 not null;
+    ALTER TABLE monitor ADD ping_timeout INTEGER default 2 not null;
+    */
+    await knex.schema.table("monitor", function (table) {
+        table.integer("ping_count").defaultTo(1).notNullable();
+        table.boolean("ping_numeric").defaultTo(true).notNullable();
+        table.integer("ping_deadline").defaultTo(10).notNullable();
+        table.integer("ping_timeout").defaultTo(2).notNullable();
+    });
+
     /*
     patch-add-gamedig-given-port.sql
     ALTER TABLE monitor
diff --git a/db/old_migrations/patch-add-ping-advanced-options.sql b/db/old_migrations/patch-add-ping-advanced-options.sql
new file mode 100644
index 000000000..9ce76b072
--- /dev/null
+++ b/db/old_migrations/patch-add-ping-advanced-options.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 ping_count INTEGER default 1 not null;
+ALTER TABLE monitor ADD ping_numeric BOOLEAN default true not null;
+ALTER TABLE monitor ADD ping_deadline INTEGER default 10 not null;
+ALTER TABLE monitor ADD ping_timeout INTEGER default 2 not null;
+COMMIT;