55 lines
5.3 KiB
Rust
55 lines
5.3 KiB
Rust
// file: crates/ksp-app-wallet-desk/src/errors.rs
|
|
// version: 8
|
|
|
|
//! Application-local error codes for Wallet Desk composition and desktop runtime surfaces.
|
|
|
|
/// Shared Wallet Desk application state is internally inconsistent.
|
|
pub(crate) const ERROR_CODE_APP_STATE_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "app_state_invalid");
|
|
/// Shared Wallet Desk runtime state cannot be locked safely.
|
|
pub(crate) const ERROR_CODE_APP_STATE_LOCK_FAILED: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "app_state_lock_failed");
|
|
/// The Wallet Desk Config composite does not expose one of its required standard components with the expected `file_id`.
|
|
pub(crate) const ERROR_CODE_CONFIG_COMPOSITE_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "config_composite_invalid");
|
|
/// Frontend logging requested an unsupported level.
|
|
pub(crate) const ERROR_CODE_FRONTEND_LOG_LEVEL_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "frontend_log_level_invalid");
|
|
/// Frontend logging requested a target outside the application whitelist.
|
|
pub(crate) const ERROR_CODE_FRONTEND_LOG_TARGET_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "frontend_log_target_invalid");
|
|
/// Wallet Desk could not install the managed Logging runtime or its safe fallback.
|
|
pub(crate) const ERROR_CODE_LOGGING_BOOTSTRAP_FAILED: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "logging_bootstrap_failed");
|
|
/// Splash readiness was invoked from a window other than the splash window.
|
|
pub(crate) const ERROR_CODE_SPLASH_ORIGIN_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "splash_origin_invalid");
|
|
/// A KSP desk splash environment duration is malformed or exceeds its safety bound.
|
|
pub(crate) const ERROR_CODE_SPLASH_SETTING_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "splash_setting_invalid");
|
|
/// Tauri runtime assembly or execution failed.
|
|
pub(crate) const ERROR_CODE_TAURI_RUNTIME_FAILED: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "tauri_runtime_failed");
|
|
/// A required Tauri window is missing from the configured application runtime.
|
|
pub(crate) const ERROR_CODE_TAURI_WINDOW_MISSING: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "tauri_window_missing");
|
|
/// A Tauri window show/focus/destroy/event operation failed.
|
|
pub(crate) const ERROR_CODE_TAURI_WINDOW_OPERATION_FAILED: ksp_core_lib::ErrorCode =
|
|
ksp_core_lib::ErrorCode::new("wallet_desk", "tauri_window_operation_failed");
|
|
/// A Wallet balance request requires an authorized VIEW or OWNER session.
|
|
pub(crate) const ERROR_CODE_WALLET_AUTHORIZATION_REQUIRED: ksp_core_lib::ErrorCode =
|
|
ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_authorization_required");
|
|
/// The configured Wallet root or effective profile directory resolves to an unsupported filesystem object.
|
|
pub(crate) const ERROR_CODE_WALLET_DIRECTORY_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_directory_invalid");
|
|
/// Wallet Desk could not inspect or create the configured Wallet directory tree.
|
|
pub(crate) const ERROR_CODE_WALLET_DIRECTORY_PREPARE_FAILED: ksp_core_lib::ErrorCode =
|
|
ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_directory_prepare_failed");
|
|
/// A native save-picker Wallet export destination is not a usable local filesystem path.
|
|
pub(crate) const ERROR_CODE_WALLET_EXPORT_DESTINATION_INVALID: ksp_core_lib::ErrorCode =
|
|
ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_export_destination_invalid");
|
|
/// A native-picker Wallet transfer source is not a supported regular file or cannot be staged safely.
|
|
pub(crate) const ERROR_CODE_WALLET_IMPORT_SOURCE_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_import_source_invalid");
|
|
/// Wallet import was requested without one previously inspected native-picker source.
|
|
pub(crate) const ERROR_CODE_WALLET_IMPORT_SOURCE_MISSING: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_import_source_missing");
|
|
/// Wallet Desk cannot enumerate or inspect its effective Wallet inventory directory.
|
|
pub(crate) const ERROR_CODE_WALLET_INVENTORY_FAILED: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_inventory_failed");
|
|
/// No effective Config-owned Wallet password candidate is available for the explicit configured-secret unlock action.
|
|
pub(crate) const ERROR_CODE_WALLET_SECRET_CANDIDATES_MISSING: ksp_core_lib::ErrorCode =
|
|
ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_secret_candidates_missing");
|
|
/// A requested Wallet inventory identifier is unsafe or does not resolve to an eligible regular `.kspwallet` file.
|
|
pub(crate) const ERROR_CODE_WALLET_SELECTION_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_selection_invalid");
|
|
/// A Wallet session lifecycle operation is incompatible with the current state.
|
|
pub(crate) const ERROR_CODE_WALLET_SESSION_INVALID: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_session_invalid");
|
|
/// The selected Wallet does not expose an enabled VIEW capability.
|
|
pub(crate) const ERROR_CODE_WALLET_VIEW_DISABLED: ksp_core_lib::ErrorCode = ksp_core_lib::ErrorCode::new("wallet_desk", "wallet_view_disabled");
|