ppaass_v3_proxy_core/
user.rs1use 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}