#!/bin/bash
set -e

echo "🌸 Starting Tiệm Ảnh Photobooth Server Container..."

# Auto-generate SSL certificates if missing
if [ ! -f cert.crt ] || [ ! -f cert.key ]; then
    echo "🔑 Generating self-signed SSL certificate with SAN..."
    openssl req -x509 -newkey rsa:2048 -keyout cert.key -out cert.crt -days 365 -nodes \
      -subj "/CN=anhnhatiot.cloud" \
      -addext "subjectAltName=DNS:localhost,DNS:anhnhatiot.cloud,IP:127.0.0.1"
fi

# Ensure media directory exists
mkdir -p media/captures

# Run Django database migrations
echo "📦 Running database migrations..."
python manage.py migrate --noinput

# Start Django backend in background
echo "🚀 Starting Django backend on 127.0.0.1:8002..."
python manage.py runserver 127.0.0.1:8002 &
DJANGO_PID=$!

# Wait for Django to bind
sleep 1.5

# Start Hybrid HTTP/HTTPS reverse proxy in foreground
echo "🛡️ Starting Hybrid HTTP/HTTPS proxy on port 5000..."
python hybrid_server.py &
PROXY_PID=$!

# Signal handler for graceful termination
trap "echo 'Shutting down services...'; kill -TERM $DJANGO_PID $PROXY_PID 2>/dev/null; exit 0" SIGINT SIGTERM

wait -n $DJANGO_PID $PROXY_PID
