IAM 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

User

Aggregate Root: User

Represents users in the system with their authentication and authorization information.

erDiagram
    "IAM.OpenIdProviderUserSessions" {
        bigint TokenRegisteredTimestamp PK
        nvarchar JwtId PK
        uniqueidentifier UserId 
        nvarchar Username 
        uniqueidentifier AuthToken 
        nvarchar InitialIpAddress 
        varbinary RolesHash 
        varbinary PermissionsHash 
    }

    "IAM.UserSessionKeyValues" {
        uniqueidentifier Id PK
        uniqueidentifier UserSessionId FK
        nvarchar Key 
        nvarchar Value 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.UserSessionRoles" {
        uniqueidentifier Id PK
        uniqueidentifier UserSessionId FK
        nvarchar RoleName 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.UserSessions" {
        uniqueidentifier Id PK
        uniqueidentifier UserId FK
        uniqueidentifier AuthToken 
        nvarchar IPaddress 
        datetimeoffset SessionCreatedDateTime 
        datetimeoffset SessionEndDateTime 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        nvarchar DeviceDescription 
        bit Concealed 
        nvarchar SessionIdentifier 
        nvarchar IdentityProviderDescription 
        varbinary PermissionsHash 
        varbinary RolesHash 
        nvarchar UserIdentifier 
        nvarchar Username 
    }

    "IAM.Users" {
        uniqueidentifier Id PK
        nvarchar FirstName 
        nvarchar LastName 
        nvarchar Username 
        nvarchar Email 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        nvarchar ShortName 
        nvarchar ColorCode 
        bit HasAvatar 
        bit Concealed 
        nvarchar UserIdentifier 
        nvarchar DisplayName 
    }

    "IAM.UsersInUserGroup" {
        uniqueidentifier UserGroupId PK
        uniqueidentifier UserId PK
    }

    "IAM.UserSessionKeyValues" }o--|| "IAM.UserSessions" : "UserSessionId"
    "IAM.UserSessionRoles" }o--|| "IAM.UserSessions" : "UserSessionId"
    "IAM.UserSessions" }o--|| "IAM.Users" : "UserId"
    "IAM.TeamMemberSet" }o--|| "IAM.Users" : "UserId"
    "IAM.UsersInUserGroup" }o--|| "IAM.Users" : "UserId"
    "IAM.UsersInUserGroup" }o--|| "IAM.UserGroups" : "UserGroupId"
erDiagram
    "IAM.OpenIdProviderUserSessions" {
        bigint TokenRegisteredTimestamp PK
        nvarchar JwtId PK
        uniqueidentifier UserId 
        nvarchar Username 
        uniqueidentifier AuthToken 
        nvarchar InitialIpAddress 
        varbinary RolesHash 
        varbinary PermissionsHash 
    }

    "IAM.UserSessionKeyValues" {
        uniqueidentifier Id PK
        uniqueidentifier UserSessionId FK
        nvarchar Key 
        nvarchar Value 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.UserSessionRoles" {
        uniqueidentifier Id PK
        uniqueidentifier UserSessionId FK
        nvarchar RoleName 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.UserSessions" {
        uniqueidentifier Id PK
        uniqueidentifier UserId FK
        uniqueidentifier AuthToken 
        nvarchar IPaddress 
        datetimeoffset SessionCreatedDateTime 
        datetimeoffset SessionEndDateTime 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        nvarchar DeviceDescription 
        bit Concealed 
        nvarchar SessionIdentifier 
        nvarchar IdentityProviderDescription 
        varbinary PermissionsHash 
        varbinary RolesHash 
        nvarchar UserIdentifier 
        nvarchar Username 
    }

    "IAM.Users" {
        uniqueidentifier Id PK
        nvarchar FirstName 
        nvarchar LastName 
        nvarchar Username 
        nvarchar Email 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        nvarchar ShortName 
        nvarchar ColorCode 
        bit HasAvatar 
        bit Concealed 
        nvarchar UserIdentifier 
        nvarchar DisplayName 
    }

    "IAM.UsersInUserGroup" {
        uniqueidentifier UserGroupId PK
        uniqueidentifier UserId PK
    }

    "IAM.UserSessionKeyValues" }o--|| "IAM.UserSessions" : "UserSessionId"
    "IAM.UserSessionRoles" }o--|| "IAM.UserSessions" : "UserSessionId"
    "IAM.UserSessions" }o--|| "IAM.Users" : "UserId"
    "IAM.TeamMemberSet" }o--|| "IAM.Users" : "UserId"
    "IAM.UsersInUserGroup" }o--|| "IAM.Users" : "UserId"
    "IAM.UsersInUserGroup" }o--|| "IAM.UserGroups" : "UserGroupId"
{
    "definitions":  {
                        "IAM.UserSessionRoles":  {
                                                     "properties":  {
                                                                        "Concealed":  {
                                                                                          "type":  "boolean",
                                                                                          "description":  "bit"
                                                                                      },
                                                                        "RoleName":  {
                                                                                         "type":  "string",
                                                                                         "description":  "nvarchar"
                                                                                     },
                                                                        "Id":  {
                                                                                   "format":  "uuid",
                                                                                   "description":  "uniqueidentifier",
                                                                                   "type":  "string"
                                                                               },
                                                                        "UserSessionId":  {
                                                                                              "type":  "string",
                                                                                              "description":  "FK to IAM.UserSessions"
                                                                                          },
                                                                        "EntityUpdatedAuthToken":  {
                                                                                                       "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"
                                                 },
                        "IAM.Users":  {
                                          "properties":  {
                                                             "LastName":  {
                                                                              "type":  "string",
                                                                              "description":  "nvarchar"
                                                                          },
                                                             "EntityUpdatedAuthToken":  {
                                                                                            "format":  "uuid",
                                                                                            "description":  "uniqueidentifier",
                                                                                            "type":  "string"
                                                                                        },
                                                             "Concealed":  {
                                                                               "type":  "boolean",
                                                                               "description":  "bit"
                                                                           },
                                                             "Username":  {
                                                                              "type":  "string",
                                                                              "description":  "nvarchar"
                                                                          },
                                                             "EntityCreatedAuthToken":  {
                                                                                            "format":  "uuid",
                                                                                            "description":  "uniqueidentifier",
                                                                                            "type":  "string"
                                                                                        },
                                                             "FirstName":  {
                                                                               "type":  "string",
                                                                               "description":  "nvarchar"
                                                                           },
                                                             "DisplayName":  {
                                                                                 "type":  "string",
                                                                                 "description":  "nvarchar"
                                                                             },
                                                             "ColorCode":  {
                                                                               "type":  "string",
                                                                               "description":  "nvarchar"
                                                                           },
                                                             "EntityUpdatedDateTime":  {
                                                                                           "format":  "date-time",
                                                                                           "description":  "datetimeoffset",
                                                                                           "type":  "string"
                                                                                       },
                                                             "UserIdentifier":  {
                                                                                    "type":  "string",
                                                                                    "description":  "nvarchar"
                                                                                },
                                                             "Tenant":  {
                                                                            "format":  "uuid",
                                                                            "description":  "uniqueidentifier",
                                                                            "type":  "string"
                                                                        },
                                                             "Id":  {
                                                                        "format":  "uuid",
                                                                        "description":  "uniqueidentifier",
                                                                        "type":  "string"
                                                                    },
                                                             "HasAvatar":  {
                                                                               "type":  "boolean",
                                                                               "description":  "bit"
                                                                           },
                                                             "EntityCreatedDateTime":  {
                                                                                           "format":  "date-time",
                                                                                           "description":  "datetimeoffset",
                                                                                           "type":  "string"
                                                                                       },
                                                             "ShortName":  {
                                                                               "type":  "string",
                                                                               "description":  "nvarchar"
                                                                           },
                                                             "Email":  {
                                                                           "type":  "string",
                                                                           "description":  "nvarchar"
                                                                       }
                                                         },
                                          "type":  "object"
                                      },
                        "IAM.UsersInUserGroup":  {
                                                     "properties":  {
                                                                        "UserId":  {
                                                                                       "type":  "string",
                                                                                       "description":  "FK to IAM.Users"
                                                                                   },
                                                                        "UserGroupId":  {
                                                                                            "type":  "string",
                                                                                            "description":  "FK to IAM.UserGroups"
                                                                                        }
                                                                    },
                                                     "type":  "object"
                                                 },
                        "IAM.OpenIdProviderUserSessions":  {
                                                               "properties":  {
                                                                                  "AuthToken":  {
                                                                                                    "format":  "uuid",
                                                                                                    "description":  "uniqueidentifier",
                                                                                                    "type":  "string"
                                                                                                },
                                                                                  "Username":  {
                                                                                                   "type":  "string",
                                                                                                   "description":  "nvarchar"
                                                                                               },
                                                                                  "TokenRegisteredTimestamp":  {
                                                                                                                   "type":  "string",
                                                                                                                   "description":  "bigint"
                                                                                                               },
                                                                                  "RolesHash":  {
                                                                                                    "type":  "string",
                                                                                                    "description":  "varbinary"
                                                                                                },
                                                                                  "PermissionsHash":  {
                                                                                                          "type":  "string",
                                                                                                          "description":  "varbinary"
                                                                                                      },
                                                                                  "UserId":  {
                                                                                                 "format":  "uuid",
                                                                                                 "description":  "uniqueidentifier",
                                                                                                 "type":  "string"
                                                                                             },
                                                                                  "InitialIpAddress":  {
                                                                                                           "type":  "string",
                                                                                                           "description":  "nvarchar"
                                                                                                       },
                                                                                  "JwtId":  {
                                                                                                "type":  "string",
                                                                                                "description":  "nvarchar"
                                                                                            }
                                                                              },
                                                               "type":  "object"
                                                           },
                        "IAM.UserSessionKeyValues":  {
                                                         "properties":  {
                                                                            "Concealed":  {
                                                                                              "type":  "boolean",
                                                                                              "description":  "bit"
                                                                                          },
                                                                            "EntityUpdatedAuthToken":  {
                                                                                                           "format":  "uuid",
                                                                                                           "description":  "uniqueidentifier",
                                                                                                           "type":  "string"
                                                                                                       },
                                                                            "Id":  {
                                                                                       "format":  "uuid",
                                                                                       "description":  "uniqueidentifier",
                                                                                       "type":  "string"
                                                                                   },
                                                                            "EntityCreatedAuthToken":  {
                                                                                                           "format":  "uuid",
                                                                                                           "description":  "uniqueidentifier",
                                                                                                           "type":  "string"
                                                                                                       },
                                                                            "Key":  {
                                                                                        "type":  "string",
                                                                                        "description":  "nvarchar"
                                                                                    },
                                                                            "UserSessionId":  {
                                                                                                  "type":  "string",
                                                                                                  "description":  "FK to IAM.UserSessions"
                                                                                              },
                                                                            "Value":  {
                                                                                          "type":  "string",
                                                                                          "description":  "nvarchar"
                                                                                      },
                                                                            "EntityUpdatedDateTime":  {
                                                                                                          "format":  "date-time",
                                                                                                          "description":  "datetimeoffset",
                                                                                                          "type":  "string"
                                                                                                      },
                                                                            "EntityCreatedDateTime":  {
                                                                                                          "format":  "date-time",
                                                                                                          "description":  "datetimeoffset",
                                                                                                          "type":  "string"
                                                                                                      },
                                                                            "Tenant":  {
                                                                                           "format":  "uuid",
                                                                                           "description":  "uniqueidentifier",
                                                                                           "type":  "string"
                                                                                       }
                                                                        },
                                                         "type":  "object"
                                                     },
                        "IAM.UserSessions":  {
                                                 "properties":  {
                                                                    "Id":  {
                                                                               "format":  "uuid",
                                                                               "description":  "uniqueidentifier",
                                                                               "type":  "string"
                                                                           },
                                                                    "SessionEndDateTime":  {
                                                                                               "format":  "date-time",
                                                                                               "description":  "datetimeoffset",
                                                                                               "type":  "string"
                                                                                           },
                                                                    "IPaddress":  {
                                                                                      "type":  "string",
                                                                                      "description":  "nvarchar"
                                                                                  },
                                                                    "Concealed":  {
                                                                                      "type":  "boolean",
                                                                                      "description":  "bit"
                                                                                  },
                                                                    "IdentityProviderDescription":  {
                                                                                                        "type":  "string",
                                                                                                        "description":  "nvarchar"
                                                                                                    },
                                                                    "Username":  {
                                                                                     "type":  "string",
                                                                                     "description":  "nvarchar"
                                                                                 },
                                                                    "SessionIdentifier":  {
                                                                                              "type":  "string",
                                                                                              "description":  "nvarchar"
                                                                                          },
                                                                    "EntityCreatedAuthToken":  {
                                                                                                   "format":  "uuid",
                                                                                                   "description":  "uniqueidentifier",
                                                                                                   "type":  "string"
                                                                                               },
                                                                    "AuthToken":  {
                                                                                      "format":  "uuid",
                                                                                      "description":  "uniqueidentifier",
                                                                                      "type":  "string"
                                                                                  },
                                                                    "SessionCreatedDateTime":  {
                                                                                                   "format":  "date-time",
                                                                                                   "description":  "datetimeoffset",
                                                                                                   "type":  "string"
                                                                                               },
                                                                    "EntityUpdatedDateTime":  {
                                                                                                  "format":  "date-time",
                                                                                                  "description":  "datetimeoffset",
                                                                                                  "type":  "string"
                                                                                              },
                                                                    "RolesHash":  {
                                                                                      "type":  "string",
                                                                                      "description":  "varbinary"
                                                                                  },
                                                                    "UserId":  {
                                                                                   "type":  "string",
                                                                                   "description":  "FK to IAM.Users"
                                                                               },
                                                                    "DeviceDescription":  {
                                                                                              "type":  "string",
                                                                                              "description":  "nvarchar"
                                                                                          },
                                                                    "Tenant":  {
                                                                                   "format":  "uuid",
                                                                                   "description":  "uniqueidentifier",
                                                                                   "type":  "string"
                                                                               },
                                                                    "EntityCreatedDateTime":  {
                                                                                                  "format":  "date-time",
                                                                                                  "description":  "datetimeoffset",
                                                                                                  "type":  "string"
                                                                                              },
                                                                    "UserIdentifier":  {
                                                                                           "type":  "string",
                                                                                           "description":  "nvarchar"
                                                                                       },
                                                                    "PermissionsHash":  {
                                                                                            "type":  "string",
                                                                                            "description":  "varbinary"
                                                                                        },
                                                                    "EntityUpdatedAuthToken":  {
                                                                                                   "format":  "uuid",
                                                                                                   "description":  "uniqueidentifier",
                                                                                                   "type":  "string"
                                                                                               }
                                                                },
                                                 "type":  "object"
                                             }
                    },
    "title":  "IAM.User",
    "$comment":  "Generated from Mermaid ERD with property-level descriptions",
    "$schema":  "http://json-schema.org/draft-07/schema#",
    "type":  "object"
}

Team

Aggregate Root: Team

Represents teams of users for organizational and collaborative purposes.

erDiagram
    "IAM.TeamMemberSet" {
        uniqueidentifier Id PK
        uniqueidentifier TeamId FK
        uniqueidentifier UserId FK
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.Teams" {
        uniqueidentifier Id PK
        nvarchar TeamName 
        nvarchar TeamDescription 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.TeamMemberSet" }o--|| "IAM.Teams" : "TeamId"
    "IAM.TeamMemberSet" }o--|| "IAM.Users" : "UserId"
erDiagram
    "IAM.TeamMemberSet" {
        uniqueidentifier Id PK
        uniqueidentifier TeamId FK
        uniqueidentifier UserId FK
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.Teams" {
        uniqueidentifier Id PK
        nvarchar TeamName 
        nvarchar TeamDescription 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit Concealed 
    }

    "IAM.TeamMemberSet" }o--|| "IAM.Teams" : "TeamId"
    "IAM.TeamMemberSet" }o--|| "IAM.Users" : "UserId"
{
    "definitions":  {
                        "IAM.TeamMemberSet":  {
                                                  "properties":  {
                                                                     "Concealed":  {
                                                                                       "type":  "boolean",
                                                                                       "description":  "bit"
                                                                                   },
                                                                     "EntityUpdatedAuthToken":  {
                                                                                                    "format":  "uuid",
                                                                                                    "description":  "uniqueidentifier",
                                                                                                    "type":  "string"
                                                                                                },
                                                                     "Id":  {
                                                                                "format":  "uuid",
                                                                                "description":  "uniqueidentifier",
                                                                                "type":  "string"
                                                                            },
                                                                     "TeamId":  {
                                                                                    "type":  "string",
                                                                                    "description":  "FK to IAM.Teams"
                                                                                },
                                                                     "EntityCreatedDateTime":  {
                                                                                                   "format":  "date-time",
                                                                                                   "description":  "datetimeoffset",
                                                                                                   "type":  "string"
                                                                                               },
                                                                     "EntityUpdatedDateTime":  {
                                                                                                   "format":  "date-time",
                                                                                                   "description":  "datetimeoffset",
                                                                                                   "type":  "string"
                                                                                               },
                                                                     "UserId":  {
                                                                                    "type":  "string",
                                                                                    "description":  "FK to IAM.Users"
                                                                                },
                                                                     "EntityCreatedAuthToken":  {
                                                                                                    "format":  "uuid",
                                                                                                    "description":  "uniqueidentifier",
                                                                                                    "type":  "string"
                                                                                                },
                                                                     "Tenant":  {
                                                                                    "format":  "uuid",
                                                                                    "description":  "uniqueidentifier",
                                                                                    "type":  "string"
                                                                                }
                                                                 },
                                                  "type":  "object"
                                              },
                        "IAM.Teams":  {
                                          "properties":  {
                                                             "Tenant":  {
                                                                            "format":  "uuid",
                                                                            "description":  "uniqueidentifier",
                                                                            "type":  "string"
                                                                        },
                                                             "EntityUpdatedAuthToken":  {
                                                                                            "format":  "uuid",
                                                                                            "description":  "uniqueidentifier",
                                                                                            "type":  "string"
                                                                                        },
                                                             "Id":  {
                                                                        "format":  "uuid",
                                                                        "description":  "uniqueidentifier",
                                                                        "type":  "string"
                                                                    },
                                                             "TeamDescription":  {
                                                                                     "type":  "string",
                                                                                     "description":  "nvarchar"
                                                                                 },
                                                             "Concealed":  {
                                                                               "type":  "boolean",
                                                                               "description":  "bit"
                                                                           },
                                                             "EntityCreatedDateTime":  {
                                                                                           "format":  "date-time",
                                                                                           "description":  "datetimeoffset",
                                                                                           "type":  "string"
                                                                                       },
                                                             "EntityUpdatedDateTime":  {
                                                                                           "format":  "date-time",
                                                                                           "description":  "datetimeoffset",
                                                                                           "type":  "string"
                                                                                       },
                                                             "EntityCreatedAuthToken":  {
                                                                                            "format":  "uuid",
                                                                                            "description":  "uniqueidentifier",
                                                                                            "type":  "string"
                                                                                        },
                                                             "TeamName":  {
                                                                              "type":  "string",
                                                                              "description":  "nvarchar"
                                                                          }
                                                         },
                                          "type":  "object"
                                      }
                    },
    "title":  "IAM.Team",
    "$comment":  "Generated from Mermaid ERD with property-level descriptions",
    "$schema":  "http://json-schema.org/draft-07/schema#",
    "type":  "object"
}

User Group

Aggregate Root: UserGroup

Represents groups of users for access control and permission management.

erDiagram
    "IAM.UserGroups" {
        uniqueidentifier Id PK
        nvarchar GroupName 
        nvarchar GroupDescription 
        nvarchar Email 
        bit IsTaskGroup 
        bit IsActive 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        nvarchar ShortName 
        nvarchar ColorCode 
        bit HasAvatar 
        uniqueidentifier DirectoryGuid 
        bit Concealed 
    }

    "IAM.UsersInUserGroup" }o--|| "IAM.UserGroups" : "UserGroupId"
erDiagram
    "IAM.UserGroups" {
        uniqueidentifier Id PK
        nvarchar GroupName 
        nvarchar GroupDescription 
        nvarchar Email 
        bit IsTaskGroup 
        bit IsActive 
        uniqueidentifier Tenant 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        nvarchar ShortName 
        nvarchar ColorCode 
        bit HasAvatar 
        uniqueidentifier DirectoryGuid 
        bit Concealed 
    }

    "IAM.UsersInUserGroup" }o--|| "IAM.UserGroups" : "UserGroupId"
{
    "definitions":  {
                        "IAM.UserGroups":  {
                                               "properties":  {
                                                                  "Id":  {
                                                                             "format":  "uuid",
                                                                             "description":  "uniqueidentifier",
                                                                             "type":  "string"
                                                                         },
                                                                  "HasAvatar":  {
                                                                                    "type":  "boolean",
                                                                                    "description":  "bit"
                                                                                },
                                                                  "EntityUpdatedAuthToken":  {
                                                                                                 "format":  "uuid",
                                                                                                 "description":  "uniqueidentifier",
                                                                                                 "type":  "string"
                                                                                             },
                                                                  "Concealed":  {
                                                                                    "type":  "boolean",
                                                                                    "description":  "bit"
                                                                                },
                                                                  "IsActive":  {
                                                                                   "type":  "boolean",
                                                                                   "description":  "bit"
                                                                               },
                                                                  "Tenant":  {
                                                                                 "format":  "uuid",
                                                                                 "description":  "uniqueidentifier",
                                                                                 "type":  "string"
                                                                             },
                                                                  "EntityCreatedAuthToken":  {
                                                                                                 "format":  "uuid",
                                                                                                 "description":  "uniqueidentifier",
                                                                                                 "type":  "string"
                                                                                             },
                                                                  "DirectoryGuid":  {
                                                                                        "format":  "uuid",
                                                                                        "description":  "uniqueidentifier",
                                                                                        "type":  "string"
                                                                                    },
                                                                  "ColorCode":  {
                                                                                    "type":  "string",
                                                                                    "description":  "nvarchar"
                                                                                },
                                                                  "EntityUpdatedDateTime":  {
                                                                                                "format":  "date-time",
                                                                                                "description":  "datetimeoffset",
                                                                                                "type":  "string"
                                                                                            },
                                                                  "EntityCreatedDateTime":  {
                                                                                                "format":  "date-time",
                                                                                                "description":  "datetimeoffset",
                                                                                                "type":  "string"
                                                                                            },
                                                                  "GroupDescription":  {
                                                                                           "type":  "string",
                                                                                           "description":  "nvarchar"
                                                                                       },
                                                                  "GroupName":  {
                                                                                    "type":  "string",
                                                                                    "description":  "nvarchar"
                                                                                },
                                                                  "IsTaskGroup":  {
                                                                                      "type":  "boolean",
                                                                                      "description":  "bit"
                                                                                  },
                                                                  "ShortName":  {
                                                                                    "type":  "string",
                                                                                    "description":  "nvarchar"
                                                                                },
                                                                  "Email":  {
                                                                                "type":  "string",
                                                                                "description":  "nvarchar"
                                                                            }
                                                              },
                                               "type":  "object"
                                           }
                    },
    "title":  "IAM.UserGroup",
    "$comment":  "Generated from Mermaid ERD with property-level descriptions",
    "$schema":  "http://json-schema.org/draft-07/schema#",
    "type":  "object"
}

Application Tenant

Aggregate Root: ApplicationTenant

Represents tenants in the multi-tenant application architecture for data isolation and management.

erDiagram
    "IAM.ApplicationTenants" {
        uniqueidentifier Id PK
        uniqueidentifier ParentApplicationTenantId FK
        nvarchar Name 
        nvarchar Description 
        int MarketRole 
        uniqueidentifier Tenant 
        nvarchar _ean 
        int LevelType 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit HasAvatar 
        bit Concealed 
    }

    "IAM.ApplicationTenants" }o--|| "IAM.ApplicationTenants" : "ParentApplicationTenantId"
erDiagram
    "IAM.ApplicationTenants" {
        uniqueidentifier Id PK
        uniqueidentifier ParentApplicationTenantId FK
        nvarchar Name 
        nvarchar Description 
        int MarketRole 
        uniqueidentifier Tenant 
        nvarchar _ean 
        int LevelType 
        datetimeoffset EntityCreatedDateTime 
        datetimeoffset EntityUpdatedDateTime 
        uniqueidentifier EntityCreatedAuthToken 
        uniqueidentifier EntityUpdatedAuthToken 
        bit HasAvatar 
        bit Concealed 
    }

    "IAM.ApplicationTenants" }o--|| "IAM.ApplicationTenants" : "ParentApplicationTenantId"
{
    "definitions":  {
                        "IAM.ApplicationTenants":  {
                                                       "properties":  {
                                                                          "Concealed":  {
                                                                                            "type":  "boolean",
                                                                                            "description":  "bit"
                                                                                        },
                                                                          "_ean":  {
                                                                                       "type":  "string",
                                                                                       "description":  "nvarchar"
                                                                                   },
                                                                          "EntityUpdatedAuthToken":  {
                                                                                                         "format":  "uuid",
                                                                                                         "description":  "uniqueidentifier",
                                                                                                         "type":  "string"
                                                                                                     },
                                                                          "Name":  {
                                                                                       "type":  "string",
                                                                                       "description":  "nvarchar"
                                                                                   },
                                                                          "EntityCreatedAuthToken":  {
                                                                                                         "format":  "uuid",
                                                                                                         "description":  "uniqueidentifier",
                                                                                                         "type":  "string"
                                                                                                     },
                                                                          "EntityUpdatedDateTime":  {
                                                                                                        "format":  "date-time",
                                                                                                        "description":  "datetimeoffset",
                                                                                                        "type":  "string"
                                                                                                    },
                                                                          "MarketRole":  {
                                                                                             "type":  "integer",
                                                                                             "description":  "int"
                                                                                         },
                                                                          "LevelType":  {
                                                                                            "type":  "integer",
                                                                                            "description":  "int"
                                                                                        },
                                                                          "Tenant":  {
                                                                                         "format":  "uuid",
                                                                                         "description":  "uniqueidentifier",
                                                                                         "type":  "string"
                                                                                     },
                                                                          "Description":  {
                                                                                              "type":  "string",
                                                                                              "description":  "nvarchar"
                                                                                          },
                                                                          "Id":  {
                                                                                     "format":  "uuid",
                                                                                     "description":  "uniqueidentifier",
                                                                                     "type":  "string"
                                                                                 },
                                                                          "HasAvatar":  {
                                                                                            "type":  "boolean",
                                                                                            "description":  "bit"
                                                                                        },
                                                                          "EntityCreatedDateTime":  {
                                                                                                        "format":  "date-time",
                                                                                                        "description":  "datetimeoffset",
                                                                                                        "type":  "string"
                                                                                                    },
                                                                          "ParentApplicationTenantId":  {
                                                                                                            "type":  "string",
                                                                                                            "description":  "FK to IAM.ApplicationTenants"
                                                                                                        }
                                                                      },
                                                       "type":  "object"
                                                   }
                    },
    "title":  "IAM.ApplicationTenant",
    "$comment":  "Generated from Mermaid ERD with property-level descriptions",
    "$schema":  "http://json-schema.org/draft-07/schema#",
    "type":  "object"
}