From aea2277e263fb753a5d30d158798a3019e0acca9 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 22 Mar 2023 17:33:34 +0100 Subject: [PATCH] fix up/download scheduler files --- .../src/framework/system/GeneralFileUpload.tsx | 2 +- interface/src/project/api.ts | 4 ++++ src/web/WebAPIService.cpp | 13 +++++++++++++ src/web/WebAPIService.h | 2 ++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/interface/src/framework/system/GeneralFileUpload.tsx b/interface/src/framework/system/GeneralFileUpload.tsx index e2ffd4396..8edc79442 100644 --- a/interface/src/framework/system/GeneralFileUpload.tsx +++ b/interface/src/framework/system/GeneralFileUpload.tsx @@ -69,7 +69,7 @@ const GeneralFileUpload: FC = ({ uploadGeneralFile }) => { const downloadSchedule = async () => { try { - const response = await EMSESP.readSchedule(); + const response = await EMSESP.getSchedule(); if (response.status !== 200) { toast.error(LL.PROBLEM_LOADING()); } else { diff --git a/interface/src/project/api.ts b/interface/src/project/api.ts index b4f5529b4..586a632fa 100644 --- a/interface/src/project/api.ts +++ b/interface/src/project/api.ts @@ -96,6 +96,10 @@ export function getCustomizations(): AxiosPromise { return AXIOS.get('/getCustomizations'); } +export function getSchedule(): AxiosPromise { + return AXIOS.get('/getSchedule'); +} + export function readSchedule(): AxiosPromise { return AXIOS.get('/schedule'); } diff --git a/src/web/WebAPIService.cpp b/src/web/WebAPIService.cpp index 9fc0b1d5a..d4f3f1969 100644 --- a/src/web/WebAPIService.cpp +++ b/src/web/WebAPIService.cpp @@ -36,6 +36,7 @@ WebAPIService::WebAPIService(AsyncWebServer * server, SecurityManager * security server->on(GET_CUSTOMIZATIONS_PATH, HTTP_GET, securityManager->wrapRequest(std::bind(&WebAPIService::getCustomizations, this, _1), AuthenticationPredicates::IS_ADMIN)); + server->on(GET_SCHEDULE_PATH, HTTP_GET, securityManager->wrapRequest(std::bind(&WebAPIService::getSchedule, this, _1), AuthenticationPredicates::IS_ADMIN)); } // HTTP GET @@ -196,4 +197,16 @@ void WebAPIService::getCustomizations(AsyncWebServerRequest * request) { request->send(response); } +void WebAPIService::getSchedule(AsyncWebServerRequest * request) { + auto * response = new AsyncJsonResponse(false, FS_BUFFER_SIZE); + JsonObject root = response->getRoot(); + + root["type"] = "schedule"; + + System::extractSettings(EMSESP_SCHEDULER_FILE, "Schedule", root, FS_BUFFER_SIZE); + + response->setLength(); + request->send(response); +} + } // namespace emsesp diff --git a/src/web/WebAPIService.h b/src/web/WebAPIService.h index 7f2a732fc..c72a9ab89 100644 --- a/src/web/WebAPIService.h +++ b/src/web/WebAPIService.h @@ -22,6 +22,7 @@ #define EMSESP_API_SERVICE_PATH "/api" #define GET_SETTINGS_PATH "/rest/getSettings" #define GET_CUSTOMIZATIONS_PATH "/rest/getCustomizations" +#define GET_SCHEDULE_PATH "/rest/getSchedule" namespace emsesp { @@ -51,6 +52,7 @@ class WebAPIService { void getSettings(AsyncWebServerRequest * request); void getCustomizations(AsyncWebServerRequest * request); + void getSchedule(AsyncWebServerRequest * request); }; } // namespace emsesp