From 1bb1ca99dd5595d1a69b453798d5ef970034608c Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Wed, 1 Apr 2026 21:45:45 +0100 Subject: [PATCH] Delete shouldn't move --- sync-server/src/server/delete_document.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sync-server/src/server/delete_document.rs b/sync-server/src/server/delete_document.rs index 0083505e..ccfd7ebf 100644 --- a/sync-server/src/server/delete_document.rs +++ b/sync-server/src/server/delete_document.rs @@ -1,4 +1,4 @@ -use anyhow::{Context, anyhow}; +use anyhow::Context; use axum::{ Extension, Json, extract::{Path, State}, @@ -16,8 +16,8 @@ use crate::{ }, }, config::user_config::User, - errors::{SyncServerError, client_error, not_found_error, server_error, write_transaction_error}, - utils::{normalize::normalize, sanitize_path::sanitize_path}, + errors::{SyncServerError, server_error, write_transaction_error}, + utils::normalize::normalize, }; #[derive(Deserialize)] @@ -72,12 +72,15 @@ pub async fn delete_document( return Ok(Json(latest_version.clone().into())); } - let latest_content = latest_version.map_or_else(Vec::new, |version| version.content); // in case the document has never existed before deleting it + let (latest_relative_path, latest_content) = latest_version.map_or_else( + || (String::new(), Vec::new()), + |version| (version.relative_path, version.content), + ); let new_version = StoredDocumentVersion { vault_update_id: last_update_id + 1, document_id, - relative_path: sanitize_path(&request.relative_path).map_err(client_error)?, + relative_path: latest_relative_path, content: latest_content, // copy the content from the latest version updated_date: chrono::Utc::now(), is_deleted: true,