move the Get* endpoints to their right service classes

This commit is contained in:
proddy
2024-08-29 13:53:27 +02:00
parent e2aabb1418
commit 19922ca9fb
14 changed files with 114 additions and 115 deletions

View File

@@ -29,6 +29,10 @@ WebSettingsService::WebSettingsService(AsyncWebServer * server, FS * fs, Securit
HTTP_GET,
securityManager->wrapRequest([this](AsyncWebServerRequest * request) { board_profile(request); }, AuthenticationPredicates::IS_AUTHENTICATED));
addUpdateHandler([this] { onUpdate(); }, false);
server->on(EMSESP_GET_SETTINGS_PATH,
HTTP_GET,
securityManager->wrapRequest([this](AsyncWebServerRequest * request) { getSettings(request); }, AuthenticationPredicates::IS_ADMIN));
}
void WebSettings::read(WebSettings & settings, JsonObject root) {
@@ -425,4 +429,25 @@ void WebSettingsService::board_profile(AsyncWebServerRequest * request) {
request->send(response);
}
// returns json with all system settings
void WebSettingsService::getSettings(AsyncWebServerRequest * request) {
auto * response = new AsyncJsonResponse(false);
JsonObject root = response->getRoot();
root["type"] = "settings";
JsonObject node = root["System"].to<JsonObject>();
node["version"] = EMSESP_APP_VERSION;
System::extractSettings(NETWORK_SETTINGS_FILE, "Network", root);
System::extractSettings(AP_SETTINGS_FILE, "AP", root);
System::extractSettings(MQTT_SETTINGS_FILE, "MQTT", root);
System::extractSettings(NTP_SETTINGS_FILE, "NTP", root);
System::extractSettings(SECURITY_SETTINGS_FILE, "Security", root);
System::extractSettings(EMSESP_SETTINGS_FILE, "Settings", root);
response->setLength();
request->send(response);
}
} // namespace emsesp