3
0

Fix improper sensitivity level check when removing attributes

This commit is contained in:
Tomaž Jerman
2022-06-14 15:13:28 +02:00
parent 01673cc4cb
commit 319ae7e375

View File

@@ -744,11 +744,14 @@ func (svc *service) UpdateModelAttribute(ctx context.Context, model *Model, old,
issues.addModelIssue(model.ConnectionID, model.ResourceID, errAttributeUpdateMissingModel(model.ConnectionID, model.ResourceID))
}
if !svc.sensitivityLevels.includes(new.SensitivityLevel) {
issues.addModelIssue(model.ConnectionID, model.ResourceID, errAttributeUpdateMissingSensitivityLevel(model.ConnectionID, model.ResourceID, new.SensitivityLevel))
} else {
if !svc.sensitivityLevels.isSubset(new.SensitivityLevel, model.SensitivityLevel) {
issues.addModelIssue(model.ConnectionID, model.ResourceID, errAttributeUpdateGreaterSensitivityLevel(model.ConnectionID, model.ResourceID, new.SensitivityLevel, model.SensitivityLevel))
// In case we're deleting it we can ignore this check
if new != nil {
if !svc.sensitivityLevels.includes(new.SensitivityLevel) {
issues.addModelIssue(model.ConnectionID, model.ResourceID, errAttributeUpdateMissingSensitivityLevel(model.ConnectionID, model.ResourceID, new.SensitivityLevel))
} else {
if !svc.sensitivityLevels.isSubset(new.SensitivityLevel, model.SensitivityLevel) {
issues.addModelIssue(model.ConnectionID, model.ResourceID, errAttributeUpdateGreaterSensitivityLevel(model.ConnectionID, model.ResourceID, new.SensitivityLevel, model.SensitivityLevel))
}
}
}