<?php

namespace App\Http\Controllers\Front;

use App\Http\Controllers\Controller;
use App\Http\Requests\Front\ContactoRequest;
use App\Mail\Contacto\ContactoAdminMail;
use App\Mail\Contacto\ContactoClienteMail;
use Illuminate\Support\Facades\Mail;
use Symfony\Component\Mailer\Exception\TransportException;

class ContactoController extends Controller
{
    private $error_message = 'Tenemos problemas para procesar el formulario. Intente de nuevo más tarde';

    public function sendMail(ContactoRequest $request)
    {

        $admin_email = config('parametros.general.testing') == 1 ? config('parametros.email.correoProduccion') : config('parametros.email.correoDesarrollo');
        try {
            Mail::to($admin_email)->send(new ContactoAdminMail($request->all()));
            Mail::to(request('correo', ''))->send(new ContactoClienteMail($request->all()));
        } catch (TransportException $e) {
            // Error al enviar el correo electrónico
            $errorMessage = $e->getMessage();
            return response()->json([
                'mensaje' => $this->error_message,
                'code' => $errorMessage
            ], 422);
        }
        return response()->json([
            'mensaje' => 'Correo enviado exitosamente',
        ], 200);
    }
}
