app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

commit a3d556ce0f2ff390528d6c1620c57f7811917bca
parent 439590d479e4af50fc21c59f706e8833a30a5450
Author: triesap <triesap@radroots.dev>
Date:   Mon, 19 Jan 2026 23:30:20 +0000

app: generalize log entry key mapping

- rename log entry key prefix for datastore logs

- update key map param naming for log entries

- update logging helpers to use new log entry key

- adjust key map and logging tests for new prefix

Diffstat:
Mapp/src/config.rs | 24++++++++++++------------
Mapp/src/lib.rs | 6+++---
Mapp/src/logging.rs | 14+++++++-------
3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/app/src/config.rs b/app/src/config.rs @@ -18,7 +18,7 @@ pub const APP_DATASTORE_KEY_NOSTR_KEY: &str = "nostr:key"; pub const APP_DATASTORE_KEY_EULA_DATE: &str = "app:eula:date"; pub const APP_DATASTORE_KEY_OBJ_CFG_DATA: &str = "cfg:data"; pub const APP_DATASTORE_KEY_OBJ_APP_DATA: &str = "app:data"; -pub const APP_DATASTORE_KEY_LOG_ERROR: &str = "log:error"; +pub const APP_DATASTORE_KEY_LOG_ENTRY: &str = "log:entry"; pub const APP_KEYSTORE_KEY_NOSTR_DEFAULT: &str = "nostr:default"; pub fn app_datastore_param_nostr_profile(public_key: &str) -> String { @@ -29,8 +29,8 @@ pub fn app_datastore_param_radroots_profile(public_key: &str) -> String { format!("radroots:{public_key}:profile") } -pub fn app_datastore_param_log_error(entry_id: &str) -> String { - format!("{APP_DATASTORE_KEY_LOG_ERROR}:{entry_id}") +pub fn app_datastore_param_log_entry(entry_id: &str) -> String { + format!("{APP_DATASTORE_KEY_LOG_ENTRY}:{entry_id}") } #[derive(Debug, Clone, PartialEq, Eq)] @@ -60,7 +60,7 @@ pub fn app_key_maps_default() -> AppKeyMapConfig { "radroots_profile", app_datastore_param_radroots_profile as AppDatastoreKeyParam, ); - param_map.insert("log_error", app_datastore_param_log_error as AppDatastoreKeyParam); + param_map.insert("log_entry", app_datastore_param_log_entry as AppDatastoreKeyParam); let mut obj_map = BTreeMap::new(); obj_map.insert("cfg_data", APP_DATASTORE_KEY_OBJ_CFG_DATA); obj_map.insert("app_data", APP_DATASTORE_KEY_OBJ_APP_DATA); @@ -113,8 +113,8 @@ pub fn app_key_maps_validate(config: &AppKeyMapConfig) -> AppConfigResult<()> { if !config.param_map.contains_key("radroots_profile") { return Err(AppConfigError::MissingParamMap("radroots_profile")); } - if !config.param_map.contains_key("log_error") { - return Err(AppConfigError::MissingParamMap("log_error")); + if !config.param_map.contains_key("log_entry") { + return Err(AppConfigError::MissingParamMap("log_entry")); } if !config.obj_map.contains_key("cfg_data") { return Err(AppConfigError::MissingObjMap("cfg_data")); @@ -288,7 +288,7 @@ mod tests { app_config_default, app_config_from_env, app_datastore_param_nostr_profile, - app_datastore_param_log_error, + app_datastore_param_log_entry, app_datastore_key_eula_date, app_datastore_key_nostr_key, app_datastore_obj_key_app_data, @@ -312,7 +312,7 @@ mod tests { APP_DATASTORE_KEY_NOSTR_KEY, APP_DATASTORE_KEY_OBJ_APP_DATA, APP_DATASTORE_KEY_OBJ_CFG_DATA, - APP_DATASTORE_KEY_LOG_ERROR, + APP_DATASTORE_KEY_LOG_ENTRY, APP_KEYSTORE_KEY_NOSTR_DEFAULT, }; use radroots_app_core::idb::{IDB_CONFIG_DATASTORE, IDB_CONFIG_KEYSTORE_NOSTR}; @@ -402,8 +402,8 @@ mod tests { ); assert_eq!(app_datastore_param_nostr_profile("abc"), "nostr:abc:profile"); assert_eq!( - app_datastore_param_log_error("entry"), - format!("{APP_DATASTORE_KEY_LOG_ERROR}:entry") + app_datastore_param_log_entry("entry"), + format!("{APP_DATASTORE_KEY_LOG_ENTRY}:entry") ); } @@ -448,8 +448,8 @@ mod tests { ); let nostr_param = app_datastore_param_key(&config, "nostr_profile").expect("param"); assert_eq!(nostr_param("abc"), "nostr:abc:profile"); - let log_param = app_datastore_param_key(&config, "log_error").expect("param"); - assert_eq!(log_param("entry"), format!("{APP_DATASTORE_KEY_LOG_ERROR}:entry")); + let log_param = app_datastore_param_key(&config, "log_entry").expect("param"); + assert_eq!(log_param("entry"), format!("{APP_DATASTORE_KEY_LOG_ENTRY}:entry")); } #[test] diff --git a/app/src/lib.rs b/app/src/lib.rs @@ -51,7 +51,7 @@ pub use logging::{ app_log_entry_store, app_log_error_emit, app_log_error_store, - app_log_error_key, + app_log_entry_key, app_log_metadata, app_log_timestamp_ms, app_logging_init, @@ -73,7 +73,7 @@ pub use config::{ app_datastore_key_eula_date, app_datastore_key_nostr_key, app_datastore_param_nostr_profile, - app_datastore_param_log_error, + app_datastore_param_log_entry, app_datastore_param_radroots_profile, app_datastore_param_key, app_datastore_obj_key, @@ -100,7 +100,7 @@ pub use config::{ AppKeystoreKeyMap, AppKeyMapConfig, APP_DATASTORE_KEY_EULA_DATE, - APP_DATASTORE_KEY_LOG_ERROR, + APP_DATASTORE_KEY_LOG_ENTRY, APP_DATASTORE_KEY_NOSTR_KEY, APP_DATASTORE_KEY_OBJ_APP_DATA, APP_DATASTORE_KEY_OBJ_CFG_DATA, diff --git a/app/src/logging.rs b/app/src/logging.rs @@ -232,11 +232,11 @@ pub fn app_log_error_emit<E: AppLoggableError>(err: &E) -> AppLogEntry { entry } -pub fn app_log_error_key( +pub fn app_log_entry_key( key_maps: &AppKeyMapConfig, entry_id: &str, ) -> AppLogResult<String> { - let param = app_datastore_param_key(key_maps, "log_error")?; + let param = app_datastore_param_key(key_maps, "log_entry")?; Ok(param(entry_id)) } @@ -245,7 +245,7 @@ pub async fn app_log_entry_store<T: RadrootsClientDatastore>( key_maps: &AppKeyMapConfig, entry: &AppLogEntry, ) -> AppLogResult<AppLogEntry> { - let key = app_log_error_key(key_maps, &entry.id)?; + let key = app_log_entry_key(key_maps, &entry.id)?; datastore .set_obj(&key, entry) .await @@ -315,7 +315,7 @@ pub fn app_logging_init(meta: Option<AppLogMetadata>) -> AppLoggingResult<()> { mod tests { use super::{ app_log_entry_error, - app_log_error_key, + app_log_entry_key, app_log_metadata, app_log_timestamp_ms, AppLogLevel, @@ -324,7 +324,7 @@ mod tests { use crate::{ app_key_maps_default, AppConfigError, - APP_DATASTORE_KEY_LOG_ERROR, + APP_DATASTORE_KEY_LOG_ENTRY, }; #[test] @@ -356,7 +356,7 @@ mod tests { #[test] fn log_error_key_uses_param_map() { let key_maps = app_key_maps_default(); - let key = app_log_error_key(&key_maps, "entry").expect("key"); - assert_eq!(key, format!("{APP_DATASTORE_KEY_LOG_ERROR}:entry")); + let key = app_log_entry_key(&key_maps, "entry").expect("key"); + assert_eq!(key, format!("{APP_DATASTORE_KEY_LOG_ENTRY}:entry")); } }