generated from jmgiacalone/esp32-template
Delete profile now works.
This commit is contained in:
35
src/main.cpp
35
src/main.cpp
@@ -145,9 +145,9 @@ String getProfilesList(void)
|
||||
settings.begin("profiles");
|
||||
list = settings.getString("list");
|
||||
Serial.println(list);
|
||||
deserializeJson(jsonList, list);
|
||||
// deserializeJson(jsonList, list);
|
||||
settings.end();
|
||||
serializeJson(jsonList,list);
|
||||
// serializeJson(jsonList,list);
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -197,21 +197,26 @@ boolean deleteProfile(AsyncWebServerRequest * request)
|
||||
{
|
||||
bool res = false;
|
||||
int params = request->params();
|
||||
if(params == 1){
|
||||
settings.begin("profiles");
|
||||
if(params > 0){
|
||||
String list;
|
||||
JsonDocument jsonList;
|
||||
String name = request->getParam("name",true)->value();
|
||||
deserializeJson(jsonList,settings.getString("list"));
|
||||
if(jsonList.containsKey(name)){
|
||||
//remove from list
|
||||
jsonList.remove(name);
|
||||
String list;
|
||||
serializeJson(jsonList,list);
|
||||
settings.putString("list",list);
|
||||
//remove profile
|
||||
settings.remove(name.c_str());
|
||||
res = true;
|
||||
}
|
||||
settings.begin("profiles");
|
||||
list = settings.getString("list");
|
||||
Serial.printf("Removing %s from %s.\n",name,list.c_str());
|
||||
deserializeJson(jsonList,list.c_str());
|
||||
JsonArray aList = jsonList.as<JsonArray>();
|
||||
Serial.println(aList.size());
|
||||
for (JsonArray::iterator it=aList.begin(); it!=aList.end(); ++it) {
|
||||
String n = (*it).as<String>();
|
||||
Serial.println(n);
|
||||
if (n.equals(name)) {
|
||||
aList.remove(it);
|
||||
}
|
||||
}
|
||||
serializeJson(aList,list);
|
||||
settings.putString("list",list);
|
||||
res=true;
|
||||
settings.end();
|
||||
}
|
||||
return res;
|
||||
|
||||
Reference in New Issue
Block a user