package stream

import (
	"log"

	"github.com/nats-io/nats.go"
)

// Connect verbindet uns mit dem NATS Cluster (oder lokalem Docker Container)
func Connect(url string) (*nats.Conn, error) {
	// Default auf localhost, wenn leer
	if url == "" {
		url = nats.DefaultURL
	}

	nc, err := nats.Connect(url)
	if err != nil {
		return nil, err
	}

	log.Printf("🔌 Verbunden mit NATS unter %s", url)
	return nc, nil
}

// Helper Konstanten für unsere Topic-Struktur
const (
	// Topic: game.<RoomID>.input -> Client sendet Tasten
	SubjectGameInput = "game.%s.input"

	// Topic: game.<RoomID>.state -> Server sendet Positionen
	SubjectGameState = "game.%s.state"
)
