Changed format (#13)

Reviewed-on: #13
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
phoenix
2025-11-16 01:22:14 +00:00
committed by phoenix
parent a1c197cb06
commit 83fb0aa49e
3 changed files with 29 additions and 127 deletions
+14 -28
View File
@@ -4,9 +4,6 @@ import (
"fmt" "fmt"
"os" "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/config"
"git.kundeng.us/phoenix/sender/messaging" "git.kundeng.us/phoenix/sender/messaging"
"git.kundeng.us/phoenix/sender/util" "git.kundeng.us/phoenix/sender/util"
@@ -36,10 +33,19 @@ func main() {
cfg, _ := config.ParseConfig(configPath) cfg, _ := config.ParseConfig(configPath)
cfg.PrintConfig() cfg.PrintConfig()
numbers := util.ParseNumbers(numberPath) numbers, err := util.ParseNumbers(numberPath)
prepMessage := util.ParseMessage(messagePath) 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 { if len(numbers) == 0 {
fmt.Println("No numbers to send") fmt.Println("No numbers to send")
os.Exit(-1) os.Exit(-1)
@@ -50,27 +56,7 @@ func main() {
} }
fmt.Println("") fmt.Println("")
prepMessage.Print() fmt.Println("Message:", prepMessage.Content)
convertedContacts, err := util.Convert(numbers, 1) messaging.SendMessages(cfg, numbers, *prepMessage, 5)
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")
}
} }
-36
View File
@@ -1,45 +1,9 @@
package models package models
import ( import (
"fmt"
cnfg "git.kundeng.us/phoenix/textsender-models/pkg/config" 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 { func Init() cnfg.TwiloConfig {
return cnfg.TwiloConfig{} return cnfg.TwiloConfig{}
} }
+15 -63
View File
@@ -4,12 +4,9 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"os" "os"
"strings"
"git.kundeng.us/phoenix/textsender-models/pkg/contact" "git.kundeng.us/phoenix/textsender-models/pkg/contact"
"git.kundeng.us/phoenix/textsender-models/pkg/message" "git.kundeng.us/phoenix/textsender-models/pkg/message"
"git.kundeng.us/phoenix/sender/models"
) )
func GetPaths(args []string) (configPath string, numberPath string, messagePath string) { func GetPaths(args []string) (configPath string, numberPath string, messagePath string) {
@@ -20,86 +17,41 @@ func GetPaths(args []string) (configPath string, numberPath string, messagePath
return return
} }
func ParseNumbers(filepath string) (numbers [](models.Number)) { func ParseNumbers(filepath string) (numbers [](contact.Contact), err error) {
nmbrs := [](string){} var nmbrs []contact.Contact
content, err := os.ReadFile(filepath) content, err := os.ReadFile(filepath)
if err != nil { if err != nil {
fmt.Println("An error occurred") 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) { func ParseMessage(filepath string) (*message.Message, error) {
msg := [](string){""} var msg message.Message
content, err := os.ReadFile(filepath) content, err := os.ReadFile(filepath)
if err != nil { if err != nil {
fmt.Println("An error occurred") fmt.Println("An error occurred")
return return nil, err
} }
err = json.Unmarshal(content, &msg) err = json.Unmarshal(content, &msg)
if err != nil { if err != nil {
fmt.Println("An error occurred") fmt.Println("An error occurred")
return return nil, err
} }
message.Text = strings.Join(msg, "") return &msg, nil
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")
}
} }