Skip to main content

hinge_rs/
settings.rs

1#[derive(Clone, Debug)]
2pub struct Settings {
3    pub base_url: String,
4    pub sendbird_app_id: String,
5    pub sendbird_api_url: String,
6    pub sendbird_ws_url: String,
7    pub sendbird_sdk_version: String,
8    pub hinge_app_version: String,
9    pub hinge_build_number: String,
10    pub os_version: String,
11}
12
13impl Default for Settings {
14    fn default() -> Self {
15        let app_id = std::env::var("SENDBIRD_APP_ID")
16            .unwrap_or_else(|_| "3CDAD91C-1E0D-4A0D-BBEE-9671988BF9E9".into());
17        let lower = app_id.to_lowercase();
18        Self {
19            base_url: std::env::var("BASE_URL")
20                .unwrap_or_else(|_| "https://prod-api.hingeaws.net".into()),
21            sendbird_app_id: app_id.clone(),
22            sendbird_api_url: format!("https://api-{}.sendbird.com", lower),
23            sendbird_ws_url: format!("wss://ws-{}.sendbird.com", lower),
24            sendbird_sdk_version: std::env::var("SENDBIRD_SDK_VERSION")
25                .unwrap_or_else(|_| "4.26.0".into()),
26            hinge_app_version: std::env::var("HINGE_APP_VERSION")
27                .unwrap_or_else(|_| "9.91.0".into()),
28            hinge_build_number: std::env::var("HINGE_BUILD_NUMBER")
29                .unwrap_or_else(|_| "11639".into()),
30            os_version: std::env::var("OS_VERSION").unwrap_or_else(|_| "26.0".into()),
31        }
32    }
33}