/**
 * Contrôleur pour gérer les messages de contact
 */
import { sendContactEmail } from '../services/email.service.js';

/**
 * POST /api/contact
 * Envoi d'un message depuis le formulaire de contact
 */
export const submitContactForm = async (req, res) => {
  try {
    const { fullName, email, subject, message } = req.body;

    // Validation simple
    if (!fullName || !email || !subject || !message) {
      return res.status(400).json({
        success: false,
        message: 'Tous les champs sont requis'
      });
    }

    // Validation email
    const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    if (!emailRegex.test(email)) {
      return res.status(400).json({
        success: false,
        message: 'Adresse email invalide'
      });
    }

    // Envoyer l'email
    await sendContactEmail({
      fullName,
      email,
      subject,
      message
    });

    res.status(200).json({
      success: true,
      message: 'Votre message a été envoyé avec succès. Nous vous répondrons dans les plus brefs délais.'
    });

  } catch (error) {
    console.error('Erreur lors de l\'envoi du message de contact:', error);
    res.status(500).json({
      success: false,
      message: 'Une erreur est survenue lors de l\'envoi de votre message. Veuillez réessayer.'
    });
  }
};

export default {
  submitContactForm
};
