export default defineEventHandler(async (event) => {
    const { apiUrl } = useRuntimeConfig()

    const body = await readBody(event)
    const form = new FormData()

    for (const field in body) {
        form.append(field, body[field])
    }

    try {
        const res: any = await $fetch(`${apiUrl}/negresco/contact-form-7/v1/contact-forms/5/feedback`, {
            method: 'POST',
            body: form
        })

        if (res.status === 'validation_failed') {
            const fields = res.invalid_fields.map((element) => {
              return element.field
            })
            return {
                status: 'failed',
                message: 'Merci de remplir correctement chaque champ du formulaire.',
                fields
            }
        }

        return {
            status: 'success',
            message: 'Formulaire de contact envoyé avec succès. Merci à vous et à bientôt !'
        }
    } catch (err) {
        return {
            status: 'failed',
            message: 'Une erreur est survenue, merci de recommencer votre envoi.'
        }
    }
})
