Spaces:
No application file
No application file
File size: 1,055 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<?php
namespace MauticPlugin\MauticCrmBundle\Integration\Salesforce\Helper;
class StateValidationHelper
{
/**
* @var string[]
*/
private static array $supportedCountriesWithStates = [
'United States',
'Canada',
'Australia',
'Brazil',
'China',
'India',
'Ireland',
'Italy',
'Mexico',
];
/**
* Out of the box SF only supports states for the following countries. So in order to prevent SF from rejecting the entire payload, we'll
* only send state if it is supported out of the box by SF.
*
* @return array
*/
public static function validate(array $mappedData)
{
if (!isset($mappedData['State'])) {
return $mappedData;
}
if (
!isset($mappedData['Country'])
|| !in_array($mappedData['Country'], self::$supportedCountriesWithStates)
) {
unset($mappedData['State']);
return $mappedData;
}
return $mappedData;
}
}
|