Skip to main content

mf_collab/
types.rs

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/// Step操作结果 - 用于记录操作信息并发送给前端
28#[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}