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