move the Get* endpoints to their right service classes

This commit is contained in:
proddy
2024-08-29 13:53:27 +02:00
parent e2aabb1418
commit 19922ca9fb
14 changed files with 114 additions and 115 deletions

View File

@@ -25,6 +25,9 @@ namespace emsesp {
WebSchedulerService::WebSchedulerService(AsyncWebServer * server, FS * fs, SecurityManager * securityManager)
: _httpEndpoint(WebScheduler::read, WebScheduler::update, this, server, EMSESP_SCHEDULER_SERVICE_PATH, securityManager, AuthenticationPredicates::IS_AUTHENTICATED)
, _fsPersistence(WebScheduler::read, WebScheduler::update, this, fs, EMSESP_SCHEDULER_FILE) {
server->on(EMSESP_GET_SCHEDULE_PATH,
HTTP_GET,
securityManager->wrapRequest([this](AsyncWebServerRequest * request) { getSchedule(request); }, AuthenticationPredicates::IS_ADMIN));
}
// load the settings when the service starts
@@ -610,4 +613,17 @@ void WebSchedulerService::test() {
}
#endif
// return schedule entries in a json object
void WebSchedulerService::getSchedule(AsyncWebServerRequest * request) {
auto * response = new AsyncJsonResponse(false);
JsonObject root = response->getRoot();
root["type"] = "schedule";
System::extractSettings(EMSESP_SCHEDULER_FILE, "Schedule", root);
response->setLength();
request->send(response);
}
} // namespace emsesp