Spaces:
No application file
No application file
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; | |
} | |
} | |