use crate::git::GitAddRemoteResult; use serde::Deserialize; use super::expand_tilde; #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub struct GitAddRemoteRequest { vault_path: String, remote_url: String, } #[cfg(desktop)] #[tauri::command] pub async fn git_add_remote(request: GitAddRemoteRequest) -> Result { let vault_path = expand_tilde(&request.vault_path).into_owned(); let remote_url = request.remote_url; tokio::task::spawn_blocking(move || crate::git::git_add_remote(&vault_path, &remote_url)) .await .map_err(|e| format!("Task panicked: {e}"))? } #[cfg(mobile)] #[tauri::command] pub async fn git_add_remote(_request: GitAddRemoteRequest) -> Result { Err("Adding git remotes is not available on mobile".into()) }