license_api/auth/
traits.rs1use std::error::Error;
2use crate::auth::models::{LoginRequest, LoginResponse, MeResponse};
3
4#[async_trait::async_trait]
5pub trait Authenticator {
6 async fn login(
7 &self,
8 creds: &LoginRequest,
9 hwid: &str
10 ) -> Result<LoginResponse, Box<dyn Error + Send + Sync>>;
11
12 async fn me(&self, access_token: &str) -> Result<MeResponse, Box<dyn Error + Send + Sync>>;
13
14 async fn link_hwid(
15 &self,
16 hwid: &str,
17 access_token: &str,
18 ) -> Result<String, Box<dyn Error + Send + Sync>>;
19}