ppaass_v3_proxy_core/
user.rs

1use ppaass_common::error::CommonError;
2use ppaass_common::user::repo::fs::FileSystemUserInfoRepository;
3use ppaass_common::user::{UserInfo, UserInfoRepository};
4use std::sync::Arc;
5use tokio::sync::RwLock;
6#[derive(Debug)]
7pub struct ForwardProxyUserRepository {
8    concrete_user_repo: FileSystemUserInfoRepository,
9}
10impl ForwardProxyUserRepository {
11    pub fn new(concrete_user_repo: FileSystemUserInfoRepository) -> Self {
12        Self { concrete_user_repo }
13    }
14}
15
16#[async_trait::async_trait]
17impl UserInfoRepository for ForwardProxyUserRepository {
18    async fn get_user(&self, username: &str) -> Result<Option<Arc<RwLock<UserInfo>>>, CommonError> {
19        self.concrete_user_repo.get_user(username).await
20    }
21    async fn list_all_users(&self) -> Result<Vec<Arc<RwLock<UserInfo>>>, CommonError> {
22        self.concrete_user_repo.list_all_users().await
23    }
24}