settings.rs

 1use anyhow::Result;
 2use serde_json::Value;
 3
 4use crate::migrations::migrate_settings;
 5
 6pub fn remove_context_server_source(value: &mut Value) -> Result<()> {
 7    migrate_settings(value, &mut migrate_one)
 8}
 9
10fn migrate_one(obj: &mut serde_json::Map<String, Value>) -> Result<()> {
11    if let Some(context_servers) = obj.get_mut("context_servers") {
12        if let Some(servers) = context_servers.as_object_mut() {
13            for (_, server) in servers.iter_mut() {
14                if let Some(server_obj) = server.as_object_mut() {
15                    server_obj.remove("source");
16                }
17            }
18        }
19    }
20    Ok(())
21}