v0.2.6-pre.011
This commit is contained in:
@@ -1,10 +1,35 @@
|
||||
// file: crates/ksp-app-wallet-desk/src/wallet_security.rs
|
||||
// version: 2
|
||||
// version: 3
|
||||
|
||||
//! VIEW/OWNER credential rotation contracts for Wallet Desk.
|
||||
//! VIEW/OWNER credential and strong VIEW security contracts for Wallet Desk.
|
||||
|
||||
use ts_rs::TS; // rust-rules: trait-import
|
||||
|
||||
/// Safe VIEW security status returned after one OWNER-authorized strong VIEW administration operation.
|
||||
#[derive(serde::Serialize, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export, export_to = "../frontend/ts/bindings/ksp_app_wallet_desk/wallet_security/WalletViewSecurityStatusDto.ts")]
|
||||
pub(crate) struct WalletViewSecurityStatusDto {
|
||||
/// Capability that performed the strong VIEW administration operation.
|
||||
pub(crate) capability: String,
|
||||
/// Number of effective Config-owned Wallet password candidates without names or values.
|
||||
pub(crate) configured_secret_candidate_count: usize,
|
||||
/// Whether the current Wallet state exposes a VIEW slot after the operation.
|
||||
pub(crate) view_enabled: bool,
|
||||
/// Root-scoped Wallet identifier.
|
||||
pub(crate) wallet_id: String,
|
||||
}
|
||||
|
||||
/// Builds the safe strong VIEW administration status from an authorized OWNER projection.
|
||||
pub(crate) fn view_security_status_from_authorized(wallet: &crate::WalletAuthorizedDto) -> WalletViewSecurityStatusDto {
|
||||
return WalletViewSecurityStatusDto {
|
||||
capability: wallet.capability.clone(),
|
||||
configured_secret_candidate_count: wallet.configured_secret_candidate_count,
|
||||
view_enabled: wallet.view_enabled,
|
||||
wallet_id: wallet.wallet_id.clone(),
|
||||
};
|
||||
}
|
||||
|
||||
/// New credential moved frontend -> Rust for one explicit Wallet password rotation.
|
||||
#[derive(serde::Deserialize, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
|
||||
Reference in New Issue
Block a user