geforkt von mirrored/vaultwarden
Remove option and use unwrap_or_else to fall back to copy behavior.
Dieser Commit ist enthalten in:
Ursprung
ebe9162af9
Commit
5c38b2c4eb
3 geänderte Dateien mit 8 neuen und 13 gelöschten Zeilen
|
@ -17,7 +17,7 @@ use crate::{
|
||||||
CONFIG,
|
CONFIG,
|
||||||
};
|
};
|
||||||
|
|
||||||
use futures::{stream, stream::StreamExt};
|
use futures::{stream, stream::StreamExt, TryFutureExt};
|
||||||
|
|
||||||
pub fn routes() -> Vec<Route> {
|
pub fn routes() -> Vec<Route> {
|
||||||
// Note that many routes have an `admin` variant; this seems to be
|
// Note that many routes have an `admin` variant; this seems to be
|
||||||
|
@ -998,11 +998,9 @@ async fn save_attachment(
|
||||||
attachment.save(&conn).await.expect("Error saving attachment");
|
attachment.save(&conn).await.expect("Error saving attachment");
|
||||||
}
|
}
|
||||||
|
|
||||||
if CONFIG.uploads_use_copy() {
|
data.data.persist_to(&file_path)
|
||||||
data.data.move_copy_to(file_path).await?;
|
.unwrap_or_else(data.data.move_copy_to(&file_path))
|
||||||
} else {
|
.await?;
|
||||||
data.data.persist_to(file_path).await?;
|
|
||||||
}
|
|
||||||
|
|
||||||
nt.send_cipher_update(UpdateType::CipherUpdate, &cipher, &cipher.update_users_revision(&conn).await).await;
|
nt.send_cipher_update(UpdateType::CipherUpdate, &cipher, &cipher.update_users_revision(&conn).await).await;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
use chrono::{DateTime, Duration, Utc};
|
use chrono::{DateTime, Duration, Utc};
|
||||||
|
use futures::TryFutureExt;
|
||||||
use rocket::form::Form;
|
use rocket::form::Form;
|
||||||
use rocket::fs::NamedFile;
|
use rocket::fs::NamedFile;
|
||||||
use rocket::fs::TempFile;
|
use rocket::fs::TempFile;
|
||||||
|
@ -226,11 +227,9 @@ async fn post_send_file(data: Form<UploadData<'_>>, headers: Headers, conn: DbCo
|
||||||
let file_path = folder_path.join(&file_id);
|
let file_path = folder_path.join(&file_id);
|
||||||
tokio::fs::create_dir_all(&folder_path).await?;
|
tokio::fs::create_dir_all(&folder_path).await?;
|
||||||
|
|
||||||
if CONFIG.uploads_use_copy() {
|
data.persist_to(&file_path)
|
||||||
data.move_copy_to(&file_path).await?;
|
.unwrap_or_else(data.move_copy_to(&file_path))
|
||||||
} else {
|
.await?;
|
||||||
data.persist_to(&file_path).await?;
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut data_value: Value = serde_json::from_str(&send.data)?;
|
let mut data_value: Value = serde_json::from_str(&send.data)?;
|
||||||
if let Some(o) = data_value.as_object_mut() {
|
if let Some(o) = data_value.as_object_mut() {
|
||||||
|
|
|
@ -343,8 +343,6 @@ make_config! {
|
||||||
rsa_key_filename: String, false, auto, |c| format!("{}/{}", c.data_folder, "rsa_key");
|
rsa_key_filename: String, false, auto, |c| format!("{}/{}", c.data_folder, "rsa_key");
|
||||||
/// Web vault folder
|
/// Web vault folder
|
||||||
web_vault_folder: String, false, def, "web-vault/".to_string();
|
web_vault_folder: String, false, def, "web-vault/".to_string();
|
||||||
/// Uploading files uses move_copy_to instead of persist_to to support cross-device scenarios where having tmp_folder on the same drive is undesirable. i.e. fuse-mounted S3.
|
|
||||||
uploads_use_copy: bool, false, def, false;
|
|
||||||
},
|
},
|
||||||
ws {
|
ws {
|
||||||
/// Enable websocket notifications
|
/// Enable websocket notifications
|
||||||
|
|
Laden …
In neuem Issue referenzieren