9 Diagrams
Charles-Édouard Coste edited this page 2025-04-12 22:40:19 +02:00
classDiagram
    class UserInterface {
        <<interface>>
    }
    class PasswordAuthenticatedUserInterface {
        <<interface>>
    }
    class User {
        <<entity>>
        -string id
        -array roles
        -?string displayName
        -?string password
        -bool activated
    }
    class Room {
        <<entity>>
        -string id
        -string visibility
        -string name
        -array accountData        
    }
    class Device {
        <<entity>>
        -string id
        -string displayName
        -string accessToken
        -string refreshToken
        -array supportedAlgorithms
        -array signatures
        -array fallbackKeys
        -array oneTimeKeys
    }
    class Event {
        <<entity>>
        -string eventId
        -string type
        -array content
        -int originServerTs
        -string sender
        -string state_key
    }
    class Key {
        -string id
        -string publicKey
        -string algorithm
    }
    class Signature {
        -string id
    }
    class Filter {
        -string id
        -array content
    }
    Event "0..*" -- "0..1" Device: toDevice
    Device *-- Key
    Room *-- Event
    Key *-- Signature
    UserInterface <|.. User
    PasswordAuthenticatedUserInterface <|.. User
    User o--o Room
    User *-- Device