#!/bin/bash

if [[ -z "$site" ]]; then
  echo "Lancio senza Parametri!"
  exit 1
fi

echo "****************************"
echo "*** INIZIO DI $site ...  ***"
echo "****************************"

mkdir -p "__$site"
source __close_if_opened.sh
mkdir -p "../../_BAK/1"

# Array con i file da salvare in backup
backup_files=(
  "../src/db"
  "../src/root_spec"
  "../src-pwa/manifest.json"
  "../package.json"
  "../.env.development"
  "../.env.production"
  "../.env.test"
)

# Backup
for file in "${backup_files[@]}"; do
  [[ -e "$file" ]] && cp -R "$file" "../../_BAK/1/"
done

# Rimuovi le cartelle attuali in modo sicuro
upload_dirs=("../public/upload/products" "../public/upload/pages" "../public/upload/catalogo" "../public/upload/scheda" "../public/images"  "../public/myicons" "../public/js" "../public/workbox")

for dir in "${upload_dirs[@]}"; do
  [[ -d "$dir" ]] && rm -rf "$dir"/*
done


# Array con i file da ripristinare dal sito selezionato
restore_files=(
  "src/db"
  "root_spec"
  "src-pwa/manifest.json"
  "package.json"
  ".env.development"
  ".env.production"
  ".env.test"
)

for file in "${restore_files[@]}"; do
  source_path="_ALL_SITES/$site/$file"
  destination_path="../$file"

  if [[ -d "$source_path" ]]; then
    # Se è una directory, copia il contenuto direttamente nella destinazione
    echo "Copying directory content: $source_path -> $destination_path"
    cp -Rv "$source_path/." "$destination_path/"
  elif [[ -f "$source_path" ]]; then
    # Se è un file, copialo normalmente
    echo "Copying file: $source_path -> $destination_path"
    cp -v "$source_path" "$destination_path"
  else
    # Se il file/directory non esiste, stampa un avviso
    echo "Warning: Source path does not exist - $source_path"
  fi
done

# Copia dei file pubblici
[[ -d "_ALL_SITES/$site/public" ]] && cp -Rv "_ALL_SITES/$site/public/"* "../public/"

# Copia delle cartelle upload
upload_dirs=("products" "pages" "catalogo" "scheda")

echo ""
echo " *********** COPIA CARTELLE UPLOAD.............."
echo ""

for dir in "${upload_dirs[@]}"; do
  echo "  CARTELLA $dir ..."
  echo "-----------------------"

  # Percorso della cartella di origine
  source_dir="_ALL_SITES/$site/upload/$dir"
  # Percorso della cartella di destinazione
  dest_dir="../public/upload/$dir"

  # Verifica se la cartella di origine esiste
  if [[ -d "$source_dir" ]]; then
    # Crea la cartella di destinazione se non esiste
    mkdir -p "$dest_dir"

    # Copia i file dalla cartella di origine a quella di destinazione
    cp -Rv "$source_dir/"* "$dest_dir/"
  else
    echo "La cartella di origine '$source_dir' non esiste. Saltata."
  fi
done

ECHO "--------- FINE COPIA CARTELLE UPLOAD...."


# Configurazione specifica per siti
case "$site" in
  "piuchebuono.app" | "gruppomacro.app")
    echo "Copia il file .env.dev.pcb"
    cp "../../freeplanet_serverside/.env.dev.pcb" "../../freeplanet_serverside/.env.development"
    ;;
  "riso.app")
    echo "Copia il file .env.dev.riso"
    cp "../../freeplanet_serverside/.env.dev.riso" "../../freeplanet_serverside/.env.development"
    ;;
esac
