#!/bin/bash

# Script de configuration de l'URL publique pour les QR codes
# Usage: ./scripts/configure-public-url.sh

set -e

echo "=========================================="
echo "Configuration de l'URL publique"
echo "=========================================="
echo ""

# Chemin du fichier .env
ENV_FILE=".env"

# Vérifier si le fichier .env existe
if [ ! -f "$ENV_FILE" ]; then
    echo "Création du fichier .env..."
    touch "$ENV_FILE"
fi

# Demander l'URL publique
echo "Entrez l'URL publique de votre application (ex: https://formations.itinova.org) :"
read PUBLIC_URL

# Vérifier que l'URL commence par http:// ou https://
if [[ ! $PUBLIC_URL =~ ^https?:// ]]; then
    echo "❌ Erreur : L'URL doit commencer par http:// ou https://"
    exit 1
fi

# Vérifier si APP_PUBLIC_URL existe déjà dans le fichier
if grep -q "^APP_PUBLIC_URL=" "$ENV_FILE"; then
    echo "La variable APP_PUBLIC_URL existe déjà dans .env"
    echo "Voulez-vous la remplacer ? (o/n)"
    read REPLACE
    if [ "$REPLACE" = "o" ] || [ "$REPLACE" = "O" ]; then
        # Remplacer la ligne existante
        sed -i "s|^APP_PUBLIC_URL=.*|APP_PUBLIC_URL=$PUBLIC_URL|" "$ENV_FILE"
        echo "✅ Variable APP_PUBLIC_URL mise à jour : $PUBLIC_URL"
    else
        echo "❌ Configuration annulée"
        exit 0
    fi
else
    # Ajouter la variable
    echo "" >> "$ENV_FILE"
    echo "# URL publique de l'application (pour les QR codes)" >> "$ENV_FILE"
    echo "APP_PUBLIC_URL=$PUBLIC_URL" >> "$ENV_FILE"
    echo "✅ Variable APP_PUBLIC_URL ajoutée : $PUBLIC_URL"
fi

echo ""
echo "=========================================="
echo "Configuration terminée !"
echo "=========================================="
echo ""
echo "⚠️  IMPORTANT : Vous devez redémarrer l'application pour que les changements soient pris en compte."
echo ""
echo "Commandes de redémarrage :"
echo "  - Avec PM2 : pm2 restart formation-manager-itinova"
echo "  - Avec systemd : sudo systemctl restart formation-manager-itinova"
echo ""
