#!/bin/sh
# wait-for-backend.sh

# Stellt sicher, dass das Skript bei einem Fehler abbricht
set -e

# Der erste Parameter ist der Host, der erreicht werden soll
host="$1"
# Alle weiteren Parameter bilden den Befehl, der danach ausgeführt werden soll
shift
cmd="$@"

# Schleife, die so lange läuft, bis der Host mit einem erfolgreichen HTTP-Status antwortet
# curl -s: silent mode (kein Fortschrittsbalken)
# curl -f: fail silently (gibt einen Fehlercode > 0 zurück, wenn der HTTP-Status nicht 2xx ist)
until curl -s -f "$host" > /dev/null; do
  >&2 echo "Backend ist noch nicht erreichbar - schlafe für 2 Sekunden"
  sleep 2
done

# Wenn die Schleife beendet ist, ist das Backend erreichbar
>&2 echo "Backend ist erreichbar - starte Vite-Server..."
# Führe den eigentlichen Befehl aus (z.B. npm run dev)
exec $cmd
