From 343d3dc569f6ca9ac7c97ab01027b84d403b71d0 Mon Sep 17 00:00:00 2001 From: kernelkind Date: Mon, 1 Apr 2024 11:04:47 -0400 Subject: [PATCH] Add login manager Signed-off-by: kernelkind --- src/lib.rs | 1 + src/login_manager.rs | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/login_manager.rs diff --git a/src/lib.rs b/src/lib.rs index 05e1be6..3e7a8fe 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -19,6 +19,7 @@ mod timeline; mod colors; mod profile; mod key_parsing; +mod login_manager; #[cfg(test)] #[macro_use] diff --git a/src/login_manager.rs b/src/login_manager.rs new file mode 100644 index 0000000..041f969 --- /dev/null +++ b/src/login_manager.rs @@ -0,0 +1,23 @@ +use crate::key_parsing::LoginError; +use nostr_sdk::Keys; +use poll_promise::Promise; + +/// Helper storage object for retrieving the plaintext key from the user and converting it into a +/// nostr-sdk Keys object if possible. +pub struct LoginManager { + pub login_key: String, + pub promise: Option>>, + pub error: Option, + pub key_on_error: Option +} + +impl LoginManager { + pub fn new() -> Self { + LoginManager { + login_key: String::new(), + promise: None, + error: None, + key_on_error: None + } + } +}