chore: update

This commit is contained in:
huzibaca
2024-11-08 21:46:15 +08:00
parent 20d163cf3a
commit c3e24d7b96
20 changed files with 887 additions and 4 deletions

View File

@@ -9,6 +9,7 @@ use crate::core::*;
use crate::log_err;
use crate::utils::resolve;
use anyhow::{bail, Result};
use reqwest_dav::list_cmd::ListFile;
use serde_yaml::{Mapping, Value};
use tauri_plugin_clipboard_manager::ClipboardExt;
@@ -401,3 +402,42 @@ pub async fn test_delay(url: String) -> Result<u32> {
}
}
}
pub async fn create_backup_and_upload_webdav() -> Result<()> {
if let Err(err) = async {
let (file_name, temp_file_path) = backup::create_backup().map_err(|err| {
log::error!(target: "app", "Failed to create backup: {:#?}", err);
err
})?;
backup::WebDavClient::global()
.upload(temp_file_path.clone(), file_name)
.await
.map_err(|err| {
log::error!(target: "app", "Failed to upload to WebDAV: {:#?}", err);
err
})?;
std::fs::remove_file(&temp_file_path).map_err(|err| {
log::warn!(target: "app", "Failed to remove temp file: {:#?}", err);
err
})?;
Ok(())
}
.await
{
return Err(err);
}
Ok(())
}
pub async fn list_wevdav_backup() -> Result<Vec<ListFile>> {
backup::WebDavClient::global()
.list_files()
.await
.map_err(|err| {
log::error!(target: "app", "Failed to list WebDAV backup files: {:#?}", err);
err
})
}