Skip to main content

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}