From 3493054f1a7b2559a9e050a0aa35d86876ba3ef9 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 2 Jan 2025 14:20:20 -0600 Subject: [PATCH] handle remove error --- .../providers/encrypt/encrypt_provider.cpp | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp b/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp index f4c00a5d..547efcda 100644 --- a/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp +++ b/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp @@ -33,6 +33,7 @@ #include "utils/file_utils.hpp" #include "utils/path.hpp" #include "utils/polling.hpp" +#include namespace repertory { encrypt_provider::encrypt_provider(app_config &config) @@ -806,6 +807,8 @@ auto encrypt_provider::read_file_bytes(const std::string &api_path, } void encrypt_provider::remove_deleted_files(stop_type &stop_requested) { + REPERTORY_USES_FUNCTION_NAME(); + db_->enumerate_api_path_list( [this, &stop_requested](auto &&list) { std::vector removed_list{}; @@ -824,16 +827,22 @@ void encrypt_provider::remove_deleted_files(stop_type &stop_requested) { return; } - // TODO handle error - auto del_res{db_->remove_item(item.api_path)}; - if (item.directory) { - event_system::instance().raise( - item.api_path, item.source_path); + auto res{db_->remove_item(item.api_path)}; + if (res != api_error::success) { + utils::error::raise_api_path_error( + function_name, item.api_path, item.source_path, res, + fmt::format("failed to process externally removed item|dir|{}", + utils::string::from_bool(item.directory))); continue; } - event_system::instance().raise( - item.api_path, item.source_path); + if (item.directory) { + event_system::instance().raise( + item.api_path, item.source_path); + } else { + event_system::instance().raise( + item.api_path, item.source_path); + } } }, stop_requested);