Trait WebchatSessionStore
Source pub trait WebchatSessionStore: Send + Sync {
// Required methods
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
conversation_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<WebchatSession>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn upsert<'life0, 'async_trait>(
&'life0 self,
session: WebchatSession,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_watermark<'life0, 'life1, 'async_trait>(
&'life0 self,
conversation_id: &'life1 str,
watermark: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_bearer_token<'life0, 'life1, 'async_trait>(
&'life0 self,
conversation_id: &'life1 str,
token: String,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn set_proactive<'life0, 'life1, 'async_trait>(
&'life0 self,
conversation_id: &'life1 str,
proactive_ok: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn list_by_tenant<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
env: &'life1 str,
tenant: &'life2 str,
team: Option<&'life3 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<WebchatSession>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
}