This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Process module

The documentation of the Vertex Process module

1 - Process 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

Process Execution

Aggregate Root: ProcessExecution

Represents the execution of business processes with associated tasks and user tracking.

erDiagram
    "Process.ProcessExecutions" {
        uniqueidentifier Id PK
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "Process.ProcessExecutionsFollowedByUsers" {
        uniqueidentifier UserId PK
        uniqueidentifier ProcessExecutionId PK
    }

    "Process.RelatedEntities" {
        uniqueidentifier Id PK
        nvarchar Label 
        uniqueidentifier EntityId 
        uniqueidentifier EntityImplementationId 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "Process.TaskRelatedEntities" {
        uniqueidentifier RelatedEntityId PK
        uniqueidentifier TaskId PK
    }

    "Process.TaskStatus" {
        uniqueidentifier Id PK
        int StatusType 
        nvarchar Reason 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        uniqueidentifier TaskId FK
        datetimeoffset Since 
        int StatusReasonType 
        bit Concealed 
    }

    "Process.Tasks" {
        uniqueidentifier Id PK
        uniqueidentifier ProcessExecutionId FK
        nvarchar Name 
        nvarchar Description 
        uniqueidentifier CreatorUserId 
        nvarchar InternalReference 
        nvarchar ExternalReference 
        datetimeoffset ValidFrom 
        datetimeoffset ValidUntil 
        datetimeoffset DueDate 
        int Priority 
        nvarchar Context 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        uniqueidentifier ChatId 
        uniqueidentifier AssignedUserId 
        uniqueidentifier AssignedByUserId 
        nvarchar InheritanceType 
        uniqueidentifier TaskGroupId 
        bit Concealed 
    }

    "Process.TasksFollowedByUsers" {
        uniqueidentifier TaskId PK
        uniqueidentifier UserId PK
    }

    "Process.TasksPinnedByUsers" {
        uniqueidentifier TaskId PK
        uniqueidentifier UserId PK
    }

    "Process.ProcessExecutionsFollowedByUsers" }o--|| "Process.ProcessExecutions" : "ProcessExecutionId"
    "Process.Tasks" }o--|| "Process.ProcessExecutions" : "ProcessExecutionId"
    "Process.TaskRelatedEntities" }o--|| "Process.RelatedEntities" : "RelatedEntityId"
    "Process.TaskRelatedEntities" }o--|| "Process.Tasks" : "TaskId"
    "Process.TaskStatus" }o--|| "Process.Tasks" : "TaskId"
    "Process.TasksFollowedByUsers" }o--|| "Process.Tasks" : "TaskId"
    "Process.TasksPinnedByUsers" }o--|| "Process.Tasks" : "TaskId"
erDiagram
    "Process.ProcessExecutions" {
        uniqueidentifier Id PK
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "Process.ProcessExecutionsFollowedByUsers" {
        uniqueidentifier UserId PK
        uniqueidentifier ProcessExecutionId PK
    }

    "Process.RelatedEntities" {
        uniqueidentifier Id PK
        nvarchar Label 
        uniqueidentifier EntityId 
        uniqueidentifier EntityImplementationId 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "Process.TaskRelatedEntities" {
        uniqueidentifier RelatedEntityId PK
        uniqueidentifier TaskId PK
    }

    "Process.TaskStatus" {
        uniqueidentifier Id PK
        int StatusType 
        nvarchar Reason 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        uniqueidentifier TaskId FK
        datetimeoffset Since 
        int StatusReasonType 
        bit Concealed 
    }

    "Process.Tasks" {
        uniqueidentifier Id PK
        uniqueidentifier ProcessExecutionId FK
        nvarchar Name 
        nvarchar Description 
        uniqueidentifier CreatorUserId 
        nvarchar InternalReference 
        nvarchar ExternalReference 
        datetimeoffset ValidFrom 
        datetimeoffset ValidUntil 
        datetimeoffset DueDate 
        int Priority 
        nvarchar Context 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        uniqueidentifier ChatId 
        uniqueidentifier AssignedUserId 
        uniqueidentifier AssignedByUserId 
        nvarchar InheritanceType 
        uniqueidentifier TaskGroupId 
        bit Concealed 
    }

    "Process.TasksFollowedByUsers" {
        uniqueidentifier TaskId PK
        uniqueidentifier UserId PK
    }

    "Process.TasksPinnedByUsers" {
        uniqueidentifier TaskId PK
        uniqueidentifier UserId PK
    }

    "Process.ProcessExecutionsFollowedByUsers" }o--|| "Process.ProcessExecutions" : "ProcessExecutionId"
    "Process.Tasks" }o--|| "Process.ProcessExecutions" : "ProcessExecutionId"
    "Process.TaskRelatedEntities" }o--|| "Process.RelatedEntities" : "RelatedEntityId"
    "Process.TaskRelatedEntities" }o--|| "Process.Tasks" : "TaskId"
    "Process.TaskStatus" }o--|| "Process.Tasks" : "TaskId"
    "Process.TasksFollowedByUsers" }o--|| "Process.Tasks" : "TaskId"
    "Process.TasksPinnedByUsers" }o--|| "Process.Tasks" : "TaskId"
{
    "definitions":  {
                        "Process.ProcessExecutionsFollowedByUsers":  {
                                                                         "properties":  {
                                                                                            "UserId":  {
                                                                                                           "format":  "uuid",
                                                                                                           "description":  "uniqueidentifier",
                                                                                                           "type":  "string"
                                                                                                       },
                                                                                            "ProcessExecutionId":  {
                                                                                                                       "type":  "string",
                                                                                                                       "description":  "FK to Process.ProcessExecutions"
                                                                                                                   }
                                                                                        },
                                                                         "type":  "object"
                                                                     },
                        "Process.TaskRelatedEntities":  {
                                                            "properties":  {
                                                                               "RelatedEntityId":  {
                                                                                                       "type":  "string",
                                                                                                       "description":  "FK to Process.RelatedEntities"
                                                                                                   },
                                                                               "TaskId":  {
                                                                                              "type":  "string",
                                                                                              "description":  "FK to Process.Tasks"
                                                                                          }
                                                                           },
                                                            "type":  "object"
                                                        },
                        "Process.RelatedEntities":  {
                                                        "properties":  {
                                                                           "Concealed":  {
                                                                                             "type":  "boolean",
                                                                                             "description":  "bit"
                                                                                         },
                                                                           "EntityUpdatedAuthToken":  {
                                                                                                          "format":  "uuid",
                                                                                                          "description":  "uniqueidentifier",
                                                                                                          "type":  "string"
                                                                                                      },
                                                                           "Id":  {
                                                                                      "format":  "uuid",
                                                                                      "description":  "uniqueidentifier",
                                                                                      "type":  "string"
                                                                                  },
                                                                           "Label":  {
                                                                                         "type":  "string",
                                                                                         "description":  "nvarchar"
                                                                                     },
                                                                           "EntityCreatedDateTime":  {
                                                                                                         "format":  "date-time",
                                                                                                         "description":  "datetimeoffset",
                                                                                                         "type":  "string"
                                                                                                     },
                                                                           "EntityImplementationId":  {
                                                                                                          "format":  "uuid",
                                                                                                          "description":  "uniqueidentifier",
                                                                                                          "type":  "string"
                                                                                                      },
                                                                           "EntityUpdatedDateTime":  {
                                                                                                         "format":  "date-time",
                                                                                                         "description":  "datetimeoffset",
                                                                                                         "type":  "string"
                                                                                                     },
                                                                           "EntityId":  {
                                                                                            "format":  "uuid",
                                                                                            "description":  "uniqueidentifier",
                                                                                            "type":  "string"
                                                                                        },
                                                                           "EntityCreatedAuthToken":  {
                                                                                                          "format":  "uuid",
                                                                                                          "description":  "uniqueidentifier",
                                                                                                          "type":  "string"
                                                                                                      },
                                                                           "Tenant":  {
                                                                                          "format":  "uuid",
                                                                                          "description":  "uniqueidentifier",
                                                                                          "type":  "string"
                                                                                      }
                                                                       },
                                                        "type":  "object"
                                                    },
                        "Process.TaskStatus":  {
                                                   "properties":  {
                                                                      "Id":  {
                                                                                 "format":  "uuid",
                                                                                 "description":  "uniqueidentifier",
                                                                                 "type":  "string"
                                                                             },
                                                                      "StatusReasonType":  {
                                                                                               "type":  "integer",
                                                                                               "description":  "int"
                                                                                           },
                                                                      "Concealed":  {
                                                                                        "type":  "boolean",
                                                                                        "description":  "bit"
                                                                                    },
                                                                      "EntityCreatedAuthToken":  {
                                                                                                     "format":  "uuid",
                                                                                                     "description":  "uniqueidentifier",
                                                                                                     "type":  "string"
                                                                                                 },
                                                                      "EntityUpdatedDateTime":  {
                                                                                                    "format":  "date-time",
                                                                                                    "description":  "datetimeoffset",
                                                                                                    "type":  "string"
                                                                                                },
                                                                      "Reason":  {
                                                                                     "type":  "string",
                                                                                     "description":  "nvarchar"
                                                                                 },
                                                                      "StatusType":  {
                                                                                         "type":  "integer",
                                                                                         "description":  "int"
                                                                                     },
                                                                      "Since":  {
                                                                                    "format":  "date-time",
                                                                                    "description":  "datetimeoffset",
                                                                                    "type":  "string"
                                                                                },
                                                                      "Tenant":  {
                                                                                     "format":  "uuid",
                                                                                     "description":  "uniqueidentifier",
                                                                                     "type":  "string"
                                                                                 },
                                                                      "TaskId":  {
                                                                                     "type":  "string",
                                                                                     "description":  "FK to Process.Tasks"
                                                                                 },
                                                                      "EntityCreatedDateTime":  {
                                                                                                    "format":  "date-time",
                                                                                                    "description":  "datetimeoffset",
                                                                                                    "type":  "string"
                                                                                                },
                                                                      "EntityUpdatedAuthToken":  {
                                                                                                     "format":  "uuid",
                                                                                                     "description":  "uniqueidentifier",
                                                                                                     "type":  "string"
                                                                                                 }
                                                                  },
                                                   "type":  "object"
                                               },
                        "Process.Tasks":  {
                                              "properties":  {
                                                                 "Concealed":  {
                                                                                   "type":  "boolean",
                                                                                   "description":  "bit"
                                                                               },
                                                                 "TaskGroupId":  {
                                                                                     "format":  "uuid",
                                                                                     "description":  "uniqueidentifier",
                                                                                     "type":  "string"
                                                                                 },
                                                                 "Description":  {
                                                                                     "type":  "string",
                                                                                     "description":  "nvarchar"
                                                                                 },
                                                                 "Priority":  {
                                                                                  "type":  "integer",
                                                                                  "description":  "int"
                                                                              },
                                                                 "Name":  {
                                                                              "type":  "string",
                                                                              "description":  "nvarchar"
                                                                          },
                                                                 "ChatId":  {
                                                                                "format":  "uuid",
                                                                                "description":  "uniqueidentifier",
                                                                                "type":  "string"
                                                                            },
                                                                 "AssignedUserId":  {
                                                                                        "format":  "uuid",
                                                                                        "description":  "uniqueidentifier",
                                                                                        "type":  "string"
                                                                                    },
                                                                 "ValidUntil":  {
                                                                                    "format":  "date-time",
                                                                                    "description":  "datetimeoffset",
                                                                                    "type":  "string"
                                                                                },
                                                                 "EntityCreatedAuthToken":  {
                                                                                                "format":  "uuid",
                                                                                                "description":  "uniqueidentifier",
                                                                                                "type":  "string"
                                                                                            },
                                                                 "DueDate":  {
                                                                                 "format":  "date-time",
                                                                                 "description":  "datetimeoffset",
                                                                                 "type":  "string"
                                                                             },
                                                                 "CreatorUserId":  {
                                                                                       "format":  "uuid",
                                                                                       "description":  "uniqueidentifier",
                                                                                       "type":  "string"
                                                                                   },
                                                                 "Context":  {
                                                                                 "type":  "string",
                                                                                 "description":  "nvarchar"
                                                                             },
                                                                 "EntityUpdatedDateTime":  {
                                                                                               "format":  "date-time",
                                                                                               "description":  "datetimeoffset",
                                                                                               "type":  "string"
                                                                                           },
                                                                 "ProcessExecutionId":  {
                                                                                            "type":  "string",
                                                                                            "description":  "FK to Process.ProcessExecutions"
                                                                                        },
                                                                 "ValidFrom":  {
                                                                                   "format":  "date-time",
                                                                                   "description":  "datetimeoffset",
                                                                                   "type":  "string"
                                                                               },
                                                                 "Tenant":  {
                                                                                "format":  "uuid",
                                                                                "description":  "uniqueidentifier",
                                                                                "type":  "string"
                                                                            },
                                                                 "InternalReference":  {
                                                                                           "type":  "string",
                                                                                           "description":  "nvarchar"
                                                                                       },
                                                                 "ExternalReference":  {
                                                                                           "type":  "string",
                                                                                           "description":  "nvarchar"
                                                                                       },
                                                                 "AssignedByUserId":  {
                                                                                          "format":  "uuid",
                                                                                          "description":  "uniqueidentifier",
                                                                                          "type":  "string"
                                                                                      },
                                                                 "Id":  {
                                                                            "format":  "uuid",
                                                                            "description":  "uniqueidentifier",
                                                                            "type":  "string"
                                                                        },
                                                                 "InheritanceType":  {
                                                                                         "type":  "string",
                                                                                         "description":  "nvarchar"
                                                                                     },
                                                                 "EntityCreatedDateTime":  {
                                                                                               "format":  "date-time",
                                                                                               "description":  "datetimeoffset",
                                                                                               "type":  "string"
                                                                                           },
                                                                 "EntityUpdatedAuthToken":  {
                                                                                                "format":  "uuid",
                                                                                                "description":  "uniqueidentifier",
                                                                                                "type":  "string"
                                                                                            }
                                                             },
                                              "type":  "object"
                                          },
                        "Process.ProcessExecutions":  {
                                                          "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"
                                                                                                       },
                                                                             "EntityUpdatedDateTime":  {
                                                                                                           "format":  "date-time",
                                                                                                           "description":  "datetimeoffset",
                                                                                                           "type":  "string"
                                                                                                       },
                                                                             "EntityCreatedAuthToken":  {
                                                                                                            "format":  "uuid",
                                                                                                            "description":  "uniqueidentifier",
                                                                                                            "type":  "string"
                                                                                                        },
                                                                             "Tenant":  {
                                                                                            "format":  "uuid",
                                                                                            "description":  "uniqueidentifier",
                                                                                            "type":  "string"
                                                                                        }
                                                                         },
                                                          "type":  "object"
                                                      },
                        "Process.TasksFollowedByUsers":  {
                                                             "properties":  {
                                                                                "UserId":  {
                                                                                               "format":  "uuid",
                                                                                               "description":  "uniqueidentifier",
                                                                                               "type":  "string"
                                                                                           },
                                                                                "TaskId":  {
                                                                                               "type":  "string",
                                                                                               "description":  "FK to Process.Tasks"
                                                                                           }
                                                                            },
                                                             "type":  "object"
                                                         },
                        "Process.TasksPinnedByUsers":  {
                                                           "properties":  {
                                                                              "UserId":  {
                                                                                             "format":  "uuid",
                                                                                             "description":  "uniqueidentifier",
                                                                                             "type":  "string"
                                                                                         },
                                                                              "TaskId":  {
                                                                                             "type":  "string",
                                                                                             "description":  "FK to Process.Tasks"
                                                                                         }
                                                                          },
                                                           "type":  "object"
                                                       }
                    },
    "title":  "Process.ProcessExecution",
    "$comment":  "Generated from Mermaid ERD with property-level descriptions",
    "$schema":  "http://json-schema.org/draft-07/schema#",
    "type":  "object"
}