From 4fd1e7507a31825dbe5e4e946ca5812e2d104470 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 20 Dec 2024 13:54:36 -0600 Subject: [PATCH] fixes --- repertory/librepertory/include/app_config.hpp | 2 +- repertory/librepertory/src/app_config.cpp | 90 ++++++++++--------- 2 files changed, 47 insertions(+), 45 deletions(-) diff --git a/repertory/librepertory/include/app_config.hpp b/repertory/librepertory/include/app_config.hpp index 81aceb9e..7489c4f7 100644 --- a/repertory/librepertory/include/app_config.hpp +++ b/repertory/librepertory/include/app_config.hpp @@ -108,7 +108,7 @@ private: private: template auto get_value(const json &data, const std::string &name, dest &dst, - bool &success) -> bool; + bool &found) -> bool; [[nodiscard]] auto load() -> bool; diff --git a/repertory/librepertory/src/app_config.cpp b/repertory/librepertory/src/app_config.cpp index d11420ec..a6b83dde 100644 --- a/repertory/librepertory/src/app_config.cpp +++ b/repertory/librepertory/src/app_config.cpp @@ -824,6 +824,9 @@ auto app_config::get_json() const -> json { ret.erase(JSON_REMOTE_CONFIG); ret.erase(JSON_S3_CONFIG); } break; + default: + throw std::runtime_error( + fmt::format("unsupported provider type|{}", get_provider_name(prov_))); } return ret; @@ -863,25 +866,24 @@ auto app_config::get_provider_name(const provider_type &prov) -> std::string { template auto app_config::get_value(const json &data, const std::string &name, dest &dst, - bool &success) -> bool { + bool &found) -> bool { REPERTORY_USES_FUNCTION_NAME(); - auto ret{false}; try { - if (data.find(name) != data.end()) { - data.at(name).get_to(dst); - ret = true; - } else { - success = false; + if (data.find(name) == data.end()) { + found = false; + return ret; } + + data.at(name).get_to(dst); + return true; } catch (const std::exception &ex) { utils::error::raise_error(function_name, ex, fmt::format("failed to get value|name|{}", name)); - success = false; - ret = false; } - return ret; + found = false; + return false; } auto app_config::get_value_by_name(const std::string &name) const @@ -927,82 +929,82 @@ auto app_config::load() -> bool { return false; } - auto ret{false}; + auto found{true}; auto json_document = json::parse(json_text); - get_value(json_document, JSON_API_AUTH, api_auth_, ret); - get_value(json_document, JSON_API_PORT, api_port_, ret); - get_value(json_document, JSON_API_USER, api_user_, ret); + get_value(json_document, JSON_API_AUTH, api_auth_, found); + get_value(json_document, JSON_API_PORT, api_port_, found); + get_value(json_document, JSON_API_USER, api_user_, found); get_value(json_document, JSON_BACKGROUND_DOWNLOAD_TIMEOUT_SECS, - download_timeout_secs_, ret); - get_value(json_document, JSON_DATABASE_TYPE, db_type_, ret); + download_timeout_secs_, found); + get_value(json_document, JSON_DATABASE_TYPE, db_type_, found); get_value(json_document, JSON_EVICTION_DELAY_MINS, eviction_delay_mins_, - ret); + found); get_value(json_document, JSON_EVICTION_USE_ACCESS_TIME, - eviction_uses_accessed_time_, ret); + eviction_uses_accessed_time_, found); get_value(json_document, JSON_ENABLE_CHUNK_DOWNLOADER_TIMEOUT, - enable_chunk_downloader_timeout_, ret); + enable_chunk_downloader_timeout_, found); get_value(json_document, JSON_ENABLE_COMM_DURATION_EVENTS, - enable_comm_duration_events_, ret); + enable_comm_duration_events_, found); get_value(json_document, JSON_ENABLE_DRIVE_EVENTS, enable_drive_events_, - ret); + found); if (json_document.find(JSON_ENCRYPT_CONFIG) != json_document.end()) { json_document.at(JSON_ENCRYPT_CONFIG) .get_to>(encrypt_config_); } else { - ret = false; + found = false; } - get_value(json_document, JSON_EVENT_LEVEL, event_level_, ret); + get_value(json_document, JSON_EVENT_LEVEL, event_level_, found); if (json_document.find(JSON_HOST_CONFIG) != json_document.end()) { json_document.at(JSON_HOST_CONFIG) .get_to>(host_config_); } else { - ret = false; + found = false; } if (json_document.find(JSON_S3_CONFIG) != json_document.end()) { json_document.at(JSON_S3_CONFIG).get_to>(s3_config_); } else { - ret = false; + found = false; } if (json_document.find(JSON_SIA_CONFIG) != json_document.end()) { json_document.at(JSON_SIA_CONFIG).get_to>(sia_config_); } else { - ret = false; + found = false; } get_value(json_document, JSON_RING_BUFFER_FILE_SIZE, ring_buffer_file_size_, - ret); - get_value(json_document, JSON_TASK_WAIT_MS, task_wait_ms_, ret); + found); + get_value(json_document, JSON_TASK_WAIT_MS, task_wait_ms_, found); #if defined(_WIN32) get_value(json_document, JSON_ENABLE_MOUNT_MANAGER, enable_mount_manager_, - ret); + found); #endif // defined(_WIN32) get_value(json_document, JSON_MAX_CACHE_SIZE_BYTES, max_cache_size_bytes_, - ret); - get_value(json_document, JSON_MAX_UPLOAD_COUNT, max_upload_count_, ret); + found); + get_value(json_document, JSON_MAX_UPLOAD_COUNT, max_upload_count_, found); get_value(json_document, JSON_ONLINE_CHECK_RETRY_SECS, - online_check_retry_secs_, ret); + online_check_retry_secs_, found); get_value(json_document, JSON_HIGH_FREQ_INTERVAL_SECS, - high_freq_interval_secs_, ret); + high_freq_interval_secs_, found); get_value(json_document, JSON_LOW_FREQ_INTERVAL_SECS, - low_freq_interval_secs_, ret); + low_freq_interval_secs_, found); get_value(json_document, JSON_MED_FREQ_INTERVAL_SECS, - med_freq_interval_secs_, ret); + med_freq_interval_secs_, found); get_value(json_document, JSON_ORPHANED_FILE_RETENTION_DAYS, - orphaned_file_retention_days_, ret); + orphaned_file_retention_days_, found); get_value(json_document, JSON_PREFERRED_DOWNLOAD_TYPE, - preferred_download_type_, ret); - get_value(json_document, JSON_RETRY_READ_COUNT, retry_read_count_, ret); - get_value(json_document, JSON_REMOTE_CONFIG, remote_config_, ret); - get_value(json_document, JSON_REMOTE_MOUNT, remote_mount_, ret); + preferred_download_type_, found); + get_value(json_document, JSON_RETRY_READ_COUNT, retry_read_count_, found); + get_value(json_document, JSON_REMOTE_CONFIG, remote_config_, found); + get_value(json_document, JSON_REMOTE_MOUNT, remote_mount_, found); std::uint64_t version{}; - get_value(json_document, JSON_VERSION, version, ret); + get_value(json_document, JSON_VERSION, version, found); // Handle configuration defaults for new config versions if (version != REPERTORY_CONFIG_VERSION) { @@ -1011,11 +1013,11 @@ auto app_config::load() -> bool { } version_ = version; - ret = false; + found = false; } - config_changed_ = not ret; - return ret; + config_changed_ = not found; + return found; } catch (const std::exception &ex) { utils::error::raise_error( function_name, ex,