diff --git a/db/knex_migrations/2024-12-12-2255-add-public-url.js b/db/knex_migrations/2024-12-12-2255-add-public-url.js new file mode 100644 index 000000000..0cd97240d --- /dev/null +++ b/db/knex_migrations/2024-12-12-2255-add-public-url.js @@ -0,0 +1,13 @@ +// Add column publicUrl to monitor table +exports.up = function (knex) { + return knex.schema + .alterTable("monitor", function (table) { + table.text("publicUrl", "text"); + }); +}; + +exports.down = function (knex) { + return knex.schema.alterTable("monitor", function (table) { + table.dropColumn("publicUrl"); + }); +}; diff --git a/server/model/monitor.js b/server/model/monitor.js index 3ad8cfafc..cb82bb85c 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -53,7 +53,7 @@ class Monitor extends BeanModel { }; if (this.sendUrl) { - obj.url = this.url; + obj.url = this.publicUrl ?? this.url; // Use publicUrl if available, otherwise use url } if (showTags) { @@ -91,6 +91,7 @@ class Monitor extends BeanModel { id: this.id, name: this.name, description: this.description, + publicUrl: this.publicUrl, path, pathName, parent: this.parent, diff --git a/server/server.js b/server/server.js index ec5ad49f6..15f062a6f 100644 --- a/server/server.js +++ b/server/server.js @@ -790,6 +790,7 @@ let needSetup = false; bean.parent = monitor.parent; bean.type = monitor.type; bean.url = monitor.url; + bean.publicUrl = monitor.publicUrl; bean.method = monitor.method; bean.body = monitor.body; bean.headers = monitor.headers; diff --git a/src/components/MonitorSettingDialog.vue b/src/components/MonitorSettingDialog.vue index e6b2cd1ef..d0ff80b00 100644 --- a/src/components/MonitorSettingDialog.vue +++ b/src/components/MonitorSettingDialog.vue @@ -10,7 +10,7 @@