From 9d64c2dabdfec35c6a6eee925df16cdb8f27d94a Mon Sep 17 00:00:00 2001 From: stephb9959 Date: Thu, 3 Nov 2022 23:15:02 -0700 Subject: [PATCH] https://telecominfraproject.atlassian.net/browse/WIFI-11303 Signed-off-by: stephb9959 --- src/RESTObjects/RESTAPI_ProvObjects.cpp | 44 +++++++++++++++++++++++++ src/RESTObjects/RESTAPI_ProvObjects.h | 22 +++++++++++++ 2 files changed, 66 insertions(+) diff --git a/src/RESTObjects/RESTAPI_ProvObjects.cpp b/src/RESTObjects/RESTAPI_ProvObjects.cpp index 50f4038..c5387a8 100644 --- a/src/RESTObjects/RESTAPI_ProvObjects.cpp +++ b/src/RESTObjects/RESTAPI_ProvObjects.cpp @@ -602,6 +602,7 @@ namespace OpenWifi::ProvObjects { field_to_json( Obj, "devClass",devClass); field_to_json( Obj, "locale",locale); field_to_json( Obj, "realMacAddress",realMacAddress); + field_to_json( Obj, "doNotAllowOverrides",doNotAllowOverrides); } bool InventoryTag::from_json(const Poco::JSON::Object::Ptr &Obj) { @@ -623,6 +624,7 @@ namespace OpenWifi::ProvObjects { field_from_json( Obj,"devClass",devClass); field_from_json( Obj,"locale",locale); field_from_json( Obj,"realMacAddress",realMacAddress); + field_from_json( Obj, "doNotAllowOverrides",doNotAllowOverrides); return true; } catch(...) { @@ -1195,6 +1197,48 @@ namespace OpenWifi::ProvObjects { return false; } + void ConfigurationOverride::to_json(Poco::JSON::Object &Obj) const { + field_to_json(Obj,"source",source); + field_to_json(Obj,"reason",reason); + field_to_json(Obj,"parameterName",parameterName); + field_to_json(Obj,"parameterType",parameterType); + field_to_json(Obj,"parameterValue",parameterValue); + field_to_json(Obj,"modified",modified); + } + + bool ConfigurationOverride::from_json(const Poco::JSON::Object::Ptr &Obj) { + try { + field_from_json(Obj,"source",source); + field_from_json(Obj,"reason",reason); + field_from_json(Obj,"parameterName",parameterName); + field_from_json(Obj,"parameterType",parameterType); + field_from_json(Obj,"parameterValue",parameterValue); + field_from_json(Obj,"modified",modified); + return true; + } catch(...) { + + } + return false; + } + + void ConfigurationOverrideList::to_json(Poco::JSON::Object &Obj) const { + field_to_json(Obj,"serialNumber",serialNumber); + field_to_json(Obj,"managementPolicy",managementPolicy); + field_to_json(Obj,"overrides",overrides); + } + + bool ConfigurationOverrideList::from_json(const Poco::JSON::Object::Ptr &Obj) { + try { + field_from_json(Obj,"serialNumber",serialNumber); + field_from_json(Obj,"managementPolicy",managementPolicy); + field_from_json(Obj,"overrides",overrides); + return true; + } catch(...) { + + } + return false; + } + } diff --git a/src/RESTObjects/RESTAPI_ProvObjects.h b/src/RESTObjects/RESTAPI_ProvObjects.h index 59f59ed..3c0ed3e 100644 --- a/src/RESTObjects/RESTAPI_ProvObjects.h +++ b/src/RESTObjects/RESTAPI_ProvObjects.h @@ -428,6 +428,7 @@ namespace OpenWifi::ProvObjects { std::string devClass; std::string locale; std::string realMacAddress; + bool doNotAllowOverrides=false; void to_json(Poco::JSON::Object &Obj) const; bool from_json(const Poco::JSON::Object::Ptr &Obj); @@ -693,6 +694,27 @@ namespace OpenWifi::ProvObjects { bool from_json(const Poco::JSON::Object::Ptr &Obj); }; + struct ConfigurationOverride { + std::string source; + std::string reason; + std::string parameterName; + std::string parameterType; + std::string parameterValue; + std::uint64_t modified; + + void to_json(Poco::JSON::Object &Obj) const; + bool from_json(const Poco::JSON::Object::Ptr &Obj); + }; + + struct ConfigurationOverrideList { + std::string serialNumber; + Types::UUID_t managementPolicy; + std::vector overrides; + + void to_json(Poco::JSON::Object &Obj) const; + bool from_json(const Poco::JSON::Object::Ptr &Obj); + }; + bool UpdateObjectInfo(const Poco::JSON::Object::Ptr &O, const SecurityObjects::UserInfo &U, ObjectInfo &I); bool CreateObjectInfo(const Poco::JSON::Object::Ptr &O, const SecurityObjects::UserInfo &U, ObjectInfo &I); bool CreateObjectInfo(const SecurityObjects::UserInfo &U, ObjectInfo &I);