Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff79d38305 | ||
|
|
a42b5aa460 | ||
|
|
ea31581464 | ||
|
|
c62fddf44e | ||
|
|
b5a01cbdc2 |
@@ -0,0 +1,65 @@
|
||||
name: sender pr
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Check
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan ${{ secrets.MY_HOST }} >> ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add -v ~/.ssh/deploy_key
|
||||
cargo check
|
||||
|
||||
fmt:
|
||||
name: Rustfmt
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add rustfmt
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan ${{ secrets.MY_HOST }} >> ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add -v ~/.ssh/deploy_key
|
||||
cargo fmt --all -- --check
|
||||
|
||||
clippy:
|
||||
name: Clippy
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add clippy
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan ${{ secrets.MY_HOST }} >> ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add -v ~/.ssh/deploy_key
|
||||
cargo clippy -- -D warnings
|
||||
@@ -4,19 +4,16 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Check
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
@@ -32,10 +29,10 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
env:
|
||||
AUTH_SID: 'n9c43yr3f2c4743f7y4329dnq238f7'
|
||||
@@ -58,10 +55,10 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add rustfmt
|
||||
- run: |
|
||||
@@ -78,10 +75,10 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add clippy
|
||||
- run: |
|
||||
@@ -98,10 +95,10 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
|
||||
Generated
+724
-683
File diff suppressed because it is too large
Load Diff
+8
-8
@@ -1,15 +1,15 @@
|
||||
[package]
|
||||
name = "sender"
|
||||
version = "0.1.2"
|
||||
version = "0.1.6"
|
||||
edition = "2024"
|
||||
rust-version = "1.95"
|
||||
license = "MIT"
|
||||
description = "CLI tool to send text messages"
|
||||
rust-version = "1.97"
|
||||
|
||||
[dependencies]
|
||||
serde_json = { version = "1.0.149" }
|
||||
tokio = { version = "1.52.2", features = ["full"] }
|
||||
futures = { version = "0.3.32" }
|
||||
textsender_models = { git = "ssh://git@git.kundeng.us/phoenix/textsender_models.git", tag = "v0.3.0" }
|
||||
swoosh = { git = "ssh://git@git.kundeng.us/phoenix/swoosh.git", tag = "v0.3.3" }
|
||||
serde_json = { version = "1.0.150" }
|
||||
tokio = { version = "1.52.3", features = ["full"] }
|
||||
schedtxt_models = { git = "ssh://git@git.kundeng.us/phoenix/schedtxt_models.git", tag = "v0.5.3", features = ["config", "contact", "envy", "message"] }
|
||||
swoosh = { git = "ssh://git@git.kundeng.us/phoenix/swoosh.git", tag = "v0.5.3" }
|
||||
|
||||
[dev-dependencies]
|
||||
async-std = { version = "1.13.2" }
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
Copyright (c) 2026 Kun Deng.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
+7
-7
@@ -20,14 +20,14 @@ fn path_exists(path: &str) -> bool {
|
||||
file.exists()
|
||||
}
|
||||
|
||||
pub async fn parse_config() -> (textsender_models::config::auxiliary::TwilioConfig, bool) {
|
||||
let mut config = textsender_models::config::auxiliary::TwilioConfig {
|
||||
pub fn parse_config() -> (schedtxt_models::config::auxiliary::TwilioConfig, bool) {
|
||||
let mut config = schedtxt_models::config::auxiliary::TwilioConfig {
|
||||
..Default::default()
|
||||
};
|
||||
let auth_sid_var = textsender_models::envy::environment::get_env("AUTH_SID").await;
|
||||
let auth_token_var = textsender_models::envy::environment::get_env("AUTH_TOKEN").await;
|
||||
let phone_number_var = textsender_models::envy::environment::get_env("PHONE_NUMBER").await;
|
||||
let service_sid_var = textsender_models::envy::environment::get_env("SERVICE_SID").await;
|
||||
let auth_sid_var = schedtxt_models::envy::environment::get_env("AUTH_SID");
|
||||
let auth_token_var = schedtxt_models::envy::environment::get_env("AUTH_TOKEN");
|
||||
let phone_number_var = schedtxt_models::envy::environment::get_env("PHONE_NUMBER");
|
||||
let service_sid_var = schedtxt_models::envy::environment::get_env("SERVICE_SID");
|
||||
config.account_sid = auth_sid_var.value;
|
||||
config.auth_token = auth_token_var.value;
|
||||
config.phone_number = phone_number_var.value;
|
||||
@@ -46,7 +46,7 @@ pub async fn parse_config() -> (textsender_models::config::auxiliary::TwilioConf
|
||||
mod tests {
|
||||
#[test]
|
||||
fn test_parse_config() {
|
||||
let (config, success) = async_std::task::block_on(super::parse_config());
|
||||
let (config, success) = super::parse_config();
|
||||
assert!(success, "Config was not parsed");
|
||||
assert_eq!(
|
||||
false,
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ async fn main() {
|
||||
println!("Message path: {m_path:?}");
|
||||
println!("Phone Number path: {n_path:?}");
|
||||
|
||||
let (config, success) = config::parse_config().await;
|
||||
let (config, success) = config::parse_config();
|
||||
if !success {
|
||||
eprintln!("Error parsing config");
|
||||
} else {
|
||||
|
||||
+13
-4
@@ -1,6 +1,6 @@
|
||||
use textsender_models::config::auxiliary::TwilioConfig;
|
||||
use textsender_models::contact::Contact;
|
||||
use textsender_models::message::Message;
|
||||
use schedtxt_models::config::auxiliary::TwilioConfig;
|
||||
use schedtxt_models::contact::Contact;
|
||||
use schedtxt_models::message::Message;
|
||||
|
||||
pub async fn send_messages(
|
||||
config: &TwilioConfig,
|
||||
@@ -16,7 +16,16 @@ pub async fn send_messages(
|
||||
schedule: false,
|
||||
schedule_at: None,
|
||||
};
|
||||
match swoosh::twilio::api::send_mssage(message, contact, param, config).await {
|
||||
let mut sendmsg = swoosh::SendMsg::default();
|
||||
sendmsg.load_config(
|
||||
&config.auth_token,
|
||||
&config.phone_number,
|
||||
&config.service_sid,
|
||||
&config.account_sid,
|
||||
);
|
||||
sendmsg.load_recipient(&contact.phone_number);
|
||||
sendmsg.load_message(&message.content);
|
||||
match sendmsg.send_message(¶m).await {
|
||||
Ok(response) => {
|
||||
println!("Raw response: {response:?}");
|
||||
let val = swoosh::twilio::api::response_to_json(response).await;
|
||||
|
||||
Reference in New Issue
Block a user