mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
synced 2025-10-30 18:27:49 +00:00
249 lines
8.6 KiB
C++
249 lines
8.6 KiB
C++
//
|
|
// Created by stephane bourque on 2021-07-12.
|
|
//
|
|
|
|
#include "RESTAPI_FMSObjects.h"
|
|
#include "framework/MicroService.h"
|
|
|
|
using OpenWifi::RESTAPI_utils::field_to_json;
|
|
using OpenWifi::RESTAPI_utils::field_from_json;
|
|
|
|
namespace OpenWifi::FMSObjects {
|
|
|
|
void Firmware::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "id", id);
|
|
field_to_json(Obj, "release", release);
|
|
field_to_json(Obj, "deviceType", deviceType);
|
|
field_to_json(Obj, "description", description);
|
|
field_to_json(Obj, "revision", revision);
|
|
field_to_json(Obj, "uri", uri);
|
|
field_to_json(Obj, "image", image);
|
|
field_to_json(Obj, "imageDate", imageDate);
|
|
field_to_json(Obj, "size", size);
|
|
field_to_json(Obj, "downloadCount", downloadCount);
|
|
field_to_json(Obj, "firmwareHash", firmwareHash);
|
|
field_to_json(Obj, "owner", owner);
|
|
field_to_json(Obj, "location", location);
|
|
field_to_json(Obj, "uploader", uploader);
|
|
field_to_json(Obj, "digest", digest);
|
|
field_to_json(Obj, "latest", latest);
|
|
field_to_json(Obj, "notes", notes);
|
|
field_to_json(Obj, "created", created);
|
|
};
|
|
|
|
bool Firmware::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "id", id);
|
|
field_from_json(Obj, "release", release);
|
|
field_from_json(Obj, "deviceType", deviceType);
|
|
field_from_json(Obj, "description", description);
|
|
field_from_json(Obj, "revision", revision);
|
|
field_from_json(Obj, "uri", uri);
|
|
field_from_json(Obj, "image", image);
|
|
field_from_json(Obj, "imageDate", imageDate);
|
|
field_from_json(Obj, "size", size);
|
|
field_from_json(Obj, "downloadCount", downloadCount);
|
|
field_from_json(Obj, "firmwareHash", firmwareHash);
|
|
field_from_json(Obj, "owner", owner);
|
|
field_from_json(Obj, "location", location);
|
|
field_from_json(Obj, "uploader", uploader);
|
|
field_from_json(Obj, "digest", digest);
|
|
field_from_json(Obj, "latest", latest);
|
|
field_from_json(Obj, "notes", notes);
|
|
field_from_json(Obj, "created", created);
|
|
return true;
|
|
} catch (...) {
|
|
|
|
}
|
|
return true;
|
|
}
|
|
|
|
void FirmwareList::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj,"firmwares",firmwares);
|
|
}
|
|
|
|
bool FirmwareList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "firmwares", firmwares);
|
|
return true;
|
|
} catch (...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceType::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "id", id);
|
|
field_to_json(Obj, "deviceType", deviceType);
|
|
field_to_json(Obj, "manufacturer", manufacturer);
|
|
field_to_json(Obj, "model", model);
|
|
field_to_json(Obj, "policy", policy);
|
|
field_to_json(Obj, "notes", notes);
|
|
field_to_json(Obj, "lastUpdate", lastUpdate);
|
|
field_to_json(Obj, "created", created);
|
|
field_to_json(Obj, "id", id);
|
|
field_to_json(Obj, "id", id);
|
|
field_to_json(Obj, "id", id);
|
|
}
|
|
|
|
bool DeviceType::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "id", id);
|
|
field_from_json(Obj, "deviceType", deviceType);
|
|
field_from_json(Obj, "manufacturer", manufacturer);
|
|
field_from_json(Obj, "model", model);
|
|
field_from_json(Obj, "policy", policy);
|
|
field_from_json(Obj, "notes", notes);
|
|
field_from_json(Obj, "lastUpdate", lastUpdate);
|
|
field_from_json(Obj, "created", created);
|
|
field_from_json(Obj, "id", id);
|
|
field_from_json(Obj, "id", id);
|
|
field_from_json(Obj, "id", id);
|
|
return true;
|
|
} catch (...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceTypeList::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj,"deviceTypes", deviceTypes);
|
|
}
|
|
|
|
bool DeviceTypeList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj,"deviceTypes", deviceTypes);
|
|
return true;
|
|
} catch(...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void RevisionHistoryEntry::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "id", id);
|
|
field_to_json(Obj, "serialNumber", serialNumber);
|
|
field_to_json(Obj, "fromRelease", fromRelease);
|
|
field_to_json(Obj, "toRelease", toRelease);
|
|
field_to_json(Obj, "commandUUID", commandUUID);
|
|
field_to_json(Obj, "revisionId", revisionId);
|
|
field_to_json(Obj, "upgraded", upgraded);
|
|
}
|
|
|
|
bool RevisionHistoryEntry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "id", id);
|
|
field_from_json(Obj, "serialNumber", serialNumber);
|
|
field_from_json(Obj, "fromRelease", fromRelease);
|
|
field_from_json(Obj, "toRelease", toRelease);
|
|
field_from_json(Obj, "commandUUID", commandUUID);
|
|
field_from_json(Obj, "revisionId", revisionId);
|
|
field_from_json(Obj, "upgraded", upgraded);
|
|
return true;
|
|
} catch(...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void RevisionHistoryEntryList::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj,"deviceTypes", history);
|
|
}
|
|
|
|
bool RevisionHistoryEntryList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj,"deviceTypes", history);
|
|
return true;
|
|
} catch(...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void FirmwareAgeDetails::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj,"latestId", latestId);
|
|
field_to_json(Obj,"image", image);
|
|
field_to_json(Obj,"imageDate", imageDate);
|
|
field_to_json(Obj,"revision", revision);
|
|
field_to_json(Obj,"uri", uri);
|
|
field_to_json(Obj,"age", age);
|
|
field_to_json(Obj,"latest",latest);
|
|
}
|
|
|
|
bool FirmwareAgeDetails::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj,"latestId", latestId);
|
|
field_from_json(Obj,"image", image);
|
|
field_from_json(Obj,"imageDate", imageDate);
|
|
field_from_json(Obj,"revision", revision);
|
|
field_from_json(Obj,"uri", uri);
|
|
field_from_json(Obj,"age", age);
|
|
field_from_json(Obj,"latest", latest);
|
|
return true;
|
|
} catch(...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceConnectionInformation::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "serialNumber", serialNumber);
|
|
field_to_json(Obj, "revision", revision);
|
|
field_to_json(Obj, "deviceType", deviceType);
|
|
field_to_json(Obj, "endPoint", endPoint);
|
|
field_to_json(Obj, "lastUpdate", lastUpdate);
|
|
field_to_json(Obj, "status", status);
|
|
}
|
|
|
|
bool DeviceConnectionInformation::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "serialNumber", serialNumber);
|
|
field_from_json(Obj, "revision", revision);
|
|
field_from_json(Obj, "deviceType", deviceType);
|
|
field_from_json(Obj, "endPoint", endPoint);
|
|
field_from_json(Obj, "lastUpdate", lastUpdate);
|
|
field_from_json(Obj, "status", status);
|
|
return true;
|
|
} catch(...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceReport::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "ouis",OUI_);
|
|
field_to_json(Obj, "revisions", Revisions_);
|
|
field_to_json(Obj, "deviceTypes", DeviceTypes_);
|
|
field_to_json(Obj, "status", Status_);
|
|
field_to_json(Obj, "endPoints", EndPoints_);
|
|
field_to_json(Obj, "usingLatest", UsingLatest_);
|
|
field_to_json(Obj, "unknownFirmwares", UnknownFirmwares_);
|
|
field_to_json(Obj,"snapshot",snapshot);
|
|
field_to_json(Obj,"numberOfDevices",numberOfDevices);
|
|
field_to_json(Obj, "totalSecondsOld", totalSecondsOld_);
|
|
}
|
|
|
|
void DeviceReport::reset() {
|
|
OUI_.clear();
|
|
Revisions_.clear();
|
|
DeviceTypes_.clear();
|
|
Status_.clear();
|
|
EndPoints_.clear();
|
|
UsingLatest_.clear();
|
|
UnknownFirmwares_.clear();
|
|
totalSecondsOld_.clear();
|
|
numberOfDevices = 0 ;
|
|
snapshot = std::time(nullptr);
|
|
}
|
|
|
|
bool DeviceReport::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
|
|
return true;
|
|
} catch (...) {
|
|
|
|
}
|
|
return false;
|
|
}
|
|
}
|