feat(etcd): add agent-backed etcd support

This commit is contained in:
t8y2 committed 2026-06-08 00:58:42 +08:00
1 parent 7bd8d29a79
commit e6062b2b07
49 files changed
+1524 -15

No files matched your search

+3
View File
@@ -175,6 +175,8 @@ mod tests {
query_timeout_secs: dbx_core::models::connection::default_query_timeout_secs(),
ssl: false,
ca_cert_path: String::new(),
client_cert_path: String::new(),
client_key_path: String::new(),
sysdba: false,
oracle_connection_type: None,
connection_string: Some(
@@ -187,6 +189,7 @@ mod tests {
redis_sentinel_password: String::new(),
redis_sentinel_tls: false,
redis_cluster_nodes: String::new(),
etcd_endpoints: String::new(),
external_config: None,
jdbc_driver_class: None,
jdbc_driver_paths: Vec::new(),
+45
View File
@@ -0,0 +1,45 @@
use std::sync::Arc;
use tauri::State;
use crate::commands::connection::AppState;
use dbx_core::agent_kv::{KvDeleteResponse, KvGetResponse, KvListPrefixResponse, KvPutResponse, KvValue};
#[tauri::command]
pub async fn etcd_list_prefix(
state: State<'_, Arc<AppState>>,
connection_id: String,
prefix: String,
limit: usize,
continuation: Option<String>,
) -> Result<KvListPrefixResponse, String> {
dbx_core::agent_kv::kv_list_prefix_core(&state, &connection_id, &prefix, limit, continuation.as_deref()).await
}
#[tauri::command]
pub async fn etcd_get(
state: State<'_, Arc<AppState>>,
connection_id: String,
key: String,
) -> Result<KvGetResponse, String> {
dbx_core::agent_kv::kv_get_core(&state, &connection_id, &key).await
}
#[tauri::command]
pub async fn etcd_put(
state: State<'_, Arc<AppState>>,
connection_id: String,
key: String,
value: KvValue,
lease: Option<i64>,
) -> Result<KvPutResponse, String> {
dbx_core::agent_kv::kv_put_core(&state, &connection_id, &key, value, lease).await
}
#[tauri::command]
pub async fn etcd_delete(
state: State<'_, Arc<AppState>>,
connection_id: String,
key: String,
) -> Result<KvDeleteResponse, String> {
dbx_core::agent_kv::kv_delete_core(&state, &connection_id, &key).await
}
+1
View File
@@ -9,6 +9,7 @@ pub mod csv_export;
pub mod data_compare;
pub mod database_export;
pub mod deep_link;
pub mod etcd_cmd;
pub mod external_db;
pub mod external_sql;
pub mod history;