Skip to content
Snippets Groups Projects

Add case for API_OPERATION_REPLACE within plugins ValidateChange method

Merged Malte Bauch requested to merge validate-change-plugin-replace into master
1 file
+ 11
3
Compare changes
  • Side-by-side
  • Inline
+ 11
3
@@ -241,13 +241,21 @@ func (d *DeviceModel) ValidateChange(operation mnepb.ApiOperation, path *gpb.Pat
@@ -241,13 +241,21 @@ func (d *DeviceModel) ValidateChange(operation mnepb.ApiOperation, path *gpb.Pat
d.mu.RUnlock()
d.mu.RUnlock()
switch operation {
switch operation {
case mnepb.ApiOperation_API_OPERATION_UPDATE, mnepb.ApiOperation_API_OPERATION_REPLACE:
case mnepb.ApiOperation_API_OPERATION_DELETE:
 
if err := ytypes.DeleteNode(d.schema.RootSchema(), modelCopy, path); err != nil {
 
return nil, err
 
}
 
case mnepb.ApiOperation_API_OPERATION_REPLACE:
 
if err := ytypes.DeleteNode(d.schema.RootSchema(), modelCopy, path); err != nil {
 
return nil, err
 
}
opts := []ytypes.SetNodeOpt{&ytypes.InitMissingElements{}, &ytypes.TolerateJSONInconsistencies{}, &ytypes.IgnoreExtraFields{}}
opts := []ytypes.SetNodeOpt{&ytypes.InitMissingElements{}, &ytypes.TolerateJSONInconsistencies{}, &ytypes.IgnoreExtraFields{}}
if err := ytypes.SetNode(d.schema.RootSchema(), modelCopy, path, value, opts...); err != nil {
if err := ytypes.SetNode(d.schema.RootSchema(), modelCopy, path, value, opts...); err != nil {
return nil, err
return nil, err
}
}
case mnepb.ApiOperation_API_OPERATION_DELETE:
case mnepb.ApiOperation_API_OPERATION_UPDATE:
if err := ytypes.DeleteNode(d.schema.RootSchema(), modelCopy, path); err != nil {
opts := []ytypes.SetNodeOpt{&ytypes.InitMissingElements{}, &ytypes.TolerateJSONInconsistencies{}, &ytypes.IgnoreExtraFields{}}
 
if err := ytypes.SetNode(d.schema.RootSchema(), modelCopy, path, value, opts...); err != nil {
return nil, err
return nil, err
}
}
default:
default:
Loading