Update packages (#16)

Reviewed-on: #16
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
phoenix
2025-12-26 22:08:10 +00:00
committed by phoenix
parent 2041e3e20b
commit 2a519e2883
12 changed files with 94 additions and 139 deletions
+46
View File
@@ -0,0 +1,46 @@
package config
import (
"encoding/json"
"flag"
"log"
"os"
"git.kundeng.us/phoenix/textsender-models/tx0/config"
)
const (
App_Name = "sender"
)
func IsVersionFlagPresent() bool {
versionFlag := flag.Bool("version", false, "Print version information")
flag.Parse()
if *versionFlag {
return true
} else {
return false
}
}
func ParseConfig(filepath string) (config config.TwilioConfig, success bool) {
content, err := os.ReadFile(filepath)
log.Println("Reading config file...")
log.Println(filepath)
if err != nil {
log.Println("An error reading the file")
return
}
err = json.Unmarshal(content, &config)
if err != nil {
log.Println("An error occurred")
return config, false
}
return config, true
}
+46
View File
@@ -0,0 +1,46 @@
package messaging
import (
"encoding/json"
"log"
"time"
"git.kundeng.us/phoenix/swoosh/swoop/send"
cnfg "git.kundeng.us/phoenix/textsender-models/tx0/config"
"git.kundeng.us/phoenix/textsender-models/tx0/contact"
msg "git.kundeng.us/phoenix/textsender-models/tx0/message"
)
func SendMessages(config cnfg.TwilioConfig, numbers [](contact.Contact), message msg.Message, secondInterval int) {
log.Println("Sending message")
longSleepLimit := 5
count := 0
var snr send.MessageSender
snr.Config = &config
for _, number := range numbers {
numberToSend := number
log.Println("Sending to: " + numberToSend.PhoneNumber)
if resp, err := snr.Send(message, number, nil); err != nil {
log.Println("Error sending:", err)
} else {
if response, err := json.Marshal(*resp); err != nil {
log.Println("Error parsing:", err)
} else {
log.Println("Response:", string(response))
}
}
log.Println("Sleeping")
if count%longSleepLimit == 0 {
// sleep for X seconds
tme := 1 * time.Second
time.Sleep(tme)
} else {
time.Sleep(time.Second)
}
}
}
+57
View File
@@ -0,0 +1,57 @@
package util
import (
"encoding/json"
"log"
"os"
"git.kundeng.us/phoenix/textsender-models/tx0/contact"
"git.kundeng.us/phoenix/textsender-models/tx0/message"
)
func GetPaths(args []string) (configPath string, numberPath string, messagePath string) {
configPath = args[1]
numberPath = args[2]
messagePath = args[3]
return
}
func ParseNumbers(filepath string) (numbers [](contact.Contact), err error) {
var nmbrs []contact.Contact
content, err := os.ReadFile(filepath)
if err != nil {
log.Println("An error occurred")
return numbers, err
} else {
if err = json.Unmarshal(content, &nmbrs); err != nil {
log.Println("An error occurred:", err)
return numbers, err
} else {
return nmbrs, nil
}
}
}
func ParseMessage(filepath string) (*message.Message, error) {
var msg message.Message
content, err := os.ReadFile(filepath)
if err != nil {
log.Println("An error occurred")
return nil, err
}
err = json.Unmarshal(content, &msg)
if err != nil {
log.Println("An error occurred")
return nil, err
}
return &msg, nil
}
+17
View File
@@ -0,0 +1,17 @@
package version
import "fmt"
var (
Version = "dev"
BuildTime = "unknown"
Commit = "unknown"
GoVersion = "unknown"
)
func String() string {
return fmt.Sprintf(
"Version: %s\nBuild Date: %s\nCommit: %s\nGo Version: %s",
Version, BuildTime, Commit, GoVersion,
)
}