feat(connection): add visible schema filtering

This commit is contained in:
大峰 authored and GitHub committed 2026-06-25 01:36:06 +08:00
1 parent e57ef5220b
commit 40c93b9dad
29 files changed
+602 -22

No files matched your search

+3 -2
View File
@@ -223,6 +223,7 @@ mod tests {
password: "secret".to_string(),
database: Some("RestCloud_V45PUB_Gateway".to_string()),
visible_databases: None,
visible_schemas: None,
attached_databases: Vec::new(),
color: None,
transport_layers: Vec::new(),
@@ -491,7 +492,7 @@ async fn sync_connection_configs(state: &AppState, configs: &[ConnectionConfig])
}
fn is_transient_runtime_config_id(id: &str) -> bool {
id.starts_with("__test_") || id.starts_with("__visible_draft_")
id.starts_with("__test_") || id.starts_with("__visible_draft_") || id.starts_with("__visible_schema_draft_")
}
async fn drop_nacos_adapters_for_connection_ids(state: &AppState, connection_ids: &[String]) {
@@ -1127,7 +1128,7 @@ pub async fn disconnect_db(state: State<'_, Arc<AppState>>, connection_id: Strin
drop_nacos_adapters_for_connection_ids(state.inner(), std::slice::from_ref(&connection_id)).await;
drop_mq_adapters_for_connection_ids(state.inner(), std::slice::from_ref(&connection_id)).await;
state.reset_connection_transport(&connection_id).await;
if connection_id.starts_with("__visible_draft_") {
if connection_id.starts_with("__visible_draft_") || connection_id.starts_with("__visible_schema_draft_") {
state.configs.write().await.remove(&connection_id);
}
Ok(())