#!/bin/bash
set -e

ENV_FILE=/opt/bridgestack/bidder/.env
SERVICE=bridgestack-bidder

# Create data directories
mkdir -p /opt/bridgestack/bidder/browser_data
mkdir -p /opt/bridgestack/bidder/screenshots

# Install Playwright Firefox browser if not present
if [ ! -d "/opt/bridgestack/bidder/browser_data/firefox" ]; then
    echo "Installing Firefox browser for Playwright..."
    python3 -m playwright install firefox --with-deps 2>/dev/null || true
fi

if [ -f "$ENV_FILE" ]; then
    echo "Existing configuration found at $ENV_FILE — keeping it."
else
    echo ""
    echo "=== Bridgestack Bidder Configuration ==="
    echo ""

    read -p "Agent API Key: " AGENT_API_KEY
    read -p "Projects API URL [https://projects.bridgestack.systems]: " PROJECTS_API_URL
    PROJECTS_API_URL=${PROJECTS_API_URL:-https://projects.bridgestack.systems}
    read -p "Sentry DSN (optional, press Enter to skip): " SENTRY_DSN

    cat > "$ENV_FILE" << ENVEOF
AGENT_API_KEY=$AGENT_API_KEY
BRIDGESTACK_API=${PROJECTS_API_URL}/api/v1
PROJECTS_API_URL=$PROJECTS_API_URL
HEADLESS=false
SENTRY_DSN=$SENTRY_DSN
WS_URL=wss://projects.bridgestack.systems/ws/agent
ENVEOF

    chmod 600 "$ENV_FILE"

    echo ""
    echo "=== Configuration Summary ==="
    echo "  AGENT_API_KEY=*****${AGENT_API_KEY: -4}"
    echo "  PROJECTS_API_URL=$PROJECTS_API_URL"
    echo "  HEADLESS=false (first run needs visible browser for login)"
    echo "  SENTRY_DSN=${SENTRY_DSN:-<not set>}"
    echo ""
    echo "Config written to $ENV_FILE"
fi

chown -R nayana:nayana /opt/bridgestack/bidder/

systemctl daemon-reload
systemctl enable ${SERVICE}.service

if systemctl is-active --quiet ${SERVICE}.service; then
    systemctl restart ${SERVICE}.service
    echo "${SERVICE} restarted."
else
    systemctl start ${SERVICE}.service
    echo "${SERVICE} started."
fi

echo "Logs: journalctl -u ${SERVICE} -f"
