#!/bin/bash

source ./.env.test.risosrv

echo "Sincronizzazione in corso ... $DIRECTORY_SERVER/"
echo ""

msg="*** SERVER DI ### TEST ### RISO ****     INVIARE GLI AGGIORNAMENTI ? (Y/N)"

if [ "$1" = "" ]; then
  read -p "$msg" risposta
else
  echo $msg
  risposta=$1
fi

if [[ $risposta == "Y" || $risposta == "y" ]]; then

    # Configurazione
    REMOTE_USER="pcbuser"
    REMOTE_HOST="pcb"
    REMOTE_PORT="8822"
    REMOTE_DIR="$DIRECTORY_SERVER"
    SSH_OPTIONS="-p $REMOTE_PORT"
    CONFIG_JS="ecosystem.config.riso_test.js"
    ENV_FILE=".env.test.risosrv"
    ENV_OUT=".env.test"

    #ENV_FILE=".env.prod.pcb"
    #ENV_OUT=".env.production"

    # Array di cartelle e file da sincronizzare
    SYNC_ITEMS=(
        "css"
        "docs"
        "emails"
        "plugins"
        "sass"
        "admin_scripts"
        "src"
    )

    echo $REMOTE_DIR

    echo ""
    echo "*** Copia Cartelle ... "


    # Esegui rsync per le cartelle
    rsync -avz --delete \
        --exclude='src/server/router/upload/' \
        -e "ssh $SSH_OPTIONS" \
        "${SYNC_ITEMS[@]}" \
        "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"

    echo ""
    echo "*** Copia del file $ENV_FILE su $ENV_OUT ... "

    # Sincronizza i file specifici
    rsync -avz -e "ssh $SSH_OPTIONS" \
        $ENV_FILE "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/$ENV_OUT"

    echo ""
    echo "*** Copia del file package.json ... "
    rsync -avz -e "ssh $SSH_OPTIONS" \
        package.json "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/package.json"

    echo ""
    echo "*** Copia del file ecosystem.config.js ... "
    rsync -avz -e "ssh $SSH_OPTIONS" \
        "$CONFIG_JS" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js"

    echo ""
    echo "*** Copia del file $CONFIG_JS in ecosystem.config.js ... "
    rsync -avz -e "ssh $SSH_OPTIONS" \
        $CONFIG_JS "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js"

    echo ""
    echo "*** Copia del file aggiornaserver.txt ... "
    rsync -avz -e "ssh $SSH_OPTIONS" \
        aggiornaserver.txt "$REMOTE_USER@$REMOTE_HOST:/opt/scripts/aggiornaserver_riso_test.txt"


    # Verifica il risultato
    if [ $? -eq 0 ]; then
        echo "Sincronizzazione completata con successo.  SERVER $REMOTE_DIR! "
    else
        echo "Errore durante la sincronizzazione. Controlla l'output per i dettagli."
    fi

fi