overpush/cmd/overpush/main.go

54 lines
1.2 KiB
Go
Raw Normal View History

2023-06-09 03:39:40 +00:00
package main
import (
"context"
"flag"
"fmt"
"strings"
"time"
"git.wntrmute.dev/kyle/goutils/die"
pb "git.wntrmute.dev/kyle/overpush/proto"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
)
func main() {
address := "127.0.0.1:5000"
m := &pb.Message{
Type: pb.MessageType_MessageTypeMessage,
Timestamp: time.Now().Unix(),
Priority: pb.Priority_PriorityNormal,
}
var r string
flag.StringVar(&address, "a", address, "`address` of overpush server")
flag.StringVar(&m.Text, "m", "this is a test message", "`message` text")
flag.StringVar(&m.Title, "t", "test test", "message title")
flag.StringVar(&r, "r", "", "recipients")
flag.Parse()
m.Recipients = strings.Split(r, ",")
if m.Text == "" && m.Title == "" {
die.With("no message or title specified")
}
if m.Title != "" {
m.Type = pb.MessageType_MessageTypeMessageWithTitle
}
var opts = []grpc.DialOption{
grpc.WithTransportCredentials(insecure.NewCredentials()),
}
conn, err := grpc.Dial(address, opts...)
die.If(err)
defer conn.Close()
client := pb.NewOverpushClient(conn)
resp, err := client.QueueMessage(context.Background(), m)
die.If(err)
fmt.Printf("response status: %d\n", resp.Status)
}