28 lines
841 B
Rust
28 lines
841 B
Rust
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<GitAddRemoteResult, String> {
|
|
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<GitAddRemoteResult, String> {
|
|
Err("Adding git remotes is not available on mobile".into())
|
|
}
|