mb-backup-manager/scripts/backupOnBeforeInit.js

51 lines
1.6 KiB
JavaScript
Raw Normal View History

2024-03-07 17:22:10 +00:00
var resp = api.env.control.GetEnvs();
2024-03-06 15:47:40 +00:00
if (resp.result !== 0) return resp;
2024-03-07 17:22:10 +00:00
var envs = [];
2024-03-08 15:40:44 +00:00
2024-03-08 17:01:47 +00:00
for (var i = 0, envInfo; envInfo = resp.infos[i]; i++) {
var env = envInfo.env;
2024-03-08 15:40:44 +00:00
if (env.status == 1) { // Check if environment is active
2024-03-08 17:01:47 +00:00
var hasStorageNode = false;
2024-03-08 15:40:44 +00:00
for (var j = 0, node; node = envInfo.nodes[j]; j++) {
2024-03-08 17:01:47 +00:00
// Correctly filter nodes by 'storage' nodeGroup
2024-03-08 15:40:44 +00:00
if (node.nodeGroup === "storage") {
2024-03-08 17:01:47 +00:00
hasStorageNode = true;
break; // Exit loop once a storage node is found
2024-03-07 18:19:18 +00:00
}
2024-03-08 14:29:39 +00:00
}
2024-03-08 17:01:47 +00:00
if (hasStorageNode) {
2024-03-08 15:40:44 +00:00
envs.push({
value: env.envName,
caption: (env.displayName + " (" + env.envName + ")" || env.envName)
});
}
2024-03-08 14:29:39 +00:00
}
2024-03-06 15:47:40 +00:00
}
if (envs.length > 0) {
jps.settings.main.fields[1].values = envs;
jps.settings.main.fields[1].default = envs[0].value;
}
2024-03-08 15:40:44 +00:00
2024-03-06 15:47:40 +00:00
import java.util.TimeZone;
var zones = toNative(TimeZone.getAvailableIDs());
var values = {};
for (var i = 0, n = zones.length; i < n; i++) {
2024-03-08 15:40:44 +00:00
var offset = TimeZone.getTimeZone(zones[i]).getRawOffset() / 3600000;
var m = offset % 1;
if (m != 0) m = Math.abs(m * 60);
if (m < 10) m = "0" + m;
var h = Math.floor(offset);
if (Math.abs(h) < 10) h = h < 0 ? "-0" + Math.abs(h) : "+0" + h; else if (h >= 0) h = "+" + h;
values[zones[i]] = zones[i] + (zones[i] == "GMT" ? "" : " (GMT" + h + ":" + m + ")");
2024-03-06 15:47:40 +00:00
}
2024-03-08 15:40:44 +00:00
2024-03-06 15:47:40 +00:00
jps.settings.main.fields[0].showIf[2][2].values = values;
jps.settings.main.fields[0].showIf[2][2].value = "GMT0";
2024-03-08 15:40:44 +00:00
2024-03-06 15:47:40 +00:00
return {
result: 0,
settings: jps.settings
2024-03-08 15:40:44 +00:00
};