16 lines
384 B
Rust
16 lines
384 B
Rust
use std::sync::Arc;
|
|
|
|
use async_trait::async_trait;
|
|
|
|
pub type DynUserService = Arc<dyn UserService + Send + Sync>;
|
|
|
|
#[async_trait]
|
|
pub trait UserService {
|
|
async fn add_user(&self, username: String, password: String) -> anyhow::Result<String>;
|
|
async fn validate_user(
|
|
&self,
|
|
username: String,
|
|
password: String,
|
|
) -> anyhow::Result<Option<String>>;
|
|
}
|