Files
spore/include/services/NodeService.h

23 lines
786 B
C++

#pragma once
#include "services/Service.h"
#include "NodeContext.h"
#include <ArduinoJson.h>
#include <Updater.h>
class NodeService : public Service {
public:
NodeService(NodeContext& ctx, ApiServer& apiServer);
void registerEndpoints(ApiServer& api) override;
const char* getName() const override { return "Node"; }
private:
NodeContext& ctx;
ApiServer& apiServer;
void handleStatusRequest(AsyncWebServerRequest* request);
void handleUpdateRequest(AsyncWebServerRequest* request);
void handleUpdateUpload(AsyncWebServerRequest* request, const String& filename, size_t index, uint8_t* data, size_t len, bool final);
void handleRestartRequest(AsyncWebServerRequest* request);
void handleEndpointsRequest(AsyncWebServerRequest* request);
};