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

# ====== CONFIG ======
ARTISTE_ID=9
DB_NAME="lo4art"

BASE_DIR="/var/www/react/lo4art.com/web/cdm/oeuvres-artistes/sara conca"
TEMP_DIR="${BASE_DIR}/temp"
DEST_DIR="${BASE_DIR}"

SQL_OUT="${TEMP_DIR}/insert_oeuvres_sara_conca.sql"

# Mettre 1 pour simuler sans modifier
DRY_RUN=0

run() {
  if [[ "${DRY_RUN}" -eq 1 ]]; then
    echo "[DRY] $*"
  else
    eval "$@"
  fi
}

# ====== MAPPINGS ======
# format: "ancien_fichier|nouveau_fichier|TITRE_OEUVRE|DIMENSIONS"
# dimensions: vide => technique = NULL
ITEMS=(
  "Amor Victorious 60_ x 60_Sara Concajpg.jpeg|amorVictorious.jpeg|AMOR VICTORIOUS|60x60"
  "Constance Star.jpeg|constanceStar.jpeg|CONSTANCE STAR|"
  "Cosmic Dancer 48_ x 60_.jpeg|cosmicDancer.jpeg|COSMIC DANCER|48x60"
  "Fairy Cat diptych one 19_ x 23_.jpeg|fairyCatDiptychOne.jpeg|FAIRY CAT DIPTYCH ONE|19x23"
  "Fairy Cat diptych two 19_ x 23_.jpeg|fairyCatDiptychTwo.jpeg|FAIRY CAT DIPTYCH TWO|19x23"
  "Cosmic Star 60_ x 60__1.jpeg|cosmicStar.jpeg|COSMIC STAR|60x60"
  "Fire Horse 50_ x 50_ sara Conca.jpeg|fireHorse.jpeg|FIRE HORSE|50x50"
  "Holy Fire Sara Conca 60_x 60_.jpeg|holyFire.jpeg|HOLY FIRE|60x60"
  "Love and respect one 24_ x 24_ Sara Conca.jpeg|loveAndRespectOne.jpeg|LOVE AND RESPECT ONE|24x24"
  "Love and respect two 24_ x 24_ Sara Conca.jpeg|loveAndRespectTwo.jpeg|LOVE AND RESPECT TWO|24x24"
  "Light Guardian 50_ x 70_ Sara Conca.jpeg|lightGuardian.jpeg|LIGHT GUARDIAN|50x70"
  "Liberation 60_ x 61_.jpeg|liberation.jpeg|LIBERATION|60x61"
  "Lucky Felix 60_x 60_.jpeg|luckyFelix.jpeg|LUCKY FELIX|60x60"
  "Rise Above _60 x60_.jpeg|riseAbove.jpeg|RISE ABOVE|60x60"
  # ⚠️ Dimension étrange dans le nom d'origine (48_ x 5_) -> je laisse 48x5, ajuste si besoin.
  "Sea Keystones 48_ x 5_.jpeg|seaKeystones.jpeg|SEA KEYSTONES|48x5"
  "Starseed 50_ x 70_ Sara Conca.jpeg|starseed.jpeg|STARSEED|50x70"
  "tropical Oasis 35_ x 12_ each 4.jpeg|tropicalOasis.jpeg|TROPICAL OASIS|35x12"
)

# ====== EXEC ======
cd "${TEMP_DIR}"

echo "-> Dossier source : ${TEMP_DIR}"
echo "-> Dossier cible  : ${DEST_DIR}"
echo "-> SQL            : ${SQL_OUT}"
echo

# Génération SQL
{
  echo "-- Generated $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
  echo "USE \`${DB_NAME}\`;"
  echo
  echo "INSERT INTO oeuvre (artiste, display_home_page, nom_fichier, technique, titre_oeuvre, store, galerie)"
  echo "VALUES"
} > "${SQL_OUT}"

first=1

for item in "${ITEMS[@]}"; do
  IFS='|' read -r old new title dims <<< "${item}"

  if [[ ! -f "${old}" ]]; then
    echo "[WARN] Fichier introuvable: ${old}"
    continue
  fi

  # Renommer (dans temp)
  if [[ "${old}" != "${new}" ]]; then
    run "mv -n \"${old}\" \"${new}\""
  fi

  # Déplacer vers dossier artiste
  run "mv -n \"${new}\" \"${DEST_DIR}/\""

  # Technique
  if [[ -n "${dims}" ]]; then
    technique="Mixed Media on panel - ${dims}cm"
    technique_sql="'${technique//\'/\'\'}'"
  else
    technique_sql="NULL"
  fi

  if [[ $first -eq 1 ]]; then
    first=0
    sep="  "
  else
    sep=" ,"
  fi

  echo "${sep}(${ARTISTE_ID},0,'${new//\'/\'\'}',${technique_sql},'${title//\'/\'\'}',0,1)" >> "${SQL_OUT}"
done

# Fin SQL
echo ";" >> "${SQL_OUT}"

echo
echo "✅ Terminé."
echo "Images déplacées dans: ${DEST_DIR}"
echo "SQL généré: ${SQL_OUT}"
echo
echo "Pour exécuter le SQL:"
echo "  mysql -u root -p ${DB_NAME} < \"${SQL_OUT}\""

