#!/bin/bash

source ./.env.production

msg="*** SERVER DI PRODUZIONE ****  SEI SICURO DI INVIARE GLI AGGIORNAMENTI SERVERSIDE (NODE JS) - SUL SERVER DI PRODUZIONE ?? $SERVERDIR_WEBSITE  (Y/N) ? "

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

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

  echo "Sincronizzazione in corso NODEPRODUZIONE ... $SERVERDIR_WEBSITE/"
  echo ""

  #!/bin/bash

  # Configurazione
  REMOTE_USER="suryapaolo"
  REMOTE_HOST="servereng"
  REMOTE_PORT="8855"
  REMOTE_DIR="$SERVERDIR_WEBSITE"
  SSH_OPTIONS="-p $REMOTE_PORT"

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

  echo 

  echo ""
  echo "*** Sincronizzazione Cartelle su $REMOTE_DIR ..."


  # 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.production ... "

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

  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" \
      ecosystem.config.js "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js"

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

fi 