From af93e5d77e57b052fe26336c00891bcfd6545dd2 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 23 Dec 2022 19:22:08 +0100 Subject: [PATCH] Introduce numeric error codes in maintenance webapi --- include/WebApi_errors.h | 4 ++++ src/WebApi_maintenance.cpp | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/include/WebApi_errors.h b/include/WebApi_errors.h index f529ef9f..8640d9ad 100644 --- a/include/WebApi_errors.h +++ b/include/WebApi_errors.h @@ -33,4 +33,8 @@ enum WebApiError { LimitInvalidLimit, LimitInvalidType, LimitInvalidInverter, + + MaintenanceBase = 6000, + MaintenanceRebootTriggered, + MaintenanceRebootCancled, }; \ No newline at end of file diff --git a/src/WebApi_maintenance.cpp b/src/WebApi_maintenance.cpp index effedd6b..387fbe7c 100644 --- a/src/WebApi_maintenance.cpp +++ b/src/WebApi_maintenance.cpp @@ -5,6 +5,7 @@ #include "WebApi_maintenance.h" #include "WebApi.h" +#include "WebApi_errors.h" #include void WebApiMaintenanceClass::init(AsyncWebServer* server) @@ -32,6 +33,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request) if (!request->hasParam("data", true)) { retMsg[F("message")] = F("No values found!"); + retMsg[F("code")] = WebApiError::GenericNoValueFound; response->setLength(); request->send(response); return; @@ -41,6 +43,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request) if (json.length() > MQTT_JSON_DOC_SIZE) { retMsg[F("message")] = F("Data too large!"); + retMsg[F("code")] = WebApiError::GenericDataTooLarge; response->setLength(); request->send(response); return; @@ -51,6 +54,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request) if (error) { retMsg[F("message")] = F("Failed to parse data!"); + retMsg[F("code")] = WebApiError::GenericParseError; response->setLength(); request->send(response); return; @@ -58,6 +62,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request) if (!(root.containsKey("reboot"))) { retMsg[F("message")] = F("Values are missing!"); + retMsg[F("code")] = WebApiError::GenericValueMissing; response->setLength(); request->send(response); return; @@ -66,6 +71,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request) if (root[F("reboot")].as()) { retMsg[F("type")] = F("success"); retMsg[F("message")] = F("Reboot triggered!"); + retMsg[F("code")] = WebApiError::MaintenanceRebootTriggered; response->setLength(); request->send(response); @@ -75,6 +81,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request) ESP.restart(); } else { retMsg[F("message")] = F("Reboot cancled!"); + retMsg[F("code")] = WebApiError::MaintenanceRebootCancled; response->setLength(); request->send(response);