Documents 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
Document Store Composer
Aggregate Root: DocumentStoreComposer
Represents composers for document stores that manage document generation, storage, and retrieval processes.
erDiagram
"Documents.DbObjectStore" {
uniqueidentifier Id PK
varbinary Content
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentChapterMetadata" {
uniqueidentifier Id PK
nvarchar Key
nvarchar Value
uniqueidentifier Tenant
uniqueidentifier DocumentChapterId FK
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentChapters" {
uniqueidentifier Id PK
bigint FileSize
nvarchar DocumentChapterCategory
nvarchar MD5Hash
nvarchar SHA1Hash
nvarchar InternalReference
nvarchar ChapterReference
uniqueidentifier DocumentId FK
uniqueidentifier DocumentChapterTypeImplementationId
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentExecutionHistories" {
uniqueidentifier Id PK
uniqueidentifier DocumentId FK
uniqueidentifier DocumentChapterId
datetimeoffset DocumentStoreTriggerDateTime
datetimeoffset DocumentExecutionStartDateTime
datetimeoffset DocumentExecutionEndDateTime
nvarchar ErrorMessage
nvarchar ErrorStackTrace
nvarchar ErrorInnerExceptionTree
nvarchar ErrorBaseException
varbinary ErrorExceptionObject
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
uniqueidentifier DocumentActionImplementationId
uniqueidentifier DocumentChapterActionImplementationId
bit Concealed
}
"Documents.DocumentExecutionProcessingLogs" {
uniqueidentifier Id PK
uniqueidentifier DocumentExecutionHistoryId FK
uniqueidentifier CommandId
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentGenerationItems" {
}
"Documents.DocumentGroups" {
uniqueidentifier Id PK
nvarchar ExternalReference
bit SuppressAutomaticProcessing
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
int PriorityType
}
"Documents.DocumentMetadata" {
uniqueidentifier Id PK
nvarchar Key
nvarchar Value
uniqueidentifier DocumentId FK
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.Documents" {
uniqueidentifier Id PK
uniqueidentifier DocumentGroupId FK
nvarchar FileName
datetimeoffset Created
nvarchar DocumentCategory
nvarchar DocumentSubCategory
nvarchar DocumentSubSubCategory
nvarchar DocumentTypeName
int DocumentDirectionType
int DocumentFormat
bigint FileSize
nvarchar MD5Hash
nvarchar SHA1Hash
nvarchar InternalReference
nvarchar MessageId
uniqueidentifier DocumentTypeImplementationId
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
uniqueidentifier ParentDocumentId FK
nvarchar ExternalReference
nvarchar Sender
nvarchar Receiver
nvarchar CorrelationId
datetimeoffset PeriodStart
datetimeoffset PeriodEnd
bit Concealed
datetimeoffset MessageTimestamp
}
"Documents.DocumentChapterMetadata" }o--|| "Documents.DocumentChapters" : "DocumentChapterId"
"Documents.DocumentChapters" }o--|| "Documents.Documents" : "DocumentId"
"Documents.DocumentExecutionHistories" }o--|| "Documents.Documents" : "DocumentId"
"Documents.DocumentExecutionProcessingLogs" }o--|| "Documents.DocumentExecutionHistories" : "DocumentExecutionHistoryId"
"Documents.Documents" }o--|| "Documents.DocumentGroups" : "DocumentGroupId"
"Documents.DocumentMetadata" }o--|| "Documents.Documents" : "DocumentId"
"Documents.Documents" }o--|| "Documents.Documents" : "ParentDocumentId"
erDiagram
"Documents.DbObjectStore" {
uniqueidentifier Id PK
varbinary Content
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentChapterMetadata" {
uniqueidentifier Id PK
nvarchar Key
nvarchar Value
uniqueidentifier Tenant
uniqueidentifier DocumentChapterId FK
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentChapters" {
uniqueidentifier Id PK
bigint FileSize
nvarchar DocumentChapterCategory
nvarchar MD5Hash
nvarchar SHA1Hash
nvarchar InternalReference
nvarchar ChapterReference
uniqueidentifier DocumentId FK
uniqueidentifier DocumentChapterTypeImplementationId
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentExecutionHistories" {
uniqueidentifier Id PK
uniqueidentifier DocumentId FK
uniqueidentifier DocumentChapterId
datetimeoffset DocumentStoreTriggerDateTime
datetimeoffset DocumentExecutionStartDateTime
datetimeoffset DocumentExecutionEndDateTime
nvarchar ErrorMessage
nvarchar ErrorStackTrace
nvarchar ErrorInnerExceptionTree
nvarchar ErrorBaseException
varbinary ErrorExceptionObject
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
uniqueidentifier DocumentActionImplementationId
uniqueidentifier DocumentChapterActionImplementationId
bit Concealed
}
"Documents.DocumentExecutionProcessingLogs" {
uniqueidentifier Id PK
uniqueidentifier DocumentExecutionHistoryId FK
uniqueidentifier CommandId
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.DocumentGenerationItems" {
}
"Documents.DocumentGroups" {
uniqueidentifier Id PK
nvarchar ExternalReference
bit SuppressAutomaticProcessing
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
int PriorityType
}
"Documents.DocumentMetadata" {
uniqueidentifier Id PK
nvarchar Key
nvarchar Value
uniqueidentifier DocumentId FK
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
bit Concealed
}
"Documents.Documents" {
uniqueidentifier Id PK
uniqueidentifier DocumentGroupId FK
nvarchar FileName
datetimeoffset Created
nvarchar DocumentCategory
nvarchar DocumentSubCategory
nvarchar DocumentSubSubCategory
nvarchar DocumentTypeName
int DocumentDirectionType
int DocumentFormat
bigint FileSize
nvarchar MD5Hash
nvarchar SHA1Hash
nvarchar InternalReference
nvarchar MessageId
uniqueidentifier DocumentTypeImplementationId
uniqueidentifier Tenant
datetimeoffset EntityCreatedDateTime
datetimeoffset EntityUpdatedDateTime
uniqueidentifier EntityCreatedAuthToken
uniqueidentifier EntityUpdatedAuthToken
uniqueidentifier ParentDocumentId FK
nvarchar ExternalReference
nvarchar Sender
nvarchar Receiver
nvarchar CorrelationId
datetimeoffset PeriodStart
datetimeoffset PeriodEnd
bit Concealed
datetimeoffset MessageTimestamp
}
"Documents.DocumentChapterMetadata" }o--|| "Documents.DocumentChapters" : "DocumentChapterId"
"Documents.DocumentChapters" }o--|| "Documents.Documents" : "DocumentId"
"Documents.DocumentExecutionHistories" }o--|| "Documents.Documents" : "DocumentId"
"Documents.DocumentExecutionProcessingLogs" }o--|| "Documents.DocumentExecutionHistories" : "DocumentExecutionHistoryId"
"Documents.Documents" }o--|| "Documents.DocumentGroups" : "DocumentGroupId"
"Documents.DocumentMetadata" }o--|| "Documents.Documents" : "DocumentId"
"Documents.Documents" }o--|| "Documents.Documents" : "ParentDocumentId"
{
"definitions": {
"Documents.DocumentGroups": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"ExternalReference": {
"type": "string",
"description": "nvarchar"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"SuppressAutomaticProcessing": {
"type": "boolean",
"description": "bit"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"PriorityType": {
"type": "integer",
"description": "int"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
}
},
"type": "object"
},
"Documents.DbObjectStore": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Content": {
"type": "string",
"description": "varbinary"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
}
},
"type": "object"
},
"Documents.DocumentExecutionHistories": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"DocumentStoreTriggerDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"ErrorStackTrace": {
"type": "string",
"description": "nvarchar"
},
"DocumentExecutionEndDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"DocumentExecutionStartDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"ErrorInnerExceptionTree": {
"type": "string",
"description": "nvarchar"
},
"DocumentChapterActionImplementationId": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"ErrorExceptionObject": {
"type": "string",
"description": "varbinary"
},
"DocumentChapterId": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"DocumentId": {
"type": "string",
"description": "FK to Documents.Documents"
},
"ErrorMessage": {
"type": "string",
"description": "nvarchar"
},
"DocumentActionImplementationId": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"ErrorBaseException": {
"type": "string",
"description": "nvarchar"
}
},
"type": "object"
},
"Documents.DocumentChapters": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"DocumentChapterCategory": {
"type": "string",
"description": "nvarchar"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"DocumentChapterTypeImplementationId": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"ChapterReference": {
"type": "string",
"description": "nvarchar"
},
"FileSize": {
"type": "string",
"description": "bigint"
},
"SHA1Hash": {
"type": "string",
"description": "nvarchar"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"InternalReference": {
"type": "string",
"description": "nvarchar"
},
"DocumentId": {
"type": "string",
"description": "FK to Documents.Documents"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"MD5Hash": {
"type": "string",
"description": "nvarchar"
}
},
"type": "object"
},
"Documents.DocumentChapterMetadata": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Key": {
"type": "string",
"description": "nvarchar"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Value": {
"type": "string",
"description": "nvarchar"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"DocumentChapterId": {
"type": "string",
"description": "FK to Documents.DocumentChapters"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
}
},
"type": "object"
},
"Documents.Documents": {
"properties": {
"FileName": {
"type": "string",
"description": "nvarchar"
},
"Sender": {
"type": "string",
"description": "nvarchar"
},
"MessageId": {
"type": "string",
"description": "nvarchar"
},
"FileSize": {
"type": "string",
"description": "bigint"
},
"Created": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"InternalReference": {
"type": "string",
"description": "nvarchar"
},
"Receiver": {
"type": "string",
"description": "nvarchar"
},
"DocumentCategory": {
"type": "string",
"description": "nvarchar"
},
"DocumentDirectionType": {
"type": "integer",
"description": "int"
},
"CorrelationId": {
"type": "string",
"description": "nvarchar"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"DocumentGroupId": {
"type": "string",
"description": "FK to Documents.DocumentGroups"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"ParentDocumentId": {
"type": "string",
"description": "FK to Documents.Documents"
},
"DocumentSubCategory": {
"type": "string",
"description": "nvarchar"
},
"PeriodStart": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"DocumentSubSubCategory": {
"type": "string",
"description": "nvarchar"
},
"DocumentTypeImplementationId": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"PeriodEnd": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"ExternalReference": {
"type": "string",
"description": "nvarchar"
},
"DocumentFormat": {
"type": "integer",
"description": "int"
},
"DocumentTypeName": {
"type": "string",
"description": "nvarchar"
},
"MessageTimestamp": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"Concealed": {
"type": "boolean",
"description": "bit"
},
"SHA1Hash": {
"type": "string",
"description": "nvarchar"
},
"MD5Hash": {
"type": "string",
"description": "nvarchar"
}
},
"type": "object"
},
"Documents.DocumentExecutionProcessingLogs": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"DocumentExecutionHistoryId": {
"type": "string",
"description": "FK to Documents.DocumentExecutionHistories"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"CommandId": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
}
},
"type": "object"
},
"Documents.DocumentGenerationItems": {
"properties": {
},
"type": "object"
},
"Documents.DocumentMetadata": {
"properties": {
"Concealed": {
"type": "boolean",
"description": "bit"
},
"EntityUpdatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Id": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Key": {
"type": "string",
"description": "nvarchar"
},
"EntityCreatedAuthToken": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
},
"Value": {
"type": "string",
"description": "nvarchar"
},
"EntityCreatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"EntityUpdatedDateTime": {
"format": "date-time",
"description": "datetimeoffset",
"type": "string"
},
"DocumentId": {
"type": "string",
"description": "FK to Documents.Documents"
},
"Tenant": {
"format": "uuid",
"description": "uniqueidentifier",
"type": "string"
}
},
"type": "object"
}
},
"title": "Documents.DocumentStoreComposer",
"$comment": "Generated from Mermaid ERD with property-level descriptions",
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object"
}