blog/backend/feature/auth/src/adapter/gateway/user_db_service.rs
SquidSpirit e8f7f96677 BLOG-94 feat: create user when first login through OIDC
- Introduced UserDbService and UserDbServiceImpl for user data handling.
- Added UserMapper for converting between User and UserRecord.
- Implemented user creation and retrieval in the database.
- Updated AuthRepository to include user-related methods.
- Enhanced OIDC claims processing to include issuer information.
- Created user table in the database with necessary fields and indexes.
2025-08-01 12:48:11 +08:00

15 lines
403 B
Rust

use async_trait::async_trait;
use crate::{adapter::gateway::user_mapper::UserMapper, application::error::auth_error::AuthError};
#[async_trait]
pub trait UserDbService: Send + Sync {
async fn get_user_by_source_id(
&self,
issuer: &str,
source_id: &str,
) -> Result<UserMapper, AuthError>;
async fn create_user(&self, user: UserMapper) -> Result<i32, AuthError>;
}