Merge pull request #222 from BillionClaw/clawoss/fix/webdav-rename-status-code

fix(webdav): preserve correct status codes for file rename/move failures
This commit is contained in:
Dionisio Pozo
2026-03-17 09:49:34 +01:00
committed by GitHub
+7 -19
View File
@@ -1236,9 +1236,7 @@ async fn handle_move(
folder_service folder_service
.move_folder(&folder.id, move_dto, user.id) .move_folder(&folder.id, move_dto, user.id)
.await .await
.map_err(|e| { .map_err(AppError::from)?;
AppError::internal_error(format!("Failed to move folder: {}", e))
})?;
if folder.name != dest_folder_name { if folder.name != dest_folder_name {
let rename_dto = crate::application::dtos::folder_dto::RenameFolderDto { let rename_dto = crate::application::dtos::folder_dto::RenameFolderDto {
@@ -1247,9 +1245,7 @@ async fn handle_move(
folder_service folder_service
.rename_folder(&folder.id, rename_dto, user.id) .rename_folder(&folder.id, rename_dto, user.id)
.await .await
.map_err(|e| { .map_err(AppError::from)?;
AppError::internal_error(format!("Failed to rename folder: {}", e))
})?;
} }
} }
Ok(ResolvedResource::File(file)) => { Ok(ResolvedResource::File(file)) => {
@@ -1283,17 +1279,13 @@ async fn handle_move(
file_management_service file_management_service
.move_file(&file.id, Some(dest_parent_path.to_string())) .move_file(&file.id, Some(dest_parent_path.to_string()))
.await .await
.map_err(|e| { .map_err(AppError::from)?;
AppError::internal_error(format!("Failed to move file: {}", e))
})?;
} }
if file.name != dest_filename { if file.name != dest_filename {
file_management_service file_management_service
.rename_file(&file.id, dest_filename) .rename_file(&file.id, dest_filename)
.await .await
.map_err(|e| { .map_err(AppError::from)?;
AppError::internal_error(format!("Failed to rename file: {}", e))
})?;
} }
} }
Err(_) => { Err(_) => {
@@ -1354,9 +1346,7 @@ async fn handle_move(
folder_service folder_service
.rename_folder(&folder.id, rename_dto, user.id) .rename_folder(&folder.id, rename_dto, user.id)
.await .await
.map_err(|e| { .map_err(AppError::from)?;
AppError::internal_error(format!("Failed to rename folder: {}", e))
})?;
} }
} else { } else {
let file = file_retrieval_service let file = file_retrieval_service
@@ -1396,15 +1386,13 @@ async fn handle_move(
file_management_service file_management_service
.move_file(&file.id, Some(dest_parent_path.to_string())) .move_file(&file.id, Some(dest_parent_path.to_string()))
.await .await
.map_err(|e| AppError::internal_error(format!("Failed to move file: {}", e)))?; .map_err(AppError::from)?;
} }
if file.name != dest_filename { if file.name != dest_filename {
file_management_service file_management_service
.rename_file(&file.id, dest_filename) .rename_file(&file.id, dest_filename)
.await .await
.map_err(|e| { .map_err(AppError::from)?;
AppError::internal_error(format!("Failed to rename file: {}", e))
})?;
} }
} }
} }