1 Commits
Author SHA1 Message Date
phoenixandphoenix 83fb0aa49e Changed format (#13)
Reviewed-on: #13
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-11-16 01:22:14 +00:00
3 changed files with 29 additions and 127 deletions
+14 -28
View File
@@ -4,9 +4,6 @@ import (
"fmt"
"os"
"git.kundeng.us/phoenix/textsender-models/pkg/contact"
"git.kundeng.us/phoenix/textsender-models/pkg/message"
"git.kundeng.us/phoenix/sender/config"
"git.kundeng.us/phoenix/sender/messaging"
"git.kundeng.us/phoenix/sender/util"
@@ -36,10 +33,19 @@ func main() {
cfg, _ := config.ParseConfig(configPath)
cfg.PrintConfig()
numbers := util.ParseNumbers(numberPath)
prepMessage := util.ParseMessage(messagePath)
numbers, err := util.ParseNumbers(numberPath)
if err != nil {
fmt.Println("Error:", err)
return
}
if len(numbers) == 0 || prepMessage.IsEmpty() {
prepMessage, err := util.ParseMessage(messagePath)
if err != nil {
fmt.Println("Error:", err)
return
}
if len(numbers) == 0 || prepMessage.Content == "" {
if len(numbers) == 0 {
fmt.Println("No numbers to send")
os.Exit(-1)
@@ -50,27 +56,7 @@ func main() {
}
fmt.Println("")
prepMessage.Print()
fmt.Println("Message:", prepMessage.Content)
convertedContacts, err := util.Convert(numbers, 1)
if err != nil {
fmt.Println("Error converting numbers: Error:", err)
os.Exit(-1)
}
convertedMessage, err := util.Convert(prepMessage, 0)
if err != nil {
fmt.Println("Error converting message")
os.Exit(-1)
}
if contacts, ok := convertedContacts.([]contact.Contact); ok {
if msg, ok := convertedMessage.(message.Message); ok {
messaging.SendMessages(cfg, contacts, msg, 5)
} else {
fmt.Println("Could not convert message")
}
} else {
fmt.Println("Could not convert numbers")
}
messaging.SendMessages(cfg, numbers, *prepMessage, 5)
}
-36
View File
@@ -1,45 +1,9 @@
package models
import (
"fmt"
cnfg "git.kundeng.us/phoenix/textsender-models/pkg/config"
)
type Number struct {
PhoneNumber string `json:"number"`
}
func (nbr Number) IsEmpty() bool {
if nbr.PhoneNumber == "" {
return true
} else {
return false
}
}
func PrintNumbers(numbers [](Number)) {
for _, element := range numbers {
fmt.Println("Phone number:", element.PhoneNumber)
}
}
type Message struct {
Text string `json:"text"`
}
func (msg Message) IsEmpty() bool {
if msg.Text == "" {
return true
} else {
return false
}
}
func (msg Message) Print() {
fmt.Println("Message:", msg.Text)
}
func Init() cnfg.TwiloConfig {
return cnfg.TwiloConfig{}
}
+15 -63
View File
@@ -4,12 +4,9 @@ import (
"encoding/json"
"fmt"
"os"
"strings"
"git.kundeng.us/phoenix/textsender-models/pkg/contact"
"git.kundeng.us/phoenix/textsender-models/pkg/message"
"git.kundeng.us/phoenix/sender/models"
)
func GetPaths(args []string) (configPath string, numberPath string, messagePath string) {
@@ -20,86 +17,41 @@ func GetPaths(args []string) (configPath string, numberPath string, messagePath
return
}
func ParseNumbers(filepath string) (numbers [](models.Number)) {
nmbrs := [](string){}
func ParseNumbers(filepath string) (numbers [](contact.Contact), err error) {
var nmbrs []contact.Contact
content, err := os.ReadFile(filepath)
if err != nil {
fmt.Println("An error occurred")
return numbers
return numbers, err
} else {
if err = json.Unmarshal(content, &nmbrs); err != nil {
fmt.Println("An error occurred:", err)
return numbers, err
} else {
return nmbrs, nil
}
}
err = json.Unmarshal(content, &nmbrs)
if err != nil {
fmt.Println("An error occurred")
return numbers
}
for _, nbr := range nmbrs {
var number models.Number
number.PhoneNumber = nbr
numbers = append(numbers, number)
}
return numbers
}
func ParseMessage(filepath string) (message models.Message) {
msg := [](string){""}
func ParseMessage(filepath string) (*message.Message, error) {
var msg message.Message
content, err := os.ReadFile(filepath)
if err != nil {
fmt.Println("An error occurred")
return
return nil, err
}
err = json.Unmarshal(content, &msg)
if err != nil {
fmt.Println("An error occurred")
return
return nil, err
}
message.Text = strings.Join(msg, "")
return
}
func Convert(data interface{}, msgOrNumber int) (interface{}, error) {
switch msgOrNumber {
case 0:
{
if msg, ok := data.(models.Message); ok {
return message.Message{Content: msg.Text}, nil
} else {
return nil, fmt.Errorf("Could not resolve value")
}
}
case 1:
{
var items []contact.Contact
switch nbrs := data.(type) {
case []models.Number:
for _, number := range nbrs {
if !number.IsEmpty() {
items = append(items, contact.Contact{PhoneNumber: number.PhoneNumber})
}
}
default:
return nil, fmt.Errorf("Unrecognized type")
}
if len(items) == 0 {
return nil, fmt.Errorf("Failure converting")
} else {
return items, nil
}
}
default:
return nil, fmt.Errorf("Invalid msgOrNumber")
}
return &msg, nil
}