Files
upstream-watermill/tools/pq/main.go
2026-09-15 21:27:46 +05:00

52 lines
929 B
Go

package main
import (
"context"
"flag"
"log"
"github.com/ThreeDotsLabs/watermill/tools/pq/backend"
"github.com/ThreeDotsLabs/watermill/tools/pq/cli"
tea "github.com/charmbracelet/bubbletea"
)
var (
backendFlag = flag.String("backend", "", "backend to use")
topicFlag = flag.String("topic", "", "topic to use")
rawTopicFlag = flag.String("raw-topic", "", "raw topic to use")
)
func main() {
flag.Parse()
config := cli.BackendConfig{
Topic: *topicFlag,
RawTopic: *rawTopicFlag,
}
err := config.Validate()
if err != nil {
log.Fatal(err)
}
var b cli.Backend
switch *backendFlag {
case "postgres":
b, err = backend.NewPostgresBackend(context.Background(), config)
if err != nil {
log.Fatal(err)
}
default:
log.Fatalf("unknown backend: %s", *backendFlag)
}
m := cli.NewModel(b)
p := tea.NewProgram(m, tea.WithAltScreen())
_, err = p.Run()
if err != nil {
log.Fatal(err)
}
}