diff --git a/resources/schema/rule-merged/CORE-base.json b/resources/schema/rule-merged/CORE-base.json index d8bc945f5..c7ce4f5e8 100644 --- a/resources/schema/rule-merged/CORE-base.json +++ b/resources/schema/rule-merged/CORE-base.json @@ -141,19 +141,36 @@ "additionalProperties": false, "properties": { "Left": { - "$ref": "#/$defs/VariableName" + "anyOf": [ + { + "$ref": "#/$defs/VariableName" + }, + { + "$ref": "#/$defs/USDMFieldName" + } + ] }, "Right": { - "$ref": "#/$defs/VariableName" + "anyOf": [ + { + "$ref": "#/$defs/VariableName" + }, + { + "$ref": "#/$defs/USDMFieldName" + } + ] } }, "required": ["Left", "Right"], "type": "object" }, + "EntityName": { + "pattern": "^[A-Z](([a-z]+[A-Z]?)*)$", + "type": "string" + }, "PascalCases": { "items": { - "pattern": "^[A-Z](([a-z]+[A-Z]?)*)$", - "type": "string" + "$ref": "#/$defs/EntityName" }, "minItems": 1, "type": "array" @@ -180,6 +197,13 @@ "pattern": "^\\$[A-Za-z_][A-Za-z0-9_]*$", "type": "string" }, + "USDMFieldName": { + "pattern": "^[a-z][a-zA-Z0-9_]*(\\.([a-z][a-zA-Z0-9_]*|[A-Z][a-zA-Z0-9_]*))*$", + "type": "string" + }, + "USDMPrimitiveType": { + "enum": ["string", "integer", "boolean", "decimal", "date"] + }, "VariableReference": { "anyOf": [ { @@ -187,6 +211,9 @@ }, { "$ref": "#/$defs/OperationResultId" + }, + { + "$ref": "#/$defs/USDMFieldName" } ], "description": "Can reference either a dataset variable name or an operation result" @@ -414,6 +441,12 @@ }, { "$ref": "#/$defs/DataStructure" + }, + { + "$ref": "#/$defs/EntityName" + }, + { + "$ref": "#/$defs/USDMPrimitiveType" } ] }, @@ -426,6 +459,9 @@ { "$ref": "#/$defs/VariableName" }, + { + "$ref": "#/$defs/USDMFieldName" + }, { "$ref": "#/$defs/LeftRightKeys" } @@ -550,10 +586,32 @@ "additionalProperties": false, "properties": { "Exclude": { - "$ref": "#/$defs/PascalCases" + "items": { + "anyOf": [ + { + "const": "ALL" + }, + { + "$ref": "#/$defs/PascalCases/items" + } + ] + }, + "minItems": 1, + "type": "array" }, "Include": { - "$ref": "#/$defs/PascalCases" + "items": { + "anyOf": [ + { + "const": "ALL" + }, + { + "$ref": "#/$defs/PascalCases/items" + } + ] + }, + "minItems": 1, + "type": "array" } }, "anyOf": [ diff --git a/resources/schema/rule-merged/Operations.json b/resources/schema/rule-merged/Operations.json index 6bceb8ebc..8c03f1c5a 100644 --- a/resources/schema/rule-merged/Operations.json +++ b/resources/schema/rule-merged/Operations.json @@ -600,6 +600,9 @@ }, { "$ref": "CORE-base.json#/$defs/DataStructure" + }, + { + "$ref": "CORE-base.json#/$defs/EntityName" } ] }, diff --git a/resources/schema/rule/CORE-base.json b/resources/schema/rule/CORE-base.json index 99a7622f0..16dc33f8d 100644 --- a/resources/schema/rule/CORE-base.json +++ b/resources/schema/rule/CORE-base.json @@ -141,19 +141,36 @@ "additionalProperties": false, "properties": { "Left": { - "$ref": "#/$defs/VariableName" + "anyOf": [ + { + "$ref": "#/$defs/VariableName" + }, + { + "$ref": "#/$defs/USDMFieldName" + } + ] }, "Right": { - "$ref": "#/$defs/VariableName" + "anyOf": [ + { + "$ref": "#/$defs/VariableName" + }, + { + "$ref": "#/$defs/USDMFieldName" + } + ] } }, "required": ["Left", "Right"], "type": "object" }, + "EntityName": { + "pattern": "^[A-Z](([a-z]+[A-Z]?)*)$", + "type": "string" + }, "PascalCases": { "items": { - "pattern": "^[A-Z](([a-z]+[A-Z]?)*)$", - "type": "string" + "$ref": "#/$defs/EntityName" }, "minItems": 1, "type": "array" @@ -180,6 +197,13 @@ "pattern": "^\\$[A-Za-z_][A-Za-z0-9_]*$", "type": "string" }, + "USDMFieldName": { + "pattern": "^[a-z][a-zA-Z0-9_]*(\\.([a-z][a-zA-Z0-9_]*|[A-Z][a-zA-Z0-9_]*))*$", + "type": "string" + }, + "USDMPrimitiveType": { + "enum": ["string", "integer", "boolean", "decimal", "date"] + }, "VariableReference": { "anyOf": [ { @@ -187,6 +211,9 @@ }, { "$ref": "#/$defs/OperationResultId" + }, + { + "$ref": "#/$defs/USDMFieldName" } ], "description": "Can reference either a dataset variable name or an operation result" @@ -414,6 +441,12 @@ }, { "$ref": "#/$defs/DataStructure" + }, + { + "$ref": "#/$defs/EntityName" + }, + { + "$ref": "#/$defs/USDMPrimitiveType" } ] }, @@ -426,6 +459,9 @@ { "$ref": "#/$defs/VariableName" }, + { + "$ref": "#/$defs/USDMFieldName" + }, { "$ref": "#/$defs/LeftRightKeys" } @@ -550,19 +586,29 @@ "additionalProperties": false, "properties": { "Exclude": { - "$ref": "#/$defs/PascalCases" + "items": { + "anyOf": [ + { "const": "ALL" }, + { "$ref": "#/$defs/PascalCases/items" } + ] + }, + "minItems": 1, + "type": "array" }, "Include": { - "$ref": "#/$defs/PascalCases" + "items": { + "anyOf": [ + { "const": "ALL" }, + { "$ref": "#/$defs/PascalCases/items" } + ] + }, + "minItems": 1, + "type": "array" } }, "anyOf": [ - { - "required": ["Exclude"] - }, - { - "required": ["Include"] - } + { "required": ["Exclude"] }, + { "required": ["Include"] } ], "type": "object" } diff --git a/resources/schema/rule/Operations.json b/resources/schema/rule/Operations.json index e375fa0af..b3908c33b 100644 --- a/resources/schema/rule/Operations.json +++ b/resources/schema/rule/Operations.json @@ -547,6 +547,9 @@ }, { "$ref": "CORE-base.json#/$defs/DataStructure" + }, + { + "$ref": "CORE-base.json#/$defs/EntityName" } ] },