Skip to main content

server_watchdog/application/config/
auth.rs

1use std::error::Error;
2use async_trait::async_trait;
3
4#[async_trait]
5pub trait AuthUseCase : Send + Sync {
6    async fn set_password(&self, password: Option<String>) -> Result<(), Box<dyn Error + Send + Sync>>;
7    async fn validate_password(&mut self, password: String) -> bool;
8    async fn register(&mut self, client_name: String, identity: String) -> Result<(), Box<dyn Error + Send + Sync>>;
9    async fn authenticate(&mut self, client_name: String, identity: String) -> Option<String>;
10    fn password_required(&self) -> bool;
11}