UML — Domain Class
classDiagram
class User {
+UUID id
+string email
+string telegram_id
+datetime created_at
}
class Session {
+UUID id
+string invite_code
+SessionStatus status
+UUID host_participant_id
}
class Participant {
+UUID id
+UUID session_id
+UUID user_id
+string guest_id
+Role role
+bool presence_web
+bool presence_telegram
}
class GameInstance {
+UUID id
+UUID session_id
+string plugin_id
+GameStatus status
+JSON state
+UUID current_player_id
}
class GameAction {
+UUID id
+UUID game_instance_id
+UUID action_id
+string action_type
+JSON payload
+UUID player_id
}
User "1" --> "*" Participant : may have
Session "1" --> "*" Participant : contains
Session "1" --> "*" GameInstance : hosts
GameInstance "1" --> "*" GameAction : audit
Participant "1" --> "*" GameAction : performs
Исходник: domain-class.mmd