Adding validation for DeviceRules.

This commit is contained in:
stephb9959
2022-05-13 08:14:40 -07:00
parent 8f78aec565
commit 5228066b65
6 changed files with 62 additions and 21 deletions

View File

@@ -62,13 +62,17 @@ namespace OpenWifi{
return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters);
}
const auto & Obj = ParsedBody_;
const auto & RawObject = ParsedBody_;
ProvObjects::Entity NewEntity;
if (!NewEntity.from_json(Obj)) {
if (!NewEntity.from_json(RawObject)) {
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
}
if(!ProvObjects::CreateObjectInfo(Obj,UserInfo_.userinfo,NewEntity.info)) {
if((RawObject->has("deviceRules") && !ValidDeviceRules(NewEntity.deviceRules,*this))) {
return;
}
if(!ProvObjects::CreateObjectInfo(RawObject,UserInfo_.userinfo,NewEntity.info)) {
return BadRequest(RESTAPI::Errors::NameMustBeSet);
}
@@ -130,6 +134,10 @@ namespace OpenWifi{
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
}
if((RawObject->has("deviceRules") && !ValidDeviceRules(NewEntity.deviceRules,*this))) {
return;
}
if(!UpdateObjectInfo(RawObject, UserInfo_.userinfo, Existing.info)) {
return BadRequest(RESTAPI::Errors::NameMustBeSet);
}