2023-11-07 01:11:12 +01:00
|
|
|
#pragma once
|
2023-11-30 22:38:01 +01:00
|
|
|
|
2023-11-30 22:56:50 +01:00
|
|
|
// Keep order of includes because of conflicts
|
2023-11-10 13:02:05 +01:00
|
|
|
#include "WebServer.h"
|
2023-11-07 01:11:12 +01:00
|
|
|
#include "ESPAsyncWebServer.h"
|
|
|
|
#include <ArduinoJson.h>
|
2023-11-07 21:26:15 +01:00
|
|
|
#include <LittleFS.h>
|
2023-11-13 00:33:48 +01:00
|
|
|
#include <ESPmDNS.h>
|
2023-11-14 19:46:29 +01:00
|
|
|
#include "AsyncJson.h"
|
2023-11-21 16:12:44 +01:00
|
|
|
#include <iostream>
|
2023-11-07 01:11:12 +01:00
|
|
|
|
|
|
|
#include "lib/block_notify.hpp"
|
2023-11-30 22:38:01 +01:00
|
|
|
#include "lib/led_handler.hpp"
|
2023-11-07 01:11:12 +01:00
|
|
|
#include "lib/price_notify.hpp"
|
2023-11-07 21:26:15 +01:00
|
|
|
#include "lib/screen_handler.hpp"
|
|
|
|
#include "webserver/OneParamRewrite.hpp"
|
2023-11-07 01:11:12 +01:00
|
|
|
|
2023-11-08 20:29:06 +01:00
|
|
|
extern TaskHandle_t eventSourceTaskHandle;
|
|
|
|
|
2023-11-10 23:18:14 +01:00
|
|
|
void stopWebServer();
|
2023-11-07 01:11:12 +01:00
|
|
|
void setupWebserver();
|
2023-11-07 21:26:15 +01:00
|
|
|
bool processEpdColorSettings(AsyncWebServerRequest *request);
|
|
|
|
|
|
|
|
void onApiStatus(AsyncWebServerRequest *request);
|
|
|
|
void onApiSystemStatus(AsyncWebServerRequest *request);
|
2023-11-21 16:12:44 +01:00
|
|
|
void onApiSetWifiTxPower(AsyncWebServerRequest *request);
|
2023-11-07 21:26:15 +01:00
|
|
|
|
|
|
|
void onApiShowScreen(AsyncWebServerRequest *request);
|
|
|
|
void onApiShowText(AsyncWebServerRequest *request);
|
2024-05-19 01:32:45 +02:00
|
|
|
void onApiIdentify(AsyncWebServerRequest *request);
|
|
|
|
|
2023-11-14 19:46:29 +01:00
|
|
|
void onApiShowTextAdvanced(AsyncWebServerRequest *request, JsonVariant &json);
|
2023-11-07 21:26:15 +01:00
|
|
|
|
|
|
|
void onApiActionPause(AsyncWebServerRequest *request);
|
|
|
|
void onApiActionTimerRestart(AsyncWebServerRequest *request);
|
|
|
|
void onApiSettingsGet(AsyncWebServerRequest *request);
|
|
|
|
void onApiSettingsPost(AsyncWebServerRequest *request);
|
2023-11-17 19:28:40 +01:00
|
|
|
void onApiSettingsPatch(AsyncWebServerRequest *request, JsonVariant &json);
|
2023-11-13 00:33:48 +01:00
|
|
|
void onApiFullRefresh(AsyncWebServerRequest *request);
|
2023-11-07 21:26:15 +01:00
|
|
|
|
2023-11-17 22:09:28 +01:00
|
|
|
void onApiLightsStatus(AsyncWebServerRequest *request);
|
2023-11-08 12:18:59 +01:00
|
|
|
void onApiLightsOff(AsyncWebServerRequest *request);
|
|
|
|
void onApiLightsSetColor(AsyncWebServerRequest *request);
|
2023-11-18 14:03:47 +01:00
|
|
|
void onApiLightsSetJson(AsyncWebServerRequest *request, JsonVariant &json);
|
2023-11-08 12:18:59 +01:00
|
|
|
|
2023-11-07 21:26:15 +01:00
|
|
|
void onApiRestart(AsyncWebServerRequest *request);
|
2024-06-08 15:07:15 +02:00
|
|
|
void onFirmwareUpdate(AsyncWebServerRequest *request);
|
|
|
|
void asyncFirmwareUpdateHandler(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final);
|
|
|
|
void asyncFileUpdateHandler(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final, int command);
|
|
|
|
void asyncWebuiUpdateHandler(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final);
|
2023-11-07 21:26:15 +01:00
|
|
|
|
|
|
|
void onIndex(AsyncWebServerRequest *request);
|
2023-11-08 15:27:22 +01:00
|
|
|
void onNotFound(AsyncWebServerRequest *request);
|
|
|
|
|
2024-03-10 20:24:55 +01:00
|
|
|
JsonDocument getLedStatusObject();
|
|
|
|
JsonDocument getStatusObject();
|
2023-11-08 20:29:06 +01:00
|
|
|
void eventSourceUpdate();
|
2024-01-31 23:45:26 +01:00
|
|
|
void eventSourceTask(void *pvParameters);
|
|
|
|
|
|
|
|
void onApiStopDataSources(AsyncWebServerRequest *request);
|
2024-04-28 16:47:57 +02:00
|
|
|
void onApiRestartDataSources(AsyncWebServerRequest *request);
|
|
|
|
|
|
|
|
#ifdef HAS_FRONTLIGHT
|
|
|
|
void onApiFrontlightOn(AsyncWebServerRequest *request);
|
2024-06-08 01:00:52 +02:00
|
|
|
void onApiFrontlightFlash(AsyncWebServerRequest *request);
|
|
|
|
void onApiFrontlightSetBrightness(AsyncWebServerRequest *request);
|
|
|
|
|
2024-04-28 16:47:57 +02:00
|
|
|
void onApiFrontlightStatus(AsyncWebServerRequest *request);
|
|
|
|
void onApiFrontlightOff(AsyncWebServerRequest *request);
|
|
|
|
#endif
|