feat: task manager endpoint, updated documentation

This commit is contained in:
2025-08-22 15:47:08 +02:00
parent d7d307e3ce
commit 30a5f8b8cb
14 changed files with 2550 additions and 551 deletions

View File

@@ -191,4 +191,24 @@ Task* TaskManager::findTask(const std::string& name) const {
}
}
return nullptr;
}
std::vector<std::pair<std::string, JsonObject>> TaskManager::getAllTaskStatuses(JsonDocument& doc) const {
std::vector<std::pair<std::string, JsonObject>> taskStatuses;
for (size_t i = 0; i < tasks.size() && i < taskDefinitions.size(); ++i) {
const auto& taskDef = taskDefinitions[i];
const auto& task = tasks[i];
JsonObject taskStatus = doc.add<JsonObject>();
taskStatus["name"] = taskDef.name;
taskStatus["interval"] = task->getInterval();
taskStatus["enabled"] = task->isEnabled();
taskStatus["running"] = task->isEnabled(); // For now, enabled = running
taskStatus["autoStart"] = taskDef.autoStart;
taskStatuses.push_back(std::make_pair(taskDef.name, taskStatus));
}
return taskStatuses;
}