Skip to content

ERD

ERD is just an overview

The following ERD provides a high-level overview of the system's structure. While it does not include all properties of the entities, it is designed to highlight their relationships and dependencies.

erDiagram
    USER {
        int Id
        string Name
        int TenantId
    }
    TENANT {
        int Id
        string TenantKey
        string Name
    }
    USERCLAIM {
        int Id
        int Type
        string Value
    }
    TENANTCLAIM {
        int Id
        int Type
        string Value
    }
    CLAIMDEFINITION {
        int Id
        string Type
        Rules Rule
    }
    GLOBALCLAIM {
        int Id
        int Type
        string Value
    }

    USER ||--o{ USERCLAIM : has
    TENANT ||--o{ TENANTCLAIM : has
    USER }o--|| TENANT : belongs_to
    TENANTCLAIM }o--|| CLAIMDEFINITION : describes
    USERCLAIM }o--|| CLAIMDEFINITION : describes
    GLOBALCLAIM }o--|| CLAIMDEFINITION : describes

Entities

User

The User entity represents an individual within the system who can have associated claims. Each user is linked to a specific tenant and may have one or more claims associated with them.

Tenant

The Tenant entity represents a group or organization that owns users and their associated claims. A tenant can have multiple users, and each user in the tenant can have claims related to them.

Claim

The Claim entity represents specific pieces of information or attributes that are associated with a user within a particular tenant. Claims are tied to a ClaimDefinition, which provides the schema or structure for the claim's data.

GlobalClaim

The GlobalClaim entity represents a claim that is not tied to a specific user or tenant but still has a definition. It can be used for global attributes or system-wide claims that apply across multiple

ClaimDefinition

The ClaimDefinition entity defines the structure and type of a claim. Each claim references a ClaimDefinition to ensure that claims adhere to a consistent format and provide meaningful data.

A ClaimDefinition has a type and says what entity the claim belongs (User, Tenant or global). It also says who (Role) can edit the claim. More information under Change Role. The claim definition describes also some rules of what a claim value could be. Those are:

  • types (diffent possible datatypes)
  • string (text)
  • date (without time part)
  • bool
  • number
  • rules
  • Max/Min Value (only for date and number)
  • Max/Min Length (only for strings)
  • Regex (only for strings)
  • Selectable Values (selection list of predefined values)