mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
synced 2025-11-02 03:37:51 +00:00
Introducing rules on userroles.
This commit is contained in:
@@ -41,7 +41,11 @@ namespace OpenWifi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(UserInfo_.userinfo.userRole!= SecurityObjects::ROOT && UserInfo_.userinfo.userRole!=SecurityObjects::ADMIN) {
|
if(UserInfo_.userinfo.userRole!= SecurityObjects::ROOT && UserInfo_.userinfo.userRole!=SecurityObjects::ADMIN) {
|
||||||
return UnAuthorized("Not sufficient access.", ACCESS_DENIED);
|
return UnAuthorized(RESTAPI::Errors::InsufficientAccessRights, ACCESS_DENIED);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(UserInfo_.userinfo.Id == Id) {
|
||||||
|
return UnAuthorized(RESTAPI::Errors::InsufficientAccessRights, ACCESS_DENIED);
|
||||||
}
|
}
|
||||||
|
|
||||||
SecurityObjects::UserInfo UInfo;
|
SecurityObjects::UserInfo UInfo;
|
||||||
@@ -50,7 +54,7 @@ namespace OpenWifi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(UInfo.userRole==SecurityObjects::ROOT && UserInfo_.userinfo.userRole!=SecurityObjects::ROOT) {
|
if(UInfo.userRole==SecurityObjects::ROOT && UserInfo_.userinfo.userRole!=SecurityObjects::ROOT) {
|
||||||
return UnAuthorized("Not sufficient access.", ACCESS_DENIED);
|
return UnAuthorized(RESTAPI::Errors::InsufficientAccessRights, ACCESS_DENIED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!StorageService()->DeleteUser(UserInfo_.userinfo.email,Id)) {
|
if(!StorageService()->DeleteUser(UserInfo_.userinfo.email,Id)) {
|
||||||
@@ -137,11 +141,11 @@ namespace OpenWifi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(UserInfo_.userinfo.userRole!=SecurityObjects::ROOT && UserInfo_.userinfo.userRole!=SecurityObjects::ADMIN) {
|
if(UserInfo_.userinfo.userRole!=SecurityObjects::ROOT && UserInfo_.userinfo.userRole!=SecurityObjects::ADMIN) {
|
||||||
return UnAuthorized("Insufficient access rights.", ACCESS_DENIED);
|
return UnAuthorized(RESTAPI::Errors::InsufficientAccessRights, ACCESS_DENIED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(UserInfo_.userinfo.userRole == SecurityObjects::ADMIN && Existing.userRole == SecurityObjects::ROOT) {
|
if(UserInfo_.userinfo.userRole == SecurityObjects::ADMIN && Existing.userRole == SecurityObjects::ROOT) {
|
||||||
return UnAuthorized("Insufficient access rights.", ACCESS_DENIED);
|
return UnAuthorized(RESTAPI::Errors::InsufficientAccessRights, ACCESS_DENIED);
|
||||||
}
|
}
|
||||||
|
|
||||||
SecurityObjects::UserInfo NewUser;
|
SecurityObjects::UserInfo NewUser;
|
||||||
@@ -165,8 +169,19 @@ namespace OpenWifi {
|
|||||||
AssignIfPresent(RawObject,"suspended", Existing.suspended);
|
AssignIfPresent(RawObject,"suspended", Existing.suspended);
|
||||||
AssignIfPresent(RawObject,"blackListed", Existing.blackListed);
|
AssignIfPresent(RawObject,"blackListed", Existing.blackListed);
|
||||||
|
|
||||||
if(RawObject->has("userRole"))
|
if(RawObject->has("userRole")) {
|
||||||
Existing.userRole = SecurityObjects::UserTypeFromString(RawObject->get("userRole").toString());
|
auto NewRole = SecurityObjects::UserTypeFromString(RawObject->get("userRole").toString());
|
||||||
|
if(NewRole!=Existing.userRole) {
|
||||||
|
if(UserInfo_.userinfo.userRole!=SecurityObjects::ROOT && NewRole==SecurityObjects::ROOT) {
|
||||||
|
return UnAuthorized(RESTAPI::Errors::InsufficientAccessRights, ACCESS_DENIED);
|
||||||
|
}
|
||||||
|
if(Id==UserInfo_.userinfo.Id) {
|
||||||
|
return UnAuthorized(RESTAPI::Errors::InsufficientAccessRights, ACCESS_DENIED);
|
||||||
|
}
|
||||||
|
Existing.userRole = NewRole;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(RawObject->has("notes")) {
|
if(RawObject->has("notes")) {
|
||||||
SecurityObjects::NoteInfoVec NIV;
|
SecurityObjects::NoteInfoVec NIV;
|
||||||
NIV = RESTAPI_utils::to_object_array<SecurityObjects::NoteInfo>(RawObject->get("notes").toString());
|
NIV = RESTAPI_utils::to_object_array<SecurityObjects::NoteInfo>(RawObject->get("notes").toString());
|
||||||
|
|||||||
@@ -10,27 +10,30 @@
|
|||||||
#include "RESTAPI_ProvObjects.h"
|
#include "RESTAPI_ProvObjects.h"
|
||||||
#include "framework/MicroService.h"
|
#include "framework/MicroService.h"
|
||||||
|
|
||||||
|
using OpenWifi::RESTAPI_utils::field_to_json;
|
||||||
|
using OpenWifi::RESTAPI_utils::field_from_json;
|
||||||
|
|
||||||
namespace OpenWifi::ProvObjects {
|
namespace OpenWifi::ProvObjects {
|
||||||
|
|
||||||
void ObjectInfo::to_json(Poco::JSON::Object &Obj) const {
|
void ObjectInfo::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json(Obj,"id",id);
|
field_to_json(Obj,"id",id);
|
||||||
RESTAPI_utils::field_to_json(Obj,"name",name);
|
field_to_json(Obj,"name",name);
|
||||||
RESTAPI_utils::field_to_json(Obj,"description",description);
|
field_to_json(Obj,"description",description);
|
||||||
RESTAPI_utils::field_to_json(Obj,"created",created);
|
field_to_json(Obj,"created",created);
|
||||||
RESTAPI_utils::field_to_json(Obj,"modified",modified);
|
field_to_json(Obj,"modified",modified);
|
||||||
RESTAPI_utils::field_to_json(Obj,"notes",notes);
|
field_to_json(Obj,"notes",notes);
|
||||||
RESTAPI_utils::field_to_json(Obj,"tags",tags);
|
field_to_json(Obj,"tags",tags);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ObjectInfo::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool ObjectInfo::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json(Obj,"id",id);
|
field_from_json(Obj,"id",id);
|
||||||
RESTAPI_utils::field_from_json(Obj,"name",name);
|
field_from_json(Obj,"name",name);
|
||||||
RESTAPI_utils::field_from_json(Obj,"description",description);
|
field_from_json(Obj,"description",description);
|
||||||
RESTAPI_utils::field_from_json(Obj,"created",created);
|
field_from_json(Obj,"created",created);
|
||||||
RESTAPI_utils::field_from_json(Obj,"modified",modified);
|
field_from_json(Obj,"modified",modified);
|
||||||
RESTAPI_utils::field_from_json(Obj,"notes",notes);
|
field_from_json(Obj,"notes",notes);
|
||||||
RESTAPI_utils::field_from_json(Obj,"tags",tags);
|
field_from_json(Obj,"tags",tags);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -39,18 +42,18 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ManagementPolicyEntry::to_json(Poco::JSON::Object &Obj) const {
|
void ManagementPolicyEntry::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json( Obj,"users",users);
|
field_to_json( Obj,"users",users);
|
||||||
RESTAPI_utils::field_to_json( Obj,"resources",resources);
|
field_to_json( Obj,"resources",resources);
|
||||||
RESTAPI_utils::field_to_json( Obj,"access",access);
|
field_to_json( Obj,"access",access);
|
||||||
RESTAPI_utils::field_to_json( Obj,"policy",policy);
|
field_to_json( Obj,"policy",policy);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ManagementPolicyEntry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool ManagementPolicyEntry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json( Obj,"users",users);
|
field_from_json( Obj,"users",users);
|
||||||
RESTAPI_utils::field_from_json( Obj,"resources",resources);
|
field_from_json( Obj,"resources",resources);
|
||||||
RESTAPI_utils::field_from_json( Obj,"access",access);
|
field_from_json( Obj,"access",access);
|
||||||
RESTAPI_utils::field_from_json( Obj,"policy",policy);
|
field_from_json( Obj,"policy",policy);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -60,17 +63,17 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void ManagementPolicy::to_json(Poco::JSON::Object &Obj) const {
|
void ManagementPolicy::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json(Obj, "entries", entries);
|
field_to_json(Obj, "entries", entries);
|
||||||
RESTAPI_utils::field_to_json(Obj, "inUse", inUse);
|
field_to_json(Obj, "inUse", inUse);
|
||||||
RESTAPI_utils::field_to_json(Obj, "entity", entity);
|
field_to_json(Obj, "entity", entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ManagementPolicy::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool ManagementPolicy::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
RESTAPI_utils::field_from_json(Obj, "entries", entries);
|
field_from_json(Obj, "entries", entries);
|
||||||
RESTAPI_utils::field_from_json(Obj, "inUse", inUse);
|
field_from_json(Obj, "inUse", inUse);
|
||||||
RESTAPI_utils::field_from_json(Obj, "entity", entity);
|
field_from_json(Obj, "entity", entity);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -80,31 +83,31 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void Entity::to_json(Poco::JSON::Object &Obj) const {
|
void Entity::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json( Obj,"parent",parent);
|
field_to_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_to_json( Obj,"venues",venues);
|
field_to_json( Obj,"venues",venues);
|
||||||
RESTAPI_utils::field_to_json( Obj,"children",children);
|
field_to_json( Obj,"children",children);
|
||||||
RESTAPI_utils::field_to_json( Obj,"contacts",contacts);
|
field_to_json( Obj,"contacts",contacts);
|
||||||
RESTAPI_utils::field_to_json( Obj,"locations",locations);
|
field_to_json( Obj,"locations",locations);
|
||||||
RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy);
|
field_to_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_to_json( Obj,"deviceConfiguration",deviceConfiguration);
|
field_to_json( Obj,"deviceConfiguration",deviceConfiguration);
|
||||||
RESTAPI_utils::field_to_json( Obj,"devices",devices);
|
field_to_json( Obj,"devices",devices);
|
||||||
RESTAPI_utils::field_to_json( Obj,"rrm",rrm);
|
field_to_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_to_json( Obj,"sourceIP",sourceIP);
|
field_to_json( Obj,"sourceIP",sourceIP);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Entity::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool Entity::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
RESTAPI_utils::field_from_json( Obj,"parent",parent);
|
field_from_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_from_json( Obj,"venues",venues);
|
field_from_json( Obj,"venues",venues);
|
||||||
RESTAPI_utils::field_from_json( Obj,"children",children);
|
field_from_json( Obj,"children",children);
|
||||||
RESTAPI_utils::field_from_json( Obj,"contacts",contacts);
|
field_from_json( Obj,"contacts",contacts);
|
||||||
RESTAPI_utils::field_from_json( Obj,"locations",locations);
|
field_from_json( Obj,"locations",locations);
|
||||||
RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy);
|
field_from_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_from_json( Obj,"deviceConfiguration",deviceConfiguration);
|
field_from_json( Obj,"deviceConfiguration",deviceConfiguration);
|
||||||
RESTAPI_utils::field_from_json( Obj,"devices",devices);
|
field_from_json( Obj,"devices",devices);
|
||||||
RESTAPI_utils::field_from_json( Obj,"rrm",rrm);
|
field_from_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_from_json( Obj,"sourceIP",sourceIP);
|
field_from_json( Obj,"sourceIP",sourceIP);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -113,14 +116,14 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DiGraphEntry::to_json(Poco::JSON::Object &Obj) const {
|
void DiGraphEntry::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json( Obj,"parent",parent);
|
field_to_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_to_json( Obj,"child",child);
|
field_to_json( Obj,"child",child);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DiGraphEntry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool DiGraphEntry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json( Obj,"parent",parent);
|
field_from_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_from_json( Obj,"child",child);
|
field_from_json( Obj,"child",child);
|
||||||
return true;
|
return true;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
|
||||||
@@ -130,37 +133,37 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void Venue::to_json(Poco::JSON::Object &Obj) const {
|
void Venue::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json( Obj,"parent",parent);
|
field_to_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_to_json( Obj,"entity",entity);
|
field_to_json( Obj,"entity",entity);
|
||||||
RESTAPI_utils::field_to_json( Obj,"children",children);
|
field_to_json( Obj,"children",children);
|
||||||
RESTAPI_utils::field_to_json( Obj,"devices",devices);
|
field_to_json( Obj,"devices",devices);
|
||||||
RESTAPI_utils::field_to_json( Obj,"topology",topology);
|
field_to_json( Obj,"topology",topology);
|
||||||
RESTAPI_utils::field_to_json( Obj,"parent",parent);
|
field_to_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_to_json( Obj,"design",design);
|
field_to_json( Obj,"design",design);
|
||||||
RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy);
|
field_to_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_to_json( Obj,"deviceConfiguration",deviceConfiguration);
|
field_to_json( Obj,"deviceConfiguration",deviceConfiguration);
|
||||||
RESTAPI_utils::field_to_json( Obj,"contact",contact);
|
field_to_json( Obj,"contact",contact);
|
||||||
RESTAPI_utils::field_to_json( Obj,"location",location);
|
field_to_json( Obj,"location",location);
|
||||||
RESTAPI_utils::field_to_json( Obj,"rrm",rrm);
|
field_to_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_to_json( Obj,"sourceIP",sourceIP);
|
field_to_json( Obj,"sourceIP",sourceIP);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Venue::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool Venue::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
RESTAPI_utils::field_from_json( Obj,"parent",parent);
|
field_from_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_from_json( Obj,"entity",entity);
|
field_from_json( Obj,"entity",entity);
|
||||||
RESTAPI_utils::field_from_json( Obj,"children",children);
|
field_from_json( Obj,"children",children);
|
||||||
RESTAPI_utils::field_from_json( Obj,"devices",devices);
|
field_from_json( Obj,"devices",devices);
|
||||||
RESTAPI_utils::field_from_json( Obj,"topology",topology);
|
field_from_json( Obj,"topology",topology);
|
||||||
RESTAPI_utils::field_from_json( Obj,"parent",parent);
|
field_from_json( Obj,"parent",parent);
|
||||||
RESTAPI_utils::field_from_json( Obj,"design",design);
|
field_from_json( Obj,"design",design);
|
||||||
RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy);
|
field_from_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_from_json( Obj,"deviceConfiguration",deviceConfiguration);
|
field_from_json( Obj,"deviceConfiguration",deviceConfiguration);
|
||||||
RESTAPI_utils::field_from_json( Obj,"contact",contact);
|
field_from_json( Obj,"contact",contact);
|
||||||
RESTAPI_utils::field_from_json( Obj,"location",location);
|
field_from_json( Obj,"location",location);
|
||||||
RESTAPI_utils::field_from_json( Obj,"rrm",rrm);
|
field_from_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_from_json( Obj,"sourceIP",sourceIP);
|
field_from_json( Obj,"sourceIP",sourceIP);
|
||||||
return true;
|
return true;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
|
||||||
@@ -169,16 +172,16 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void UserInfoDigest::to_json(Poco::JSON::Object &Obj) const {
|
void UserInfoDigest::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json( Obj,"id",id);
|
field_to_json( Obj,"id",id);
|
||||||
RESTAPI_utils::field_to_json( Obj,"entity",loginId);
|
field_to_json( Obj,"entity",loginId);
|
||||||
RESTAPI_utils::field_to_json( Obj,"children",userType);
|
field_to_json( Obj,"children",userType);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool UserInfoDigest::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool UserInfoDigest::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json( Obj,"id",id);
|
field_from_json( Obj,"id",id);
|
||||||
RESTAPI_utils::field_from_json( Obj,"entity",loginId);
|
field_from_json( Obj,"entity",loginId);
|
||||||
RESTAPI_utils::field_from_json( Obj,"children",userType);
|
field_from_json( Obj,"children",userType);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
}
|
}
|
||||||
@@ -187,17 +190,17 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void ManagementRole::to_json(Poco::JSON::Object &Obj) const {
|
void ManagementRole::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy);
|
field_to_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_to_json( Obj,"users",users);
|
field_to_json( Obj,"users",users);
|
||||||
RESTAPI_utils::field_to_json( Obj,"entity",entity);
|
field_to_json( Obj,"entity",entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ManagementRole::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool ManagementRole::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy);
|
field_from_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_from_json( Obj,"users",users);
|
field_from_json( Obj,"users",users);
|
||||||
RESTAPI_utils::field_from_json( Obj,"entity",entity);
|
field_from_json( Obj,"entity",entity);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
}
|
}
|
||||||
@@ -206,39 +209,39 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void Location::to_json(Poco::JSON::Object &Obj) const {
|
void Location::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json( Obj,"type",OpenWifi::ProvObjects::to_string(type));
|
field_to_json( Obj,"type",OpenWifi::ProvObjects::to_string(type));
|
||||||
RESTAPI_utils::field_to_json( Obj,"buildingName",buildingName);
|
field_to_json( Obj,"buildingName",buildingName);
|
||||||
RESTAPI_utils::field_to_json( Obj,"addressLines",addressLines);
|
field_to_json( Obj,"addressLines",addressLines);
|
||||||
RESTAPI_utils::field_to_json( Obj,"city",city);
|
field_to_json( Obj,"city",city);
|
||||||
RESTAPI_utils::field_to_json( Obj,"state",state);
|
field_to_json( Obj,"state",state);
|
||||||
RESTAPI_utils::field_to_json( Obj,"postal",postal);
|
field_to_json( Obj,"postal",postal);
|
||||||
RESTAPI_utils::field_to_json( Obj,"country",country);
|
field_to_json( Obj,"country",country);
|
||||||
RESTAPI_utils::field_to_json( Obj,"phones",phones);
|
field_to_json( Obj,"phones",phones);
|
||||||
RESTAPI_utils::field_to_json( Obj,"mobiles",mobiles);
|
field_to_json( Obj,"mobiles",mobiles);
|
||||||
RESTAPI_utils::field_to_json( Obj,"geoCode",geoCode);
|
field_to_json( Obj,"geoCode",geoCode);
|
||||||
RESTAPI_utils::field_to_json( Obj,"inUse",inUse);
|
field_to_json( Obj,"inUse",inUse);
|
||||||
RESTAPI_utils::field_to_json( Obj,"entity",entity);
|
field_to_json( Obj,"entity",entity);
|
||||||
RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy);
|
field_to_json( Obj,"managementPolicy",managementPolicy);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Location::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool Location::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
std::string tmp_type;
|
std::string tmp_type;
|
||||||
RESTAPI_utils::field_from_json( Obj,"type", tmp_type);
|
field_from_json( Obj,"type", tmp_type);
|
||||||
type = location_from_string(tmp_type);
|
type = location_from_string(tmp_type);
|
||||||
RESTAPI_utils::field_from_json( Obj,"buildingName",buildingName);
|
field_from_json( Obj,"buildingName",buildingName);
|
||||||
RESTAPI_utils::field_from_json( Obj,"addressLines",addressLines);
|
field_from_json( Obj,"addressLines",addressLines);
|
||||||
RESTAPI_utils::field_from_json( Obj,"city",city);
|
field_from_json( Obj,"city",city);
|
||||||
RESTAPI_utils::field_from_json( Obj,"state",state);
|
field_from_json( Obj,"state",state);
|
||||||
RESTAPI_utils::field_from_json( Obj,"postal",postal);
|
field_from_json( Obj,"postal",postal);
|
||||||
RESTAPI_utils::field_from_json( Obj,"country",country);
|
field_from_json( Obj,"country",country);
|
||||||
RESTAPI_utils::field_from_json( Obj,"phones",phones);
|
field_from_json( Obj,"phones",phones);
|
||||||
RESTAPI_utils::field_from_json( Obj,"mobiles",mobiles);
|
field_from_json( Obj,"mobiles",mobiles);
|
||||||
RESTAPI_utils::field_from_json( Obj,"geoCode",geoCode);
|
field_from_json( Obj,"geoCode",geoCode);
|
||||||
RESTAPI_utils::field_from_json( Obj,"inUse",inUse);
|
field_from_json( Obj,"inUse",inUse);
|
||||||
RESTAPI_utils::field_from_json( Obj,"entity",entity);
|
field_from_json( Obj,"entity",entity);
|
||||||
RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy);
|
field_from_json( Obj,"managementPolicy",managementPolicy);
|
||||||
return true;
|
return true;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
|
||||||
@@ -248,43 +251,43 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void Contact::to_json(Poco::JSON::Object &Obj) const {
|
void Contact::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json( Obj,"type", to_string(type));
|
field_to_json( Obj,"type", to_string(type));
|
||||||
RESTAPI_utils::field_to_json( Obj,"title",title);
|
field_to_json( Obj,"title",title);
|
||||||
RESTAPI_utils::field_to_json( Obj,"salutation",salutation);
|
field_to_json( Obj,"salutation",salutation);
|
||||||
RESTAPI_utils::field_to_json( Obj,"firstname",firstname);
|
field_to_json( Obj,"firstname",firstname);
|
||||||
RESTAPI_utils::field_to_json( Obj,"lastname",lastname);
|
field_to_json( Obj,"lastname",lastname);
|
||||||
RESTAPI_utils::field_to_json( Obj,"initials",initials);
|
field_to_json( Obj,"initials",initials);
|
||||||
RESTAPI_utils::field_to_json( Obj,"visual",visual);
|
field_to_json( Obj,"visual",visual);
|
||||||
RESTAPI_utils::field_to_json( Obj,"mobiles",mobiles);
|
field_to_json( Obj,"mobiles",mobiles);
|
||||||
RESTAPI_utils::field_to_json( Obj,"phones",phones);
|
field_to_json( Obj,"phones",phones);
|
||||||
RESTAPI_utils::field_to_json( Obj,"primaryEmail",primaryEmail);
|
field_to_json( Obj,"primaryEmail",primaryEmail);
|
||||||
RESTAPI_utils::field_to_json( Obj,"secondaryEmail",secondaryEmail);
|
field_to_json( Obj,"secondaryEmail",secondaryEmail);
|
||||||
RESTAPI_utils::field_to_json( Obj,"accessPIN",accessPIN);
|
field_to_json( Obj,"accessPIN",accessPIN);
|
||||||
RESTAPI_utils::field_to_json( Obj,"inUse",inUse);
|
field_to_json( Obj,"inUse",inUse);
|
||||||
RESTAPI_utils::field_to_json( Obj,"entity",entity);
|
field_to_json( Obj,"entity",entity);
|
||||||
RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy);
|
field_to_json( Obj,"managementPolicy",managementPolicy);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Contact::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool Contact::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
std::string tmp_type;
|
std::string tmp_type;
|
||||||
RESTAPI_utils::field_from_json( Obj,"type", tmp_type);
|
field_from_json( Obj,"type", tmp_type);
|
||||||
type = contact_from_string(tmp_type);
|
type = contact_from_string(tmp_type);
|
||||||
RESTAPI_utils::field_from_json( Obj,"title",title);
|
field_from_json( Obj,"title",title);
|
||||||
RESTAPI_utils::field_from_json( Obj,"salutation",salutation);
|
field_from_json( Obj,"salutation",salutation);
|
||||||
RESTAPI_utils::field_from_json( Obj,"firstname",firstname);
|
field_from_json( Obj,"firstname",firstname);
|
||||||
RESTAPI_utils::field_from_json( Obj,"lastname",lastname);
|
field_from_json( Obj,"lastname",lastname);
|
||||||
RESTAPI_utils::field_from_json( Obj,"initials",initials);
|
field_from_json( Obj,"initials",initials);
|
||||||
RESTAPI_utils::field_from_json( Obj,"visual",visual);
|
field_from_json( Obj,"visual",visual);
|
||||||
RESTAPI_utils::field_from_json( Obj,"mobiles",mobiles);
|
field_from_json( Obj,"mobiles",mobiles);
|
||||||
RESTAPI_utils::field_from_json( Obj,"phones",phones);
|
field_from_json( Obj,"phones",phones);
|
||||||
RESTAPI_utils::field_from_json( Obj,"primaryEmail",primaryEmail);
|
field_from_json( Obj,"primaryEmail",primaryEmail);
|
||||||
RESTAPI_utils::field_from_json( Obj,"secondaryEmail",secondaryEmail);
|
field_from_json( Obj,"secondaryEmail",secondaryEmail);
|
||||||
RESTAPI_utils::field_from_json( Obj,"accessPIN",accessPIN);
|
field_from_json( Obj,"accessPIN",accessPIN);
|
||||||
RESTAPI_utils::field_from_json( Obj,"inUse",inUse);
|
field_from_json( Obj,"inUse",inUse);
|
||||||
RESTAPI_utils::field_from_json( Obj,"entity",entity);
|
field_from_json( Obj,"entity",entity);
|
||||||
RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy);
|
field_from_json( Obj,"managementPolicy",managementPolicy);
|
||||||
return true;
|
return true;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
|
||||||
@@ -294,35 +297,35 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void InventoryTag::to_json(Poco::JSON::Object &Obj) const {
|
void InventoryTag::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json(Obj, "serialNumber", serialNumber);
|
field_to_json(Obj, "serialNumber", serialNumber);
|
||||||
RESTAPI_utils::field_to_json(Obj, "venue", venue);
|
field_to_json(Obj, "venue", venue);
|
||||||
RESTAPI_utils::field_to_json(Obj, "entity", entity);
|
field_to_json(Obj, "entity", entity);
|
||||||
RESTAPI_utils::field_to_json(Obj, "subscriber", subscriber);
|
field_to_json(Obj, "subscriber", subscriber);
|
||||||
RESTAPI_utils::field_to_json(Obj, "deviceType", deviceType);
|
field_to_json(Obj, "deviceType", deviceType);
|
||||||
RESTAPI_utils::field_to_json(Obj, "qrCode", qrCode);
|
field_to_json(Obj, "qrCode", qrCode);
|
||||||
RESTAPI_utils::field_to_json(Obj, "geoCode", geoCode);
|
field_to_json(Obj, "geoCode", geoCode);
|
||||||
RESTAPI_utils::field_to_json(Obj, "location", location);
|
field_to_json(Obj, "location", location);
|
||||||
RESTAPI_utils::field_to_json(Obj, "contact", contact);
|
field_to_json(Obj, "contact", contact);
|
||||||
RESTAPI_utils::field_to_json( Obj,"deviceConfiguration",deviceConfiguration);
|
field_to_json( Obj,"deviceConfiguration",deviceConfiguration);
|
||||||
RESTAPI_utils::field_to_json( Obj,"rrm",rrm);
|
field_to_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy);
|
field_to_json( Obj,"managementPolicy",managementPolicy);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InventoryTag::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool InventoryTag::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
RESTAPI_utils::field_from_json( Obj,"serialNumber",serialNumber);
|
field_from_json( Obj,"serialNumber",serialNumber);
|
||||||
RESTAPI_utils::field_from_json( Obj,"venue",venue);
|
field_from_json( Obj,"venue",venue);
|
||||||
RESTAPI_utils::field_from_json( Obj,"entity",entity);
|
field_from_json( Obj,"entity",entity);
|
||||||
RESTAPI_utils::field_from_json( Obj,"subscriber",subscriber);
|
field_from_json( Obj,"subscriber",subscriber);
|
||||||
RESTAPI_utils::field_from_json( Obj,"deviceType",deviceType);
|
field_from_json( Obj,"deviceType",deviceType);
|
||||||
RESTAPI_utils::field_from_json(Obj, "qrCode", qrCode);
|
field_from_json(Obj, "qrCode", qrCode);
|
||||||
RESTAPI_utils::field_from_json( Obj,"geoCode",geoCode);
|
field_from_json( Obj,"geoCode",geoCode);
|
||||||
RESTAPI_utils::field_from_json( Obj,"location",location);
|
field_from_json( Obj,"location",location);
|
||||||
RESTAPI_utils::field_from_json( Obj,"contact",contact);
|
field_from_json( Obj,"contact",contact);
|
||||||
RESTAPI_utils::field_from_json( Obj,"deviceConfiguration",deviceConfiguration);
|
field_from_json( Obj,"deviceConfiguration",deviceConfiguration);
|
||||||
RESTAPI_utils::field_from_json( Obj,"rrm",rrm);
|
field_from_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy);
|
field_from_json( Obj,"managementPolicy",managementPolicy);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -331,18 +334,18 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DeviceConfigurationElement::to_json(Poco::JSON::Object &Obj) const {
|
void DeviceConfigurationElement::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json( Obj,"name", name);
|
field_to_json( Obj,"name", name);
|
||||||
RESTAPI_utils::field_to_json( Obj,"description", description);
|
field_to_json( Obj,"description", description);
|
||||||
RESTAPI_utils::field_to_json( Obj,"weight", weight);
|
field_to_json( Obj,"weight", weight);
|
||||||
RESTAPI_utils::field_to_json( Obj,"configuration", configuration);
|
field_to_json( Obj,"configuration", configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DeviceConfigurationElement::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool DeviceConfigurationElement::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json( Obj,"name",name);
|
field_from_json( Obj,"name",name);
|
||||||
RESTAPI_utils::field_from_json( Obj,"description",description);
|
field_from_json( Obj,"description",description);
|
||||||
RESTAPI_utils::field_from_json( Obj,"weight",weight);
|
field_from_json( Obj,"weight",weight);
|
||||||
RESTAPI_utils::field_from_json( Obj,"configuration",configuration);
|
field_from_json( Obj,"configuration",configuration);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -352,27 +355,27 @@ namespace OpenWifi::ProvObjects {
|
|||||||
|
|
||||||
void DeviceConfiguration::to_json(Poco::JSON::Object &Obj) const {
|
void DeviceConfiguration::to_json(Poco::JSON::Object &Obj) const {
|
||||||
info.to_json(Obj);
|
info.to_json(Obj);
|
||||||
RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy);
|
field_to_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_to_json( Obj,"deviceTypes",deviceTypes);
|
field_to_json( Obj,"deviceTypes",deviceTypes);
|
||||||
RESTAPI_utils::field_to_json( Obj,"configuration",configuration);
|
field_to_json( Obj,"configuration",configuration);
|
||||||
RESTAPI_utils::field_to_json( Obj,"inUse",inUse);
|
field_to_json( Obj,"inUse",inUse);
|
||||||
RESTAPI_utils::field_to_json( Obj,"variables",variables);
|
field_to_json( Obj,"variables",variables);
|
||||||
RESTAPI_utils::field_to_json( Obj,"rrm",rrm);
|
field_to_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_to_json( Obj,"firmwareUpgrade",firmwareUpgrade);
|
field_to_json( Obj,"firmwareUpgrade",firmwareUpgrade);
|
||||||
RESTAPI_utils::field_to_json( Obj,"firmwareRCOnly",firmwareRCOnly);
|
field_to_json( Obj,"firmwareRCOnly",firmwareRCOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DeviceConfiguration::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool DeviceConfiguration::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
info.from_json(Obj);
|
info.from_json(Obj);
|
||||||
RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy);
|
field_from_json( Obj,"managementPolicy",managementPolicy);
|
||||||
RESTAPI_utils::field_from_json( Obj,"deviceTypes",deviceTypes);
|
field_from_json( Obj,"deviceTypes",deviceTypes);
|
||||||
RESTAPI_utils::field_from_json( Obj,"configuration",configuration);
|
field_from_json( Obj,"configuration",configuration);
|
||||||
RESTAPI_utils::field_from_json( Obj,"inUse",inUse);
|
field_from_json( Obj,"inUse",inUse);
|
||||||
RESTAPI_utils::field_from_json( Obj,"variables",variables);
|
field_from_json( Obj,"variables",variables);
|
||||||
RESTAPI_utils::field_from_json( Obj,"rrm",rrm);
|
field_from_json( Obj,"rrm",rrm);
|
||||||
RESTAPI_utils::field_from_json( Obj,"firmwareUpgrade",firmwareUpgrade);
|
field_from_json( Obj,"firmwareUpgrade",firmwareUpgrade);
|
||||||
RESTAPI_utils::field_from_json( Obj,"firmwareRCOnly",firmwareRCOnly);
|
field_from_json( Obj,"firmwareRCOnly",firmwareRCOnly);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -381,8 +384,8 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Report::to_json(Poco::JSON::Object &Obj) const {
|
void Report::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json(Obj, "snapshot", snapShot);
|
field_to_json(Obj, "snapshot", snapShot);
|
||||||
RESTAPI_utils::field_to_json(Obj, "devices", tenants);
|
field_to_json(Obj, "devices", tenants);
|
||||||
};
|
};
|
||||||
|
|
||||||
void Report::reset() {
|
void Report::reset() {
|
||||||
@@ -390,16 +393,16 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ExpandedUseEntry::to_json(Poco::JSON::Object &Obj) const {
|
void ExpandedUseEntry::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json(Obj, "uuid", uuid);
|
field_to_json(Obj, "uuid", uuid);
|
||||||
RESTAPI_utils::field_to_json(Obj, "name", name);
|
field_to_json(Obj, "name", name);
|
||||||
RESTAPI_utils::field_to_json(Obj, "description", description);
|
field_to_json(Obj, "description", description);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ExpandedUseEntry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool ExpandedUseEntry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json( Obj,"uuid",uuid);
|
field_from_json( Obj,"uuid",uuid);
|
||||||
RESTAPI_utils::field_from_json( Obj,"name",name);
|
field_from_json( Obj,"name",name);
|
||||||
RESTAPI_utils::field_from_json( Obj,"description",description);
|
field_from_json( Obj,"description",description);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -408,14 +411,14 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ExpandedUseEntryList::to_json(Poco::JSON::Object &Obj) const {
|
void ExpandedUseEntryList::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json(Obj, "type", type);
|
field_to_json(Obj, "type", type);
|
||||||
RESTAPI_utils::field_to_json(Obj, "entries", entries);
|
field_to_json(Obj, "entries", entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ExpandedUseEntryList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool ExpandedUseEntryList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json( Obj,"type",type);
|
field_from_json( Obj,"type",type);
|
||||||
RESTAPI_utils::field_from_json( Obj,"entries",entries);
|
field_from_json( Obj,"entries",entries);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -424,12 +427,94 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ExpandedUseEntryMapList::to_json(Poco::JSON::Object &Obj) const {
|
void ExpandedUseEntryMapList::to_json(Poco::JSON::Object &Obj) const {
|
||||||
RESTAPI_utils::field_to_json(Obj, "entries", entries);
|
field_to_json(Obj, "entries", entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ExpandedUseEntryMapList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
bool ExpandedUseEntryMapList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
try {
|
try {
|
||||||
RESTAPI_utils::field_from_json( Obj,"entries",entries);
|
field_from_json( Obj,"entries",entries);
|
||||||
|
return true;
|
||||||
|
} catch(...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UserList::to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
field_to_json(Obj, "list", list);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool UserList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
field_from_json(Obj, "list", list);
|
||||||
|
return true;
|
||||||
|
} catch(...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ObjectACL::to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
field_to_json(Obj, "users", users);
|
||||||
|
field_to_json(Obj, "access", access);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ObjectACL::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
field_from_json(Obj, "users", users);
|
||||||
|
field_from_json(Obj, "access", access);
|
||||||
|
return true;
|
||||||
|
} catch(...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ObjectACLList::to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
field_to_json(Obj, "list", list);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ObjectACLList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
field_from_json(Obj, "list", list);
|
||||||
|
return true;
|
||||||
|
} catch(...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Map::to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
info.to_json(Obj);
|
||||||
|
field_to_json( Obj,"data",data);
|
||||||
|
field_to_json( Obj,"entity",entity);
|
||||||
|
field_to_json( Obj,"creator",creator);
|
||||||
|
field_to_json( Obj,"visibility",visibility);
|
||||||
|
field_to_json( Obj,"access",access);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Map::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
info.from_json(Obj);
|
||||||
|
field_from_json( Obj,"data",data);
|
||||||
|
field_from_json( Obj,"entity",entity);
|
||||||
|
field_from_json( Obj,"creator",creator);
|
||||||
|
field_from_json( Obj,"visibility",visibility);
|
||||||
|
field_from_json( Obj,"access",access);
|
||||||
|
return true;
|
||||||
|
} catch(...) {
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MapList::to_json(Poco::JSON::Object &Obj) const {
|
||||||
|
field_to_json( Obj,"list",list);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MapList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||||
|
try {
|
||||||
|
field_from_json( Obj,"list",list);
|
||||||
return true;
|
return true;
|
||||||
} catch(...) {
|
} catch(...) {
|
||||||
|
|
||||||
@@ -438,13 +523,47 @@ namespace OpenWifi::ProvObjects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool UpdateObjectInfo(const Poco::JSON::Object::Ptr &O, const SecurityObjects::UserInfo &U, ObjectInfo &I) {
|
bool UpdateObjectInfo(const Poco::JSON::Object::Ptr &O, const SecurityObjects::UserInfo &U, ObjectInfo &I) {
|
||||||
|
uint64_t Now = std::time(nullptr);
|
||||||
if(O->has("name"))
|
if(O->has("name"))
|
||||||
I.name = O->get("name").toString();
|
I.name = O->get("name").toString();
|
||||||
|
|
||||||
|
if(I.name.empty())
|
||||||
|
return false;
|
||||||
|
|
||||||
if(O->has("description"))
|
if(O->has("description"))
|
||||||
I.description = O->get("description").toString();
|
I.description = O->get("description").toString();
|
||||||
SecurityObjects::MergeNotes(O,U,I.notes);
|
SecurityObjects::MergeNotes(O,U,I.notes);
|
||||||
I.modified = std::time(nullptr);
|
SecurityObjects::NoteInfoVec N;
|
||||||
|
for(auto &i:I.notes) {
|
||||||
|
if(i.note.empty())
|
||||||
|
continue;
|
||||||
|
N.push_back(SecurityObjects::NoteInfo{.created=Now,.createdBy=U.email,.note=i.note});
|
||||||
|
}
|
||||||
|
I.modified = Now;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CreateObjectInfo(const Poco::JSON::Object::Ptr &O, const SecurityObjects::UserInfo &U, ObjectInfo &I) {
|
||||||
|
uint64_t Now = std::time(nullptr);
|
||||||
|
if(O->has("name"))
|
||||||
|
I.name = O->get("name").toString();
|
||||||
|
|
||||||
|
if(I.name.empty())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if(O->has("description"))
|
||||||
|
I.description = O->get("description").toString();
|
||||||
|
|
||||||
|
SecurityObjects::NoteInfoVec N;
|
||||||
|
for(auto &i:I.notes) {
|
||||||
|
if(i.note.empty())
|
||||||
|
continue;
|
||||||
|
N.push_back(SecurityObjects::NoteInfo{.created=Now,.createdBy=U.email,.note=i.note});
|
||||||
|
}
|
||||||
|
I.notes = N;
|
||||||
|
I.modified = I.created = Now;
|
||||||
|
I.id = MicroService::instance().CreateUUID();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,6 +15,13 @@
|
|||||||
|
|
||||||
namespace OpenWifi::ProvObjects {
|
namespace OpenWifi::ProvObjects {
|
||||||
|
|
||||||
|
enum FIRMWARE_UPGRADE_RULES {
|
||||||
|
dont_upgrade,
|
||||||
|
upgrade_inherit,
|
||||||
|
upgrade_release_only,
|
||||||
|
upgrade_latest
|
||||||
|
};
|
||||||
|
|
||||||
struct ObjectInfo {
|
struct ObjectInfo {
|
||||||
Types::UUID_t id;
|
Types::UUID_t id;
|
||||||
std::string name;
|
std::string name;
|
||||||
@@ -317,7 +324,50 @@ namespace OpenWifi::ProvObjects {
|
|||||||
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct UserList {
|
||||||
|
std::vector<std::string> list;
|
||||||
|
|
||||||
|
void to_json(Poco::JSON::Object &Obj) const;
|
||||||
|
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ObjectACL {
|
||||||
|
UserList users;
|
||||||
|
std::string access;
|
||||||
|
|
||||||
|
void to_json(Poco::JSON::Object &Obj) const;
|
||||||
|
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ObjectACLList {
|
||||||
|
std::vector<ObjectACL> list;
|
||||||
|
|
||||||
|
void to_json(Poco::JSON::Object &Obj) const;
|
||||||
|
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Map {
|
||||||
|
ObjectInfo info;
|
||||||
|
std::string data;
|
||||||
|
std::string entity;
|
||||||
|
std::string creator;
|
||||||
|
std::string visibility;
|
||||||
|
ObjectACLList access;
|
||||||
|
|
||||||
|
void to_json(Poco::JSON::Object &Obj) const;
|
||||||
|
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MapList {
|
||||||
|
std::vector<Map> list;
|
||||||
|
|
||||||
|
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 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);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ namespace OpenWifi::RESTAPI::Errors {
|
|||||||
static const std::string PasswordMustBeChanged{"Password must be changed."};
|
static const std::string PasswordMustBeChanged{"Password must be changed."};
|
||||||
static const std::string UnrecognizedRequest{"Ill-formed request. Please consult documentation."};
|
static const std::string UnrecognizedRequest{"Ill-formed request. Please consult documentation."};
|
||||||
static const std::string MissingAuthenticationInformation{"Missing authentication information."};
|
static const std::string MissingAuthenticationInformation{"Missing authentication information."};
|
||||||
|
static const std::string InsufficientAccessRights{"Insufficient access rights to complete the operation."};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //OWPROV_RESTAPI_ERRORS_H
|
#endif //OWPROV_RESTAPI_ERRORS_H
|
||||||
|
|||||||
Reference in New Issue
Block a user