Delete profile now works.

This commit is contained in:
2024-03-09 15:01:34 +00:00
parent 401af1671f
commit 8b1153df9e

View File

@@ -145,9 +145,9 @@ String getProfilesList(void)
settings.begin("profiles"); settings.begin("profiles");
list = settings.getString("list"); list = settings.getString("list");
Serial.println(list); Serial.println(list);
deserializeJson(jsonList, list); // deserializeJson(jsonList, list);
settings.end(); settings.end();
serializeJson(jsonList,list); // serializeJson(jsonList,list);
return list; return list;
} }
@@ -197,21 +197,26 @@ boolean deleteProfile(AsyncWebServerRequest * request)
{ {
bool res = false; bool res = false;
int params = request->params(); int params = request->params();
if(params == 1){ if(params > 0){
settings.begin("profiles"); String list;
JsonDocument jsonList; JsonDocument jsonList;
String name = request->getParam("name",true)->value(); String name = request->getParam("name",true)->value();
deserializeJson(jsonList,settings.getString("list")); settings.begin("profiles");
if(jsonList.containsKey(name)){ list = settings.getString("list");
//remove from list Serial.printf("Removing %s from %s.\n",name,list.c_str());
jsonList.remove(name); deserializeJson(jsonList,list.c_str());
String list; JsonArray aList = jsonList.as<JsonArray>();
serializeJson(jsonList,list); Serial.println(aList.size());
settings.putString("list",list); for (JsonArray::iterator it=aList.begin(); it!=aList.end(); ++it) {
//remove profile String n = (*it).as<String>();
settings.remove(name.c_str()); Serial.println(n);
res = true; if (n.equals(name)) {
} aList.remove(it);
}
}
serializeJson(aList,list);
settings.putString("list",list);
res=true;
settings.end(); settings.end();
} }
return res; return res;