autopush_common/db/
routing.rs

1// Rust 1.89.0 flags `StorageType` as unused even with `bigtable` set as a default feature.
2#[allow(dead_code)]
3#[derive(Clone, Eq, PartialEq, Debug)]
4pub(crate) enum StorageType {
5    BigTable,
6    Redis,
7    None,
8}
9
10impl Default for StorageType {
11    fn default() -> StorageType {
12        if cfg!(feature = "bigtable") {
13            StorageType::BigTable
14        } else if cfg!(feature = "redis") {
15            StorageType::Redis
16        } else {
17            StorageType::None
18        }
19    }
20}
21
22impl From<&str> for StorageType {
23    fn from(str: &str) -> StorageType {
24        match str.to_lowercase().as_str() {
25            "bigtable" => StorageType::BigTable,
26            "redis" => StorageType::Redis,
27            _ => {
28                warn!("Using default StorageType for {str}");
29                StorageType::default()
30            }
31        }
32    }
33}