about summary refs log tree commit diff
path: root/tools/sendsms/src/message.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtools/sendsms/src/message.rs76
1 files changed, 0 insertions, 76 deletions
diff --git a/tools/sendsms/src/message.rs b/tools/sendsms/src/message.rs
deleted file mode 100755
index 9aa94a4..0000000
--- a/tools/sendsms/src/message.rs
+++ /dev/null
@@ -1,76 +0,0 @@
-use crate::config::Config;
-use reqwest::blocking::Client;
-use serde::Deserialize;
-use std::collections::HashMap;
-use std::fmt::{self, Display, Formatter};
-
-const TWILIO_BASE_URL: &str = "https://api.twilio.com/2010-04-01/Accounts";
-
-#[derive(Deserialize, Debug)]
-pub struct Message {
-    pub from: String,
-    pub to: String,
-    pub body: String,
-}
-
-// list of possible values: https://www.twilio.com/docs/sms/api/message-resource#message-status-values
-#[derive(Debug, Deserialize, Clone)]
-#[allow(non_camel_case_types)]
-pub enum MessageStatus {
-    accepted,
-    scheduled,
-    queued,
-    sending,
-    sent,
-    receiving,
-    received,
-    delivered,
-    undelivered,
-    failed,
-    read,
-    canceled,
-}
-
-#[derive(Deserialize, Debug, Clone)]
-pub struct MessageResponse {
-    pub status: Option<MessageStatus>,
-}
-
-#[derive(Debug)]
-pub enum TwilioError {
-    HTTPError(reqwest::StatusCode),
-}
-
-impl Display for TwilioError {
-    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
-        match *self {
-            TwilioError::HTTPError(ref s) => write!(f, "Invalid HTTP status code: {}", s),
-        }
-    }
-}
-
-impl Message {
-    pub fn send(&self, config: &Config) -> Result<MessageResponse, TwilioError> {
-        let url = format!("{}/{}/Messages.json", TWILIO_BASE_URL, config.account_sid);
-
-        let mut form = HashMap::new();
-        form.insert("From", &self.from);
-        form.insert("To", &self.to);
-        form.insert("Body", &self.body);
-
-        let client = Client::new();
-        let response = client
-            .post(url)
-            .basic_auth(&config.account_sid, Some(&config.auth_token))
-            .form(&form)
-            .send()
-            .unwrap();
-
-        match response.status() {
-            reqwest::StatusCode::CREATED | reqwest::StatusCode::OK => {}
-            other => return Err(TwilioError::HTTPError(other)),
-        };
-
-        Ok(response.json().unwrap())
-    }
-}