From d6e0a0df04adba31c595f1b1680d134b1d5a28fd Mon Sep 17 00:00:00 2001 From: Thomas Ballmann Date: Mon, 30 Nov 2020 21:35:30 +0100 Subject: [PATCH] add factory reset endpoint --- lib/app/app.cpp | 12 ++++++++++++ lib/settings/settings.cpp | 7 +++++++ lib/settings/settings.h | 3 +-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/app/app.cpp b/lib/app/app.cpp index 5d74f8d..2823f46 100644 --- a/lib/app/app.cpp +++ b/lib/app/app.cpp @@ -171,6 +171,18 @@ void loopApp() */ void setupApiSettings() { + server.on("/api/settings/reset", HTTP_GET, [](AsyncWebServerRequest *request) { + if (request->hasParam("confirmed")) + { + Serial.println("factory reset"); + settingsFactoryReset(); + + ESP.restart(); + } + + request->send(200, "application/json; charset=utf-8", "{}"); + }); + server.on("/api/settings", HTTP_GET, [](AsyncWebServerRequest *request) { AsyncResponseStream *response = request->beginResponseStream("application/json"); DynamicJsonDocument root(1024); diff --git a/lib/settings/settings.cpp b/lib/settings/settings.cpp index f89827d..75b9775 100644 --- a/lib/settings/settings.cpp +++ b/lib/settings/settings.cpp @@ -4,3 +4,10 @@ void setupSettings() { NVS.begin(); } + +void settingsFactoryReset() +{ + NVS.eraseAll(); + + // TODO remove also json db file +} \ No newline at end of file diff --git a/lib/settings/settings.h b/lib/settings/settings.h index e5fea33..3815764 100644 --- a/lib/settings/settings.h +++ b/lib/settings/settings.h @@ -4,8 +4,7 @@ #include "ArduinoNvs.h" void setupSettings(); - -//extern Settings = NVS; +void settingsFactoryReset(); #endif \ No newline at end of file