commit 30/06/2025

This commit is contained in:
2025-06-30 09:03:08 +07:00
parent 0d572514db
commit b8d185f46a
7 changed files with 258 additions and 117 deletions

View File

@@ -1,6 +1,7 @@
package web;
import additional.config;
import database.ContactInputData;
import io.javalin.Javalin;
import lombok.Getter;
import main.Main;
@@ -55,17 +56,41 @@ public class WebServer {
String cmd = req.request().trim().toUpperCase();
switch(cmd){
case "GET_SETTING" :
webSettingArgs args1 = new webSettingArgs();
args1.mqttBrokerIP = Main.config.getMQTT_Broker();
webSettingArgs args1 = additional.config.To_webSettingArgs(Main.config);
webResponse response = new webResponse("GET_SETTING", gson.toJson(args1));
ctx.send(response);
break;
case "RESET_DEFAULT":
Main.config.MakeDefaults();
webResponse resetResponse = new webResponse("RESET_DEFAULT", "Default settings restored.");
ctx.send(resetResponse);
// Send updated settings after reset
webSettingArgs args2 = additional.config.To_webSettingArgs(Main.config);
webResponse response2 = new webResponse("GET_SETTING", gson.toJson(args2));
ctx.send(response2);
break;
case "SET_SETTING":
webSettingArgs args2 = gson.fromJson(req.args(), webSettingArgs.class);
webSettingArgs args3 = gson.fromJson(req.args(), webSettingArgs.class);
config newConfig = additional.config.From_webSettingArgs(args3);
if (Main.config.IsEqual(newConfig)) {
Logger.info("No changes detected in settings, not updating.");
ctx.send(new webResponse("SET_SETTING", "No changes made."));
} else {
Main.config = newConfig;
Main.config.Save();
Logger.info("Settings updated successfully.");
ctx.send(new webResponse("SET_SETTING", "Settings updated successfully."));
}
break;
case "GET_CONTACT_SETUP":
// ambil dari database ContactInputData, kirim balik
ContactInputData[] contactInputs = Main.db.contactInputDataList.toArray(new ContactInputData[0]);
break;
case "GET_CONTACT_STATUS":
// ambil dari Nanopi Gpio, kirim balik
break;
}
}
@@ -83,7 +108,9 @@ public class WebServer {
});
ws.onError(ctx -> {
Logger.error("WebSocket error: {}", ctx.error().getMessage());
if (ctx.error()!=null && ValidString(ctx.error().getMessage())){
Logger.error("WebSocket error: {}", ctx.error().getMessage());
}
});
});
}

View File

@@ -0,0 +1,16 @@
package web;
import database.ContactInputData;
@SuppressWarnings("unused")
public class webContactSetupArgs {
public ContactInputData c1;
public ContactInputData c2;
public ContactInputData c3;
public ContactInputData c4;
public ContactInputData c5;
public ContactInputData c6;
public ContactInputData c7;
public ContactInputData c8;
}

View File

@@ -1,23 +1,22 @@
package web;
import lombok.Data;
@Data
@SuppressWarnings("unused")
public class webSettingArgs {
String smtpServer;
int smtpPort;
String smtpUsername;
String smtpPassword;
boolean smtpSSL;
String smtpSenderAddress;
String smtpSenderName;
String smtpSubject;
String vx3kIP;
int vx3kPort;
String mqttBrokerIP;
int mqttPort;
String mqttUsername;
String mqttPassword;
String mqttClientID;
String mqttTopic;
public String smtpServer;
public int smtpPort;
public String smtpUsername;
public String smtpPassword;
public boolean smtpSSL;
public String smtpSenderAddress;
public String smtpSenderName;
public String smtpSubject;
public String vx3kIP;
public int vx3kPort;
public String mqttBrokerIP;
public int mqttPort;
public String mqttUsername;
public String mqttPassword;
public String mqttClientID;
public String mqttTopic;
}