#!/usr/bin/env bash
set -euo pipefail

# Strict cPanel production deployment workflow for ALO AI English Test Ecosystem
# Required target layout:
# /home/aloeduca/english.aloeducation.com/apps
# /home/aloeduca/english.aloeducation.com/package.json

TARGET_ROOT="/home/aloeduca/english.aloeducation.com"
if [[ -d "$TARGET_ROOT" ]]; then
  ROOT_DIR="$TARGET_ROOT"
else
  ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
fi

BACKEND_DIR="$ROOT_DIR/apps/backend"
FRONTEND_DIR="$ROOT_DIR/apps/frontend"
AI_DIR="$ROOT_DIR/apps/ai-engine"
NODE_VENV="/home/aloeduca/nodevenv/english.aloeducation.com/apps/backend/24/bin/activate"

echo "=== ALO Production Deployment ==="
echo "Root: $ROOT_DIR"

echo "=== Backend Install / Build / Prisma ==="
cd "$BACKEND_DIR"
if [[ -f "$NODE_VENV" ]]; then
  # shellcheck disable=SC1090
  source "$NODE_VENV"
fi

npm install
npm run build || true
pnpm prisma generate
mkdir -p tmp
touch tmp/restart.txt

echo "=== Frontend Build ==="
cd "$FRONTEND_DIR"
npm install
npm run build
mkdir -p /home/aloeduca/public_html
cp -r dist/* /home/aloeduca/public_html/

echo "=== AI Engine Setup ==="
cd "$AI_DIR"
python3 -m venv .venv
# shellcheck disable=SC1091
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt

echo "Deployment commands completed."
echo "To run AI engine:"
echo "uvicorn main:app --host 127.0.0.1 --port 8000"
