Skip to main content

crabkey_types/
state.rs

1use std::sync::Arc;
2
3use crate::cache::CacheStore;
4use crate::logger::AuditLogger;
5use crate::storage::UsageStore;
6
7#[derive(Clone)]
8pub struct AppState<Extra: Clone + Send + Sync + 'static = ()> {
9    pub unkey_client: unkey::UnkeyClient,
10    pub unkey_api_id: String,
11    pub internal_secret: String,
12    pub store: Option<Arc<dyn UsageStore>>,
13    pub cache: Option<Arc<dyn CacheStore>>,
14    pub cache_ttl_secs: u64,
15    pub logger: Option<Arc<dyn AuditLogger>>,
16    pub extra: Extra,
17}