server-watchdog 0.1.0

A server monitoring and remote control tool via messenger.
Documentation
use clap::Subcommand;
use crate::application::config::AuthUseCase;

#[derive(Subcommand)]
#[derive(Debug)]
pub enum PasswordCommands {
    Set {
        password: String
    },
    Clear
}

impl PasswordCommands {

    pub async fn run(&self, auth_use_case: Box<dyn  AuthUseCase>) {
        match self {
            PasswordCommands::Set { password } => {
                println!("Password set");
                let _ = auth_use_case.set_password(Some(password.clone())).await;
            },
            PasswordCommands::Clear => {
                let _ = auth_use_case.set_password(None).await;
                println!("Password removed");
            }
        }
    }
}