From 550f2d13f473454d5904d79f703ac08e6d3ced4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 11 Apr 2023 21:16:45 +0200 Subject: [PATCH] Add method to check if store has registration data (#156) --- presage-store-sled/src/lib.rs | 4 ++++ presage/src/store.rs | 3 +++ 2 files changed, 7 insertions(+) diff --git a/presage-store-sled/src/lib.rs b/presage-store-sled/src/lib.rs index 2496799da..620fc796a 100644 --- a/presage-store-sled/src/lib.rs +++ b/presage-store-sled/src/lib.rs @@ -334,6 +334,10 @@ impl Store for SledStore { Ok(()) } + fn is_registered(&self) -> bool { + self.load_state().unwrap_or_default().is_some() + } + fn clear_registration(&mut self) -> Result<(), SledStoreError> { self.db.remove(SLED_KEY_REGISTRATION)?; diff --git a/presage/src/store.rs b/presage/src/store.rs index 5e62d06a7..ee36c33a6 100644 --- a/presage/src/store.rs +++ b/presage/src/store.rs @@ -35,6 +35,9 @@ pub trait Store: /// Save registered (or linked) state fn save_state(&mut self, state: &Registered) -> Result<(), Self::Error>; + /// Returns whether this store contains registration data or not + fn is_registered(&self) -> bool; + /// Clear registration data (including keys), but keep received messages, groups and contacts. fn clear_registration(&mut self) -> Result<(), Self::Error>;