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

SOURCE_MODULE="/var/www/html/claude-rep/dolibarr-ia/module/notetoquote"
PROD_MODULE="/var/www/html/mlsolutions/dolibarr/htdocs/custom/notetoquote"
BACKEND_DIR="/var/www/html/claude-rep/dolibarr-ia/backend"

echo "=== NoteToQuote deploy ==="

# --- Module Dolibarr ---
echo "[1/2] Syncing module..."
rsync -av --delete "$SOURCE_MODULE/" "$PROD_MODULE/"
echo "Module synced."

# --- Backend Node.js ---
echo "[2/2] Checking backend..."

# Détecte si des fichiers backend ont changé depuis le dernier build
LAST_BUILD_MARKER="$BACKEND_DIR/.last_build"
NEEDS_REBUILD=0

if [ ! -f "$LAST_BUILD_MARKER" ]; then
    NEEDS_REBUILD=1
else
    CHANGED=$(find "$BACKEND_DIR/src" -newer "$LAST_BUILD_MARKER" -name "*.ts" | head -1)
    [ -n "$CHANGED" ] && NEEDS_REBUILD=1
fi

if [ "$NEEDS_REBUILD" -eq 1 ]; then
    echo "Backend changed — rebuilding Docker image..."
    cd "$BACKEND_DIR"
    docker compose build --no-cache
    docker compose up -d
    touch "$LAST_BUILD_MARKER"
    echo "Backend rebuilt and restarted."
else
    echo "Backend unchanged — skipping rebuild."
    cd "$BACKEND_DIR"
    docker compose up -d 2>/dev/null || true
fi

echo "=== Deploy complete ==="
