1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct RoomSnapshot {
6 pub room_id: String,
7 pub root_id: String,
8 pub nodes: HashMap<String, NodeData>,
9 pub version: u64,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct NodeData {
14 pub id: String,
15 pub node_type: String,
16 pub attrs: HashMap<String, serde_json::Value>,
17 pub content: Vec<String>,
18 pub marks: Vec<MarkData>,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub struct MarkData {
23 pub mark_type: String,
24 pub attrs: HashMap<String, serde_json::Value>,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29pub struct StepResult {
30 pub step_id: String,
31 pub step_name: String,
32 pub description: String,
33 pub timestamp: u64,
34 pub client_id: String,
35}