#!/bin/bash ############################################################################### # Script de réinitialisation de l'utilisateur administrateur # Wrapper pour le script Node.js reset-admin.js ############################################################################### set -e # Couleurs RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # Vérifier que nous sommes dans le bon répertoire if [ ! -f "package.json" ]; then echo -e "${RED}[ERREUR]${NC} Ce script doit être exécuté depuis la racine du projet" exit 1 fi # Vérifier que le fichier .env existe if [ ! -f ".env" ]; then echo -e "${RED}[ERREUR]${NC} Fichier .env non trouvé" echo -e "${YELLOW}[INFO]${NC} Créez un fichier .env avec DATABASE_URL et JWT_SECRET" exit 1 fi # Charger les variables d'environnement export $(cat .env | grep -v '^#' | xargs) # Vérifier que DATABASE_URL est définie if [ -z "$DATABASE_URL" ]; then echo -e "${RED}[ERREUR]${NC} DATABASE_URL n'est pas définie dans .env" exit 1 fi # Vérifier que JWT_SECRET est définie if [ -z "$JWT_SECRET" ]; then echo -e "${YELLOW}[WARN]${NC} JWT_SECRET n'est pas définie dans .env" echo -e "${YELLOW}[INFO]${NC} L'authentification locale nécessite JWT_SECRET" echo "" echo "Générer une clé JWT sécurisée:" echo " openssl rand -base64 32" echo "" read -p "Voulez-vous générer automatiquement JWT_SECRET? (y/N) " -n 1 -r echo "" if [[ $REPLY =~ ^[Yy]$ ]]; then NEW_JWT_SECRET=$(openssl rand -base64 32) echo "JWT_SECRET=$NEW_JWT_SECRET" >> .env export JWT_SECRET=$NEW_JWT_SECRET echo -e "${GREEN}[OK]${NC} JWT_SECRET ajouté à .env" echo "" else echo -e "${RED}[ERREUR]${NC} JWT_SECRET est requis. Ajoutez-le manuellement dans .env" exit 1 fi fi # Exécuter le script Node.js node reset-admin.js