Introduce numeric error codes in maintenance webapi

This commit is contained in:
Thomas Basler 2022-12-23 19:22:08 +01:00
parent fb35e95f3c
commit af93e5d77e
2 changed files with 11 additions and 0 deletions

View File

@ -33,4 +33,8 @@ enum WebApiError {
LimitInvalidLimit, LimitInvalidLimit,
LimitInvalidType, LimitInvalidType,
LimitInvalidInverter, LimitInvalidInverter,
MaintenanceBase = 6000,
MaintenanceRebootTriggered,
MaintenanceRebootCancled,
}; };

View File

@ -5,6 +5,7 @@
#include "WebApi_maintenance.h" #include "WebApi_maintenance.h"
#include "WebApi.h" #include "WebApi.h"
#include "WebApi_errors.h"
#include <AsyncJson.h> #include <AsyncJson.h>
void WebApiMaintenanceClass::init(AsyncWebServer* server) void WebApiMaintenanceClass::init(AsyncWebServer* server)
@ -32,6 +33,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request)
if (!request->hasParam("data", true)) { if (!request->hasParam("data", true)) {
retMsg[F("message")] = F("No values found!"); retMsg[F("message")] = F("No values found!");
retMsg[F("code")] = WebApiError::GenericNoValueFound;
response->setLength(); response->setLength();
request->send(response); request->send(response);
return; return;
@ -41,6 +43,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request)
if (json.length() > MQTT_JSON_DOC_SIZE) { if (json.length() > MQTT_JSON_DOC_SIZE) {
retMsg[F("message")] = F("Data too large!"); retMsg[F("message")] = F("Data too large!");
retMsg[F("code")] = WebApiError::GenericDataTooLarge;
response->setLength(); response->setLength();
request->send(response); request->send(response);
return; return;
@ -51,6 +54,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request)
if (error) { if (error) {
retMsg[F("message")] = F("Failed to parse data!"); retMsg[F("message")] = F("Failed to parse data!");
retMsg[F("code")] = WebApiError::GenericParseError;
response->setLength(); response->setLength();
request->send(response); request->send(response);
return; return;
@ -58,6 +62,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request)
if (!(root.containsKey("reboot"))) { if (!(root.containsKey("reboot"))) {
retMsg[F("message")] = F("Values are missing!"); retMsg[F("message")] = F("Values are missing!");
retMsg[F("code")] = WebApiError::GenericValueMissing;
response->setLength(); response->setLength();
request->send(response); request->send(response);
return; return;
@ -66,6 +71,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request)
if (root[F("reboot")].as<bool>()) { if (root[F("reboot")].as<bool>()) {
retMsg[F("type")] = F("success"); retMsg[F("type")] = F("success");
retMsg[F("message")] = F("Reboot triggered!"); retMsg[F("message")] = F("Reboot triggered!");
retMsg[F("code")] = WebApiError::MaintenanceRebootTriggered;
response->setLength(); response->setLength();
request->send(response); request->send(response);
@ -75,6 +81,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request)
ESP.restart(); ESP.restart();
} else { } else {
retMsg[F("message")] = F("Reboot cancled!"); retMsg[F("message")] = F("Reboot cancled!");
retMsg[F("code")] = WebApiError::MaintenanceRebootCancled;
response->setLength(); response->setLength();
request->send(response); request->send(response);