#!/usr/bin/env bash
# Configure l'authentification du kit social (index.php + mot de passe).
#
# Usage :
#   ./scripts/setup-social-kit-auth.sh planning-social-ete-2026
#   ./scripts/setup-social-kit-auth.sh planning-social-ete-2026 --password 'MonMotDePasse'
#
# Variables (.secrets/.env) :
#   KIT_SOCIAL_HTTP_USER  (défaut : kit)
#   KIT_SOCIAL_HTTP_PASSWORD (généré si absent)

set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ENV_FILE="${DEPLOY_ENV:-$ROOT/.secrets/.env}"
SLUG="${1:-}"
CUSTOM_PASS=""

if [[ -z "$SLUG" ]]; then
  echo "Usage: $0 <slug-kit> [--password 'motdepasse']" >&2
  exit 1
fi

shift || true
while [[ $# -gt 0 ]]; do
  case "$1" in
    --password) CUSTOM_PASS="$2"; shift 2 ;;
    *) echo "Option inconnue : $1" >&2; exit 1 ;;
  esac
done

load_env_file() {
  local file="$1"
  [[ -f "$file" ]] || { echo "Fichier introuvable : $file" >&2; exit 1; }
  while IFS= read -r line || [[ -n "$line" ]]; do
    line="${line%%#*}"
    line="${line#"${line%%[![:space:]]*}"}"
    line="${line%"${line##*[![:space:]]}"}"
    [[ -n "$line" ]] || continue
    [[ "$line" == *"="* ]] || continue
    local key="${line%%=*}"
    local val="${line#*=}"
    key="${key#"${key%%[![:space:]]*}"}"
    key="${key%"${key##*[![:space:]]}"}"
    val="${val#"${val%%[![:space:]]*}"}"
    val="${val%"${val##*[![:space:]]}"}"
    if [[ "$val" == \"*\" && "$val" == *\" ]]; then val="${val:1:${#val}-2}"; fi
    export "$key=$val"
  done < "$file"
}

load_env_file "$ENV_FILE"

KIT_USER="${KIT_SOCIAL_HTTP_USER:-kit}"
KIT_PASS="${CUSTOM_PASS:-${KIT_SOCIAL_HTTP_PASSWORD:-}}"
if [[ -z "$KIT_PASS" ]]; then
  KIT_PASS="$(openssl rand -base64 12 | tr -d '/+=' | head -c 16)"
fi

LOCAL_PHP="$ROOT/www/propositions/${SLUG}/index.php"
LOCAL_AUTH="$ROOT/www/propositions/${SLUG}/auth-config.php"
if [[ ! -f "$LOCAL_PHP" ]]; then
  echo "Fichier introuvable : $LOCAL_PHP" >&2
  exit 1
fi

cat > "$LOCAL_AUTH" <<EOF
<?php
/** Généré par setup-social-kit-auth.sh — ne pas committer */
return [
    'user' => '${KIT_USER}',
    'pass' => '${KIT_PASS}',
];
EOF
chmod 600 "$LOCAL_AUTH"
echo ""
echo "URL : https://www.arnaud-merigeau.fr/propositions/${SLUG}/"
echo "Identifiant : ${KIT_USER}"
echo "Mot de passe : ${KIT_PASS}"
echo ""
echo "Ajoutez dans .secrets/.env :"
echo "KIT_SOCIAL_HTTP_USER=${KIT_USER}"
echo "KIT_SOCIAL_HTTP_PASSWORD=${KIT_PASS}"
