Skip to main content

infraqueue_twilio/
config.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct TwilioConfig {
5    /// Twilio Account SID (starts with AC).
6    pub account_sid: String,
7    /// Twilio Auth Token (keep this secret).
8    pub auth_token: String,
9    /// Default Messaging Service SID to use if not specified per message.
10    pub messaging_service_sid: Option<String>,
11    /// Default phone number to send from if not using messaging_service_sid.
12    pub from_number: Option<String>,
13    /// Base URL for API requests (default: https://api.twilio.com).
14    #[serde(default = "TwilioConfig::default_base_url")]
15    pub base_url: String,
16    /// If true, use local mocks instead of making actual HTTP calls.
17    #[serde(default)]
18    pub mock: bool,
19}
20
21impl TwilioConfig {
22    pub fn default_base_url() -> String {
23        "https://api.twilio.com".to_string()
24    }
25}