#!/bin/bash

# Script de déploiement complet pour la production
# Usage: ./prod-deploy.sh

set -e

echo "🚀 Déploiement en production..."

# Vérifier si on est dans le bon répertoire
if [ ! -f "artisan" ]; then
    echo "❌ Le fichier artisan n'est pas trouvé. Assurez-vous d'être dans le répertoire racine du projet Laravel."
    exit 1
fi

echo "🐘 Utilisation de PHP directement (production)"

echo ""
echo "🔧 Correction des permissions..."
chmod -R 775 storage
chmod -R 775 bootstrap/cache
chmod -R 775 storage/app
chmod -R 775 storage/framework
chmod -R 775 storage/logs

# Créer les répertoires s'ils n'existent pas
mkdir -p storage/framework/cache
mkdir -p storage/framework/sessions
mkdir -p storage/framework/views
mkdir -p storage/logs
mkdir -p bootstrap/cache

echo "✅ Permissions configurées"

echo ""
echo "🧹 Vidage des caches..."
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear
echo "✅ Caches vidés"

echo ""
echo "📊 Exécution des migrations..."
php artisan migrate --force
echo "✅ Migrations exécutées"

echo ""
echo "🔗 Vérification du lien de stockage..."
if [ ! -L "public/storage" ]; then
    php artisan storage:link
    echo "✅ Lien de stockage créé"
else
    echo "ℹ️  Lien de stockage déjà existant"
fi

echo ""
echo "🎯 Optimisation pour la production..."
php artisan config:cache
php artisan route:cache
php artisan view:cache
echo "✅ Optimisations appliquées"

echo ""
echo "🔧 Permissions finales..."
chmod -R 775 storage
chmod -R 775 bootstrap/cache
echo "✅ Permissions finales configurées"

echo ""
echo "🎉 Déploiement production terminé avec succès !"
echo "📋 Votre application est maintenant prête en production"
