Improve local filetree view state and sidebar performance

This commit is contained in:
lix-2026
2026-05-27 11:31:12 +08:00
parent 58e2fdb5d8
commit 3ae33cc21d
56 changed files with 8614 additions and 461 deletions
+66
View File
@@ -177,6 +177,72 @@ pub struct OutboxEventInput {
pub payload_json: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct SidebarShortcutRecord {
pub id: EntityId,
pub user_id: EntityId,
pub workspace_id: EntityId,
pub root_uri: Option<String>,
pub kind: String,
pub source_kind: String,
pub target_id: String,
pub relative_path: Option<String>,
pub document_id: Option<String>,
pub title: String,
pub icon: Option<String>,
pub sort_order: i64,
pub status: String,
pub metadata_json: String,
pub created_at: Timestamp,
pub updated_at: Timestamp,
pub revision: i64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct UpsertSidebarShortcutInput {
pub id: Option<EntityId>,
pub user_id: EntityId,
pub workspace_id: EntityId,
pub root_uri: Option<String>,
pub kind: String,
pub source_kind: String,
pub target_id: String,
pub relative_path: Option<String>,
pub document_id: Option<String>,
pub title: String,
pub icon: Option<String>,
pub sort_order: i64,
pub metadata_json: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct UserUiPreferenceRecord {
pub id: EntityId,
pub user_id: EntityId,
pub workspace_id: Option<EntityId>,
pub source_kind: Option<String>,
pub scope_kind: String,
pub scope_id: String,
pub key: String,
pub value_json: String,
pub status: String,
pub created_at: Timestamp,
pub updated_at: Timestamp,
pub revision: i64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct UpsertUserUiPreferenceInput {
pub id: Option<EntityId>,
pub user_id: EntityId,
pub workspace_id: Option<EntityId>,
pub source_kind: Option<String>,
pub scope_kind: String,
pub scope_id: String,
pub key: String,
pub value_json: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct AiPolicyRecord {
pub id: EntityId,