import { gql } from 'graphql-request'

import fetchAPI from '@/lib/api/fetchAPI'
import type { FieldValue } from '@/components/forms/ContactForm'

const MUTATION_CREATE_GENERAL_INQUIRY_FORM_SUBMISSION = gql`
  mutation MyMutation($input: SubmitGfFormInput!) {
    submitGfForm(input: $input) {
      confirmation {
        message
        pageId
        queryString
        type
        url
      }
      errors {
        id
        message
      }
    }
  }
`

export async function submitGeneralInquiryForm(formData: FieldValue[], formId = '3') {
  const data = await fetchAPI(MUTATION_CREATE_GENERAL_INQUIRY_FORM_SUBMISSION, {
    variables: {
      input: {
        fieldValues: formData,
        id: formId,
      },
    },
  })

  if (data.submitGfForm.errors) {
    return { errors: data.submitGfForm.errors }
  }
  return data.submitGfForm
}
