# Corrigir Erro 500 em /admin/settings

## Diagnóstico Rápido

Execute no servidor:

```bash
cd /var/www/gestorstream/backend
bash diagnostico-500-settings.sh
```

## Possíveis Causas e Soluções

### 1. Classe SmtpSettingsController não encontrada

**Sintoma:** Erro no log: `Class 'App\Http\Controllers\Api\SmtpSettingsController' not found`

**Solução:**
```bash
cd /var/www/gestorstream/backend
composer dump-autoload
php artisan config:clear
php artisan route:clear
php artisan cache:clear
```

### 2. Erro de sintaxe no código

**Sintoma:** Erro de sintaxe PHP no log

**Solução:**
```bash
cd /var/www/gestorstream/backend
php -l app/Http/Controllers/Api/SmtpSettingsController.php
php -l routes/api.php
```

Se houver erros, corrija-os.

### 3. Cache do Laravel desatualizado

**Solução:**
```bash
cd /var/www/gestorstream/backend
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
```

### 4. Problema com autoload do Composer

**Solução:**
```bash
cd /var/www/gestorstream/backend
composer install --no-dev --optimize-autoloader
composer dump-autoload
```

### 5. Verificar logs detalhados

```bash
cd /var/www/gestorstream/backend
tail -n 100 storage/logs/laravel.log | grep -A 20 "500\|Error\|Exception"
```

### 6. Verificar se o arquivo existe

```bash
ls -la /var/www/gestorstream/backend/app/Http/Controllers/Api/SmtpSettingsController.php
```

Se não existir, o arquivo pode não ter sido enviado no git push. Verifique:

```bash
cd /var/www/gestorstream
git status
git log --oneline -5
```

### 7. Verificar rotas

```bash
cd /var/www/gestorstream/backend
php artisan route:list | grep smtp
```

Deve mostrar as rotas:
- GET /api/v1/admin/smtp/settings
- POST /api/v1/admin/smtp/settings
- POST /api/v1/admin/smtp/test

### 8. Rebuild do frontend (se necessário)

Se o erro for no frontend:

```bash
cd /var/www/gestorstream/frontend
npm run build
```

## Solução Rápida (Tentar tudo)

```bash
cd /var/www/gestorstream/backend

# Limpar todos os caches
php artisan optimize:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan cache:clear

# Recarregar autoload
composer dump-autoload

# Verificar sintaxe
php -l app/Http/Controllers/Api/SmtpSettingsController.php
php -l routes/api.php

# Recriar caches
php artisan config:cache
php artisan route:cache

# Verificar se está funcionando
php artisan route:list | grep smtp
```

## Se o erro persistir

1. Verifique os logs detalhados:
```bash
tail -f /var/www/gestorstream/backend/storage/logs/laravel.log
```

2. Tente acessar a rota diretamente:
```bash
curl -H "Authorization: Bearer SEU_TOKEN" https://gestor.jf.eng.br/api/v1/admin/smtp/settings
```

3. Verifique se o arquivo foi realmente enviado:
```bash
cd /var/www/gestorstream
git log --oneline -1
git show HEAD:backend/app/Http/Controllers/Api/SmtpSettingsController.php | head -20
```

