Twilio Config refactor (#27)
textsender_api PR / Rustfmt (pull_request) Successful in 38s
textsender_api PR / Check (pull_request) Successful in 1m59s
textsender_api PR / Clippy (pull_request) Successful in 2m52s

Reviewed-on: phoenix/textsender_api#27
This commit was merged in pull request #27.
This commit is contained in:
2026-06-21 21:13:06 -04:00
parent d37d087d44
commit 708e3e86f3
3 changed files with 19 additions and 54 deletions
Generated
+3 -3
View File
@@ -3069,7 +3069,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]] [[package]]
name = "swoosh" name = "swoosh"
version = "0.4.1" version = "0.4.1"
source = "git+ssh://git@git.kundeng.us/phoenix/swoosh.git?tag=v0.4.1-10-9e8ec15910-871#9e8ec159102951606e30ad2013f4db8dad184fad" source = "git+ssh://git@git.kundeng.us/phoenix/swoosh.git?tag=v0.4.1-10-6bdec12084-871#6bdec1208499dfa9962efd89b549d1bfa5441d85"
dependencies = [ dependencies = [
"base64-ng", "base64-ng",
"const_format", "const_format",
@@ -3153,7 +3153,7 @@ dependencies = [
[[package]] [[package]]
name = "textsender_api" name = "textsender_api"
version = "0.1.20" version = "0.1.21"
dependencies = [ dependencies = [
"axum", "axum",
"axum-extra", "axum-extra",
@@ -3181,7 +3181,7 @@ dependencies = [
[[package]] [[package]]
name = "textsender_models" name = "textsender_models"
version = "0.4.3" version = "0.4.3"
source = "git+ssh://git@git.kundeng.us/phoenix/textsender_models.git?tag=v0.4.3-29-7e5bc016b1-111#7e5bc016b11509d0468f10a5449c6918128f2e20" source = "git+ssh://git@git.kundeng.us/phoenix/textsender_models.git?tag=v0.4.3-29-720f3d8f75-111#720f3d8f7515d8cd20a9cd73086bd6c1ab857651"
dependencies = [ dependencies = [
"const_format", "const_format",
"dotenvy", "dotenvy",
+3 -3
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "textsender_api" name = "textsender_api"
version = "0.1.20" version = "0.1.21"
edition = "2024" edition = "2024"
rust-version = "1.96" rust-version = "1.96"
@@ -22,8 +22,8 @@ jsonwebtoken = { version = "10.4.0", features = ["rust_crypto"] }
josekit = { version = "0.10.3" } josekit = { version = "0.10.3" }
utoipa = { version = "5.5.0", features = ["axum_extras"] } utoipa = { version = "5.5.0", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
textsender_models = { git = "ssh://git@git.kundeng.us/phoenix/textsender_models.git", tag = "v0.4.3-29-7e5bc016b1-111" } textsender_models = { git = "ssh://git@git.kundeng.us/phoenix/textsender_models.git", tag = "v0.4.3-29-720f3d8f75-111" }
swoosh = { git = "ssh://git@git.kundeng.us/phoenix/swoosh.git", tag = "v0.4.1-10-9e8ec15910-871" } swoosh = { git = "ssh://git@git.kundeng.us/phoenix/swoosh.git", tag = "v0.4.1-10-6bdec12084-871" }
[dev-dependencies] [dev-dependencies]
url = { version = "2.5.8" } url = { version = "2.5.8" }
+13 -48
View File
@@ -81,36 +81,34 @@ pub mod endpoint {
match message_repo::get(&pool, &payload.message_id).await { match message_repo::get(&pool, &payload.message_id).await {
Ok(message) => { Ok(message) => {
println!("Valid message"); println!("Valid message");
let t_config = match load_config().await { let t_config =
Ok(config) => config, match textsender_models::config::auxiliary::load_config().await {
Err(err) => { Ok(config) => config,
eprintln!("Error: {err:?}"); Err(err) => {
response.message = String::from("Error getting config"); eprintln!("Error: {err:?}");
return ( response.message = String::from("Error getting config");
axum::http::StatusCode::INTERNAL_SERVER_ERROR, return (
axum::Json(response), axum::http::StatusCode::INTERNAL_SERVER_ERROR,
); axum::Json(response),
} );
}; }
};
let mut results: Vec< let mut results: Vec<
textsender_models::message::event::MessageEventResponse, textsender_models::message::event::MessageEventResponse,
> = Vec::new(); > = Vec::new();
// let mut results: Vec<serde_json::Value> = Vec::new();
let pp = swoosh::twilio::types::Parameters { let pp = swoosh::twilio::types::Parameters {
schedule: false, schedule: false,
schedule_at: None, schedule_at: None,
}; };
for contact in &contacts { for contact in &contacts {
match swoosh::twilio::api::send_mssage( match swoosh::twilio::api::send_message(
&message, contact, &pp, &t_config, &message, contact, &pp, &t_config,
) )
.await .await
{ {
Ok(result) => { Ok(result) => {
println!("Response: {result:?}");
let val = swoosh::twilio::api::response_to_json(result).await; let val = swoosh::twilio::api::response_to_json(result).await;
// results.push(val);
let mer = textsender_models::message::event::MessageEventResponse { let mer = textsender_models::message::event::MessageEventResponse {
user_id: payload.user_id, user_id: payload.user_id,
// TODO: Make this more accurate // TODO: Make this more accurate
@@ -170,37 +168,4 @@ pub mod endpoint {
(axum::http::StatusCode::BAD_REQUEST, axum::Json(response)) (axum::http::StatusCode::BAD_REQUEST, axum::Json(response))
} }
} }
async fn load_config()
-> Result<textsender_models::config::auxiliary::TwilioConfig, std::io::Error> {
let mut config = textsender_models::config::auxiliary::TwilioConfig {
..Default::default()
};
let auth_sid_var = textsender_models::envy::environment::get_env("TWILIO_AUTH_SID").await;
println!("{auth_sid_var:?}");
let service_sid_var =
textsender_models::envy::environment::get_env("TWILIO_SERVICE_SID").await;
println!("{service_sid_var:?}");
let auth_token_var =
textsender_models::envy::environment::get_env("TWILIO_AUTH_TOKEN").await;
println!("{auth_token_var:?}");
let phone_number_var =
textsender_models::envy::environment::get_env("TWILIO_PHONE_NUMBER").await;
println!("{phone_number_var:?}");
if auth_sid_var.value.is_empty()
|| service_sid_var.value.is_empty()
|| auth_token_var.value.is_empty()
|| phone_number_var.value.is_empty()
{
Err(std::io::Error::other("Config not set"))
} else {
config.account_sid = auth_sid_var.value;
config.service_sid = service_sid_var.value;
config.auth_token = auth_token_var.value;
config.phone_number = phone_number_var.value;
Ok(config)
}
}
} }