#!/bin/bash

# Script para corrigir composer.lock desatualizado
# Execute este script no servidor quando o update.sh falhar com erro de composer.lock

echo "======================================"
echo "  Correção: composer.lock"
echo "======================================"
echo ""

APP_DIR="/var/www/gestorstream"
cd "$APP_DIR/backend"

echo "📦 [1/3] Atualizando composer.lock..."
COMPOSER_ALLOW_SUPERUSER=1 composer update --no-dev --no-interaction --no-scripts

if [ $? -ne 0 ]; then
    echo "⚠️  Erro ao atualizar, tentando com --with-all-dependencies..."
    COMPOSER_ALLOW_SUPERUSER=1 composer update --no-dev --no-interaction --no-scripts --with-all-dependencies
fi

echo ""
echo "📦 [2/3] Instalando dependências..."
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader --no-interaction

if [ $? -ne 0 ]; then
    echo "⚠️  Erro ao instalar, tentando com --ignore-platform-reqs..."
    COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader --no-interaction --ignore-platform-reqs
fi

echo ""
echo "📦 [3/3] Verificando AWS SDK..."
if ! composer show aws/aws-sdk-php > /dev/null 2>&1; then
    echo "   Instalando AWS SDK..."
    COMPOSER_ALLOW_SUPERUSER=1 composer require aws/aws-sdk-php --no-interaction --no-scripts || {
        COMPOSER_ALLOW_SUPERUSER=1 composer require aws/aws-sdk-php --with-all-dependencies --no-interaction --no-scripts
    }
    COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader --no-interaction
else
    echo "   ✅ AWS SDK já está instalado"
fi

echo ""
echo "🔄 Limpando cache do Laravel..."
php artisan config:clear
php artisan route:clear
php artisan cache:clear

echo ""
echo "✅ Correção concluída!"
echo ""
echo "Agora você pode executar novamente: ./update.sh v1.1.4"

