Add ping and save routes, remove atomic saves from config endpoints

This commit is contained in:
lorow 2022-12-01 23:03:30 +01:00
parent c850372243
commit e137601fc5
3 changed files with 16 additions and 4 deletions

View File

@ -120,7 +120,6 @@ void BaseAPI::setWiFi(AsyncWebServerRequest *request)
} */
request->send(200, MIMETYPE_JSON, "{\"msg\":\"Done. Wifi Creds have been set.\"}");
projectConfig->wifiConfigSave();
break;
}
default:
@ -207,8 +206,6 @@ void BaseAPI::setDeviceConfig(AsyncWebServerRequest *request)
projectConfig->setDeviceConfig(ota_password, &ota_port, true);
projectConfig->setMDNSConfig(hostname, service, true);
request->send(200, MIMETYPE_JSON, "{\"msg\":\"Done. Device Config has been set.\"}");
projectConfig->deviceConfigSave();
projectConfig->mdnsConfigSave();
}
}
}
@ -324,7 +321,6 @@ void BaseAPI::setCamera(AsyncWebServerRequest *request)
}
// note: We're passing empty params by design, this is done to reset specific fields
projectConfig->setCameraConfig(&temp_camera_vflip, &temp_camera_framesize, &temp_camera_hflip, &temp_camera_quality, &temp_camera_brightness, true);
projectConfig->cameraConfigSave();
request->send(200, MIMETYPE_JSON, "{\"msg\":\"Done. Camera Settings have been set.\"}");
break;
@ -345,3 +341,15 @@ void BaseAPI::restartCamera(AsyncWebServerRequest *request)
request->send(200, MIMETYPE_JSON, "{\"msg\":\"Done. Camera had been restarted.\"}");
}
void BaseAPI::ping(AsyncWebServerRequest *request)
{
request->send(200, MIMETYPE_JSON, "{\"status\": \"ok\" }");
}
void BaseAPI::save(AsyncWebServerRequest *request)
{
projectConfig->save();
request->send(200, MIMETYPE_JSON, "{\"status\": \"ok\" }");
}

View File

@ -49,6 +49,8 @@ protected:
void factoryReset(AsyncWebServerRequest *request);
void setDeviceConfig(AsyncWebServerRequest *request);
void rebootDevice(AsyncWebServerRequest *request);
void ping(AsyncWebServerRequest *request);
void save(AsyncWebServerRequest *request);
/* Camera Handlers */
void setCamera(AsyncWebServerRequest *request);

View File

@ -42,6 +42,8 @@ void APIServer::setupServer()
// Camera Routes
routes.emplace("setCamera", &APIServer::setCamera);
routes.emplace("restartCamera", &APIServer::restartCamera);
routes.emplace("ping", &APIServer::ping);
routes.emplace("save", &APIServer::save);
//! reserve enough memory for all routes - must be called after adding routes and before adding routes to route_map
indexes.reserve(routes.size()); // this is done to avoid reallocation of memory and copying of data