highlevel_api/storage/mod.rs
1pub mod memory;
2
3use crate::{auth::token::TokenData, error::Result};
4use async_trait::async_trait;
5
6/// Pluggable token persistence layer. Implement this trait to store session
7/// tokens in any backend (Redis, PostgreSQL, DynamoDB, etc.).
8#[async_trait]
9pub trait SessionStorage: Send + Sync {
10 async fn get(&self, key: &str) -> Result<Option<TokenData>>;
11 async fn set(&self, key: &str, token: TokenData) -> Result<()>;
12 async fn delete(&self, key: &str) -> Result<()>;
13}