text_document_common/
snapshot.rs1use crate::types::EntityId;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8pub struct TableSnapshot {
9 pub table_name: String,
10 pub rows: Vec<(EntityId, Vec<u8>)>,
11}
12
13#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15pub struct JunctionSnapshot {
16 pub table_name: String,
17 pub entries: Vec<(EntityId, Vec<EntityId>)>,
18}
19
20#[derive(Debug, Clone, Default, Serialize, Deserialize)]
23pub struct TableLevelSnapshot {
24 pub entity_rows: TableSnapshot,
25 pub forward_junctions: Vec<JunctionSnapshot>,
26 pub backward_junctions: Vec<JunctionSnapshot>,
27}
28
29#[derive(Debug, Clone, Default, Serialize, Deserialize)]
32pub struct EntityTreeSnapshot {
33 pub table_data: TableLevelSnapshot,
34 pub children: Vec<EntityTreeSnapshot>,
35}