#!/bin/bash
#
# Déclenchement « à la demande » : vérifie si le Hub a une sauvegarde en attente
# (bouton « Sauvegarder maintenant ») et lance backup.sh le cas échéant.
# À planifier fréquemment :  */10 * * * *  /home/ubuntu/backups/backup-poller.sh
#
HUB_URL="https://hub.handivia.fr"
# Clé partagée = HUB_CRON_KEY du Hub. JAMAIS en dur dans le dépôt :
# la déposer sur le serveur dans /home/ubuntu/backups/.hub-key (chmod 600).
HUB_KEY="${HUB_CRON_KEY:-$(cat /home/ubuntu/backups/.hub-key 2>/dev/null)}"
[ -n "$HUB_KEY" ] || { echo "HUB_KEY manquante : renseigner /home/ubuntu/backups/.hub-key" >&2; exit 1; }

# Site(s) gérés par CE serveur → script backup associé.
declare -A SITES=(
  ["evio"]="/home/ubuntu/backups/backup-evio.sh"
  # ["cauwork"]="/home/ubuntu/backups/backup-cauwork.sh"
)

PENDING=$(curl -s "$HUB_URL/api/backup-pending?key=$HUB_KEY")
for key in "${!SITES[@]}"; do
  if echo "$PENDING" | grep -qE "\"($key|all)\""; then
    echo "[$(date)] demande détectée pour $key → lancement"
    "${SITES[$key]}"
  fi
done
