Fixing ConfigurationValidator to not crash.

This commit is contained in:
stephb9959
2021-10-30 15:30:49 -07:00
parent a8079b04c8
commit dc326ea00e
21 changed files with 619 additions and 73 deletions

View File

@@ -78,18 +78,17 @@ namespace OpenWifi{
}
ProvObjects::ManagementPolicy NewPolicy;
auto NewObj = ParseStream();
if(!NewPolicy.from_json(NewObj)) {
auto NewObject = ParseStream();
if(!NewPolicy.from_json(NewObject)) {
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
}
if(NewPolicy.info.name.empty()) {
return BadRequest(RESTAPI::Errors::NameMustBeSet);
if(!CreateObjectInfo(NewObject, UserInfo_.userinfo, NewPolicy.info)) {
return BadRequest( RESTAPI::Errors::NameMustBeSet);
}
NewPolicy.inUse.clear();
NewPolicy.info.id = MicroService::instance().CreateUUID();
NewPolicy.info.created = NewPolicy.info.modified = std::time(nullptr);
if(DB_.CreateRecord(NewPolicy)) {
ProvObjects::ManagementPolicy Policy;
DB_.GetRecord("id",NewPolicy.info.id,Policy);
@@ -113,7 +112,9 @@ namespace OpenWifi{
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
}
UpdateObjectInfo(NewObject, UserInfo_.userinfo, Existing.info);
if(!UpdateObjectInfo(NewObject, UserInfo_.userinfo, Existing.info)) {
return BadRequest( RESTAPI::Errors::NameMustBeSet);
}
if(!NewPolicy.entries.empty())
Existing.entries = NewPolicy.entries;