fix: reject grammars without properties (#2309)

This commit is contained in:
drbh 2024-07-29 10:07:25 -04:00 committed by GitHub
parent 922732b255
commit f15e808d4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 0 deletions

View File

@ -353,6 +353,14 @@ impl Validation {
.compile(&json) .compile(&json)
.map_err(|e| ValidationError::InvalidGrammar(e.to_string()))?; .map_err(|e| ValidationError::InvalidGrammar(e.to_string()))?;
// The schema can be valid but lack properties.
// We need properties for the grammar to be successfully parsed in Python.
// Therefore, we must check and throw an error if properties are missing.
json.get("properties")
.ok_or(ValidationError::InvalidGrammar(
"Grammar must have a 'properties' field".to_string(),
))?;
// Serialize json to string // Serialize json to string
ValidGrammar::Json( ValidGrammar::Json(
serde_json::to_string(&json) serde_json::to_string(&json)