- update: database client to implement a database trait so we can mock it out

- update unit tests
- add: database client mock
This commit is contained in:
2024-11-25 22:20:15 -05:00
parent 3ff22c9a5b
commit 3fc6c6252c
15 changed files with 181 additions and 103 deletions

View File

@@ -1,17 +1,17 @@
use tonic::{Request, Response, Status};
use crate::jwt::{generate_token, validate_token};
use crate::users::verify_user;
use crate::database_client::DatabaseClient;
use crate::database_client::{DatabaseClient, DatabaseClientTrait};
use crate::auth::auth_service_server::{AuthService};
use crate::auth::{LoginRequest, LoginResponse, ValidateTokenRequest, ValidateTokenResponse};
use tracing::{info, warn};
pub struct MyAuthService {
pub db_client: DatabaseClient,
pub struct MyAuthService<T: DatabaseClientTrait + Clone> {
pub db_client: T,
}
#[tonic::async_trait]
impl AuthService for MyAuthService {
impl<T: DatabaseClientTrait + Send + Sync + Clone + 'static> AuthService for MyAuthService<T> {
async fn login(
&self,
request: Request<LoginRequest>,