feat(server::key_holder): ability to remotely get current state

This commit is contained in:
hdbg
2026-02-16 20:38:02 +01:00
parent e4038d9188
commit ce03b7e15d
3 changed files with 9 additions and 47 deletions

View File

@@ -41,7 +41,6 @@ zeroize = { version = "1.8.2", features = ["std", "simd"] }
kameo.workspace = true
x25519-dalek = { version = "2.0.1", features = ["getrandom"] }
chacha20poly1305 = { version = "0.10.1", features = ["std"] }
statig = { version = "0.4.1", features = ["async"] }
argon2 = { version = "0.5.3", features = ["zeroize"] }
restructed = "0.2.2"
strum = { version = "0.27.2", features = ["derive"] }

View File

@@ -3,8 +3,9 @@ use diesel::{
dsl::{insert_into, update},
};
use diesel_async::{AsyncConnection, RunQueryDsl};
use kameo::{Actor, messages};
use kameo::{Actor, Reply, messages};
use memsafe::MemSafe;
use strum::{EnumDiscriminants, IntoDiscriminant};
use tracing::{error, info};
use crate::{
@@ -18,7 +19,8 @@ use crate::{
pub mod v1;
#[derive(Default)]
#[derive(Default, EnumDiscriminants)]
#[strum_discriminants(derive(Reply), vis(pub))]
enum State {
#[default]
Unbootstrapped,
@@ -319,6 +321,11 @@ impl KeyHolder {
Ok(aead_id)
}
#[message]
pub fn get_state(&self) -> StateDiscriminants {
self.state.discriminant()
}
}
#[cfg(test)]