- add: Refresh Session call to actually refresh the cache session.

This commit is contained in:
2025-03-21 23:23:38 -04:00
parent 4046f56191
commit 9e984d2aa8
5 changed files with 68 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
use crate::session::{session_service_client::SessionServiceClient, GetSessionRequest, GetSessionResponse};
use crate::session::{session_service_client::SessionServiceClient, GetSessionRequest, GetSessionResponse, RefreshSessionRequest, RefreshSessionResponse};
use async_trait::async_trait;
use chrono::{DateTime, Utc};
use std::error::Error;
@@ -11,6 +11,10 @@ pub trait SessionClientTrait: Sized {
&mut self,
session_id: String,
) -> Result<GetSessionResponse, Box<dyn std::error::Error>>;
async fn refresh_session(
&mut self,
session_id: String,
) -> Result<RefreshSessionResponse, Box<dyn std::error::Error>>;
}
#[derive(Clone)]
pub struct SessionClient {
@@ -31,4 +35,11 @@ impl SessionClientTrait for SessionClient {
let response = self.client.get_session(request).await?;
Ok(response.into_inner())
}
async fn refresh_session(&mut self, session_id: String) -> Result<RefreshSessionResponse, Box<dyn Error>> {
let request = tonic::Request::new(RefreshSessionRequest {
session_id,
});
let response = self.client.refresh_session(request).await?;
Ok(response.into_inner())
}
}