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}