WebSocket notification

This commit is contained in:
stephb9959
2022-04-27 15:42:11 -07:00
parent 642dd63fa9
commit 3952403f1e
3 changed files with 17 additions and 6 deletions

View File

@@ -681,8 +681,8 @@ namespace OpenWifi::ProvObjects {
type,
details;
std::vector<std::string> success,
errors,
warnings;
error,
warning;
uint64_t timeStamp=std::time(nullptr);
void to_json(Poco::JSON::Object &Obj) const;

View File

@@ -38,6 +38,7 @@ namespace OpenWifi {
ProvObjects::InventoryTag Device;
started_=true;
if(StorageService()->InventoryDB().GetRecord("id",uuid_,Device)) {
SerialNumber = Device.serialNumber;
std::cout << "Starting push for " << Device.serialNumber << std::endl;
Logger().debug(fmt::format("{}: Computing configuration.",Device.serialNumber));
auto DeviceConfig = std::make_shared<APConfig>(Device.serialNumber, Device.deviceType, Logger(), false);
@@ -70,6 +71,7 @@ namespace OpenWifi {
uint64_t updated_=0, failed_=0, bad_config_=0;
bool started_ = false,
done_ = false;
std::string SerialNumber;
private:
std::string uuid_;
@@ -173,9 +175,16 @@ namespace OpenWifi {
}
if(!cur_task.thr_.isRunning() && cur_task.task->done_) {
cur_task.thr_.join();
Updated += cur_task.task->updated_;
Failed += cur_task.task->failed_;
BadConfigs += cur_task.task->bad_config_;
if(cur_task.task->updated_) {
Updated++;
N.content.success.push_back(cur_task.task->SerialNumber);
} else if(cur_task.task->failed_) {
Failed++;
N.content.warning.push_back(cur_task.task->SerialNumber);
} else {
BadConfigs++;
N.content.error.push_back(cur_task.task->SerialNumber);
}
cur_task.task->started_ = cur_task.task->done_ = false;
delete cur_task.task;
cur_task.task = nullptr;

View File

@@ -40,8 +40,10 @@ namespace OpenWifi {
Poco::JSON::Object Payload;
Notification.to_json(Payload);
Poco::JSON::Object Msg;
Msg.set("notification",Payload);
std::ostringstream OO;
Payload.stringify(OO);
Msg.stringify(OO);
return SendToUser(userName,OO.str());
}