#!/usr/bin/env bash
#
# Synchro quotidienne des disponibilités (congés / télétravail / présence) depuis
# le Google Sheet « availability_google_sheet » vers la table collaborator_availability.
#
# À lancer par cron OVH (voir docs/sauvegardes.md — section crons) :
#   30 4 * * * cd ~/apps/SensiTools-Gestion-de-Projet/sos-symfony && bash scripts/sync-availability.sh >> ~/sensitools-backups/sync-availability.log 2>&1
#
# Prérequis : credentials Google configurés dans .env.local (GOOGLE_SHEETS_CREDENTIALS_JSON
# ou GOOGLE_APPLICATION_CREDENTIALS) ET egress OVH autorisé vers googleapis.com.
# Diagnostic rapide de l'accès : php bin/console app:google-sheet:test availability_google_sheet
#
# S'arrête à la première erreur (set -e). N'écrit jamais ailleurs que dans
# collaborator_availability ; ne supprime rien (création / mise à jour de présence).

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
cd "${PROJECT_DIR}"

export APP_ENV="${APP_ENV:-prod}"

echo "== [$(date '+%Y-%m-%d %H:%M:%S')] Synchro disponibilités (Google Sheet -> base) =="
php bin/console app:google-sheet:sync availability_google_sheet --no-interaction
echo "== Terminé =="
