#!/bin/bash
# ============================================
# Chat Switchboard - Backend Launcher
# ============================================
# Runs as an nginx entrypoint.d hook.
# Starts the Go backend in the background
# before nginx begins accepting connections.
# ============================================

set -e

echo "🔀 Starting Chat Switchboard backend..."

# Launch Go backend in background (from /app so migrations are found)
cd /app
/usr/local/bin/switchboard &
BACKEND_PID=$!

# Wait for backend to be ready (max 10s)
for i in $(seq 1 20); do
    if wget -q --spider http://localhost:${PORT:-8080}${BASE_PATH}/health 2>/dev/null; then
        echo "✅ Backend ready (PID ${BACKEND_PID})"
        exit 0
    fi
    sleep 0.5
done

echo "❌ Backend failed to start within 10s"
exit 1
