mirror of
https://github.com/Telecominfraproject/wlan-cloud-userportal.git
synced 2025-11-01 19:17:46 +00:00
Framework update.
This commit is contained in:
@@ -75,6 +75,7 @@ add_executable(owsub
|
|||||||
src/framework/StorageClass.h
|
src/framework/StorageClass.h
|
||||||
src/framework/API_Proxy.h
|
src/framework/API_Proxy.h
|
||||||
src/framework/ow_constants.h
|
src/framework/ow_constants.h
|
||||||
|
src/framework/WebSocketClientNotifications.h
|
||||||
src/RESTObjects/RESTAPI_SecurityObjects.h src/RESTObjects/RESTAPI_SecurityObjects.cpp
|
src/RESTObjects/RESTAPI_SecurityObjects.h src/RESTObjects/RESTAPI_SecurityObjects.cpp
|
||||||
src/RESTObjects/RESTAPI_ProvObjects.cpp src/RESTObjects/RESTAPI_ProvObjects.h
|
src/RESTObjects/RESTAPI_ProvObjects.cpp src/RESTObjects/RESTAPI_ProvObjects.h
|
||||||
src/RESTObjects/RESTAPI_GWobjects.h src/RESTObjects/RESTAPI_GWobjects.cpp
|
src/RESTObjects/RESTAPI_GWobjects.h src/RESTObjects/RESTAPI_GWobjects.cpp
|
||||||
|
|||||||
160
src/framework/WebSocketClientNotifications.h
Normal file
160
src/framework/WebSocketClientNotifications.h
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
//
|
||||||
|
// Created by stephane bourque on 2022-05-05.
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "framework/MicroService.h"
|
||||||
|
|
||||||
|
namespace OpenWifi {
|
||||||
|
|
||||||
|
struct WebNotificationSingleDevice {
|
||||||
|
std::string serialNumber;
|
||||||
|
inline void to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"serialNumber", serialNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"serialNumber", serialNumber);
|
||||||
|
return true;
|
||||||
|
} catch (...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct WebNotificationSingleDeviceFirmwareChange {
|
||||||
|
std::string serialNumber;
|
||||||
|
std::string newFirmware;
|
||||||
|
inline void to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"serialNumber", serialNumber);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"newFirmware", newFirmware);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"serialNumber", serialNumber);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"newFirmware", newFirmware);
|
||||||
|
return true;
|
||||||
|
} catch (...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
inline void WebSocketClientNotificationDeviceFirmwareUpdated(const std::string &SerialNumber, const std::string &Firmware) {
|
||||||
|
WebSocketNotification<WebNotificationSingleDeviceFirmwareChange> N;
|
||||||
|
N.content.serialNumber = SerialNumber;
|
||||||
|
N.content.newFirmware = Firmware;
|
||||||
|
N.type = "device_firmware_upgrade";
|
||||||
|
WebSocketClientServer()->SendNotification(N);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void WebSocketClientNotificationDeviceConnected(const std::string &SerialNumber) {
|
||||||
|
WebSocketNotification<WebNotificationSingleDevice> N;
|
||||||
|
N.content.serialNumber = SerialNumber;
|
||||||
|
N.type = "device_connection";
|
||||||
|
WebSocketClientServer()->SendNotification(N);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void WebSocketClientNotificationDeviceDisconnected(const std::string & SerialNumber) {
|
||||||
|
WebSocketNotification<WebNotificationSingleDevice> N;
|
||||||
|
N.content.serialNumber = SerialNumber;
|
||||||
|
N.type = "device_disconnection";
|
||||||
|
WebSocketClientServer()->SendNotification(N);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct WebSocketNotificationJobContent {
|
||||||
|
std::string title,
|
||||||
|
details,
|
||||||
|
jobId;
|
||||||
|
std::vector<std::string> success,
|
||||||
|
error,
|
||||||
|
warning;
|
||||||
|
uint64_t timeStamp=OpenWifi::Now();
|
||||||
|
|
||||||
|
void to_json(Poco::JSON::Object &Obj) const;
|
||||||
|
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
inline void WebSocketNotificationJobContent::to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"title",title);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"jobId",jobId);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"success",success);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"error",error);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"warning",warning);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"timeStamp",timeStamp);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"details",details);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool WebSocketNotificationJobContent::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"title",title);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"jobId",jobId);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"success",success);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"error",error);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"warning",warning);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"timeStamp",timeStamp);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"details",details);
|
||||||
|
return true;
|
||||||
|
} catch(...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef WebSocketNotification<WebSocketNotificationJobContent> WebSocketClientNotificationVenueUpdateJob_t;
|
||||||
|
|
||||||
|
inline void WebSocketClientNotificationVenueUpdateJobCompletionToUser( const std::string & User, WebSocketClientNotificationVenueUpdateJob_t &N) {
|
||||||
|
N.type = "venue_configuration_update";
|
||||||
|
WebSocketClientServer()->SendUserNotification(User,N);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct WebSocketNotificationRebootList {
|
||||||
|
std::string title,
|
||||||
|
details,
|
||||||
|
jobId;
|
||||||
|
std::vector<std::string> success,
|
||||||
|
warning;
|
||||||
|
uint64_t timeStamp=OpenWifi::Now();
|
||||||
|
|
||||||
|
void to_json(Poco::JSON::Object &Obj) const;
|
||||||
|
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef WebSocketNotification<WebSocketNotificationRebootList> WebSocketClientNotificationVenueRebootList_t;
|
||||||
|
|
||||||
|
inline void WebSocketNotificationRebootList::to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"title",title);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"jobId",jobId);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"success",success);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"warning",warning);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"timeStamp",timeStamp);
|
||||||
|
RESTAPI_utils::field_to_json(Obj,"details",details);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool WebSocketNotificationRebootList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"title",title);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"jobId",jobId);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"success",success);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"warning",warning);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"timeStamp",timeStamp);
|
||||||
|
RESTAPI_utils::field_from_json(Obj,"details",details);
|
||||||
|
return true;
|
||||||
|
} catch(...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void WebSocketClientNotificationVenueRebootCompletionToUser( const std::string & User, WebSocketClientNotificationVenueRebootList_t &N) {
|
||||||
|
N.type = "venue_rebooter";
|
||||||
|
WebSocketClientServer()->SendUserNotification(User,N);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace OpenWifi
|
||||||
|
|
||||||
Reference in New Issue
Block a user