department-of-veterans-affairs/vets-website

View on GitHub
src/applications/ivc-champva/10-7959f-2/config/submitTransformer.js

Summary

Maintainability
A
2 hrs
Test Coverage
/* eslint-disable camelcase */
import { transformForSubmit as formsSystemTransformForSubmit } from 'platform/forms-system/src/js/helpers';

export default function transformForSubmit(formConfig, form) {
  const transformedData = JSON.parse(
    formsSystemTransformForSubmit(formConfig, form),
  );

  const dataPostTransform = {
    veteran: {
      date_of_birth: transformedData.veteranDateOfBirth,
      full_name: transformedData?.veteranFullName,
      physical_address: transformedData.physicalAddress || {
        country: 'NA',
        street: 'NA',
        city: 'NA',
        state: 'NA',
        postalCode: 'NA',
      },
      mailing_address: transformedData.veteranAddress || {
        country: 'NA',
        street: 'NA',
        city: 'NA',
        state: 'NA',
        postalCode: 'NA',
      },
      ssn: transformedData?.veteranSocialSecurityNumber?.ssn || '',
      va_claim_number:
        transformedData?.veteranSocialSecurityNumber?.vaFileNumber || '',
      phone_number: transformedData.veteranPhoneNumber || '',
      email_address: transformedData.veteranEmailAddress || '',
      send_payment: transformedData.sendPayment,
    },
    statementOfTruthSignature: transformedData.statementOfTruthSignature,
    current_date: new Date().toJSON().slice(0, 10),
    primaryContactInfo: {
      name: {
        first: transformedData.veteranFullName?.first,
        last: transformedData.veteranFullName?.last,
      },
      phone: transformedData.veteranPhoneNumber,
      email: transformedData.veteranEmailAddress,
    },
    supportingDocs: [transformedData.uploadSection],
  };

  return JSON.stringify({
    ...dataPostTransform,
    form_number: formConfig.formId,
  });
}