From 6423baebd92e45c9be85157c443dff42e65d8d14 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Fri, 1 Sep 2023 00:00:00 +0000 Subject: refactor: rebuild app skeleton Create skeleton for a complete rebuild of the prototype as a production ready product. Includes design patterns for: - dependency injection - unit testing with dependency mocking - integration testing - error handling - config storage BREAKING-CHANGE: ground-up redesign with incompatible protocol standards --- src/login.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/login.rs (limited to 'src/login.rs') diff --git a/src/login.rs b/src/login.rs new file mode 100644 index 0000000..da19a75 --- /dev/null +++ b/src/login.rs @@ -0,0 +1,16 @@ +use anyhow::{Context, Result}; + +use crate::{ + config::{ConfigManagement, ConfigManager}, + key_handling::users::{UserManagement, UserManager}, +}; + +pub fn launch(nsec: &Option) -> Result<()> { + let cfg = ConfigManager + .load() + .context("failed to load application config")?; + if !cfg.users.is_empty() { + println!("logged in as {}", cfg.users[0].nsec); + } + UserManager::default().add(nsec) +} -- cgit v1.2.3