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:
@@ -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
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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,
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user