RuleEngine Domain
This page presents the ERD for each AggregateRoot, grouping related entities into domain boundaries. Each AggregateRoot enforces business rules, processes commands synchronously, and defines consistency borders within a single transactional scope. An indicative json schema is created to how the export of a aggregate root will approximitly look like
Script
Aggregate Root: Script
Represents business rule scripts with their versions for automated decision making and processing.
erDiagram
"RuleEngine.ScriptVersions" {
uniqueidentifier Id PK
uniqueidentifier ScriptId FK
bit Draft
nvarchar VersionString
nvarchar Comment
nvarchar ScriptValue
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"RuleEngine.Scripts" {
uniqueidentifier Id PK
nvarchar Name
nvarchar Description
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
int ScriptType
bit Concealed
}
"RuleEngine.ScriptVersions" }o--|| "RuleEngine.Scripts" : "ScriptId"
erDiagram
"RuleEngine.ScriptVersions" {
uniqueidentifier Id PK
uniqueidentifier ScriptId FK
bit Draft
nvarchar VersionString
nvarchar Comment
nvarchar ScriptValue
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"RuleEngine.Scripts" {
uniqueidentifier Id PK
nvarchar Name
nvarchar Description
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
int ScriptType
bit Concealed
}
"RuleEngine.ScriptVersions" }o--|| "RuleEngine.Scripts" : "ScriptId"
{
"definitions": {
"RuleEngine.Scripts": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"ScriptType": {
"type": "integer",
"description": "int"
},
"Description": {
"type": "string",
"description": "nvarchar"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"Name": {
"type": "string",
"description": "nvarchar"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
}
},
"type": "object"
},
"RuleEngine.ScriptVersions": {
"properties": {
"ScriptId": {
"type": "string",
"description": "FK to RuleEngine.Scripts"
},
"VersionString": {
"type": "string",
"description": "nvarchar"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Concealed": {
"type": "boolean",
"description": "bit"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"ScriptValue": {
"type": "string",
"description": "nvarchar"
},
"Comment": {
"type": "string",
"description": "nvarchar"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"Draft": {
"type": "boolean",
"description": "bit"
}
},
"type": "object"
}
},
"title": "RuleEngine.Script",
"$comment": "Generated from Mermaid ERD with property-level descriptions",
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object"
}