*/ protected function materialFields(): array { return [ 'Guid', 'ConnectorId', 'Identity', 'Name', 'DisplayName', 'ConnectorType', 'Enabled', 'RequireTls', 'SenderDomains', 'SenderIPAddresses', 'TlsSenderCertificateName', 'AssociatedAcceptedDomains', 'RestrictDomainsToIPAddresses', 'CloudServicesMailEnabled', 'ConnectorSource', 'SmartHosts', 'Comment', ]; } /** * @return list> */ protected function identityAliasGroups(): array { return [ ['id', 'sourceId'], ['Guid', 'ConnectorId', 'Identity'], ]; } protected function normalizePayload(array $payload, array $identity): array { $normalized = parent::normalizePayload($payload, $identity); $normalized['routing'] = $this->settingGroup($payload, [], [ 'ConnectorType', 'Enabled', 'RequireTls', 'SenderDomains', 'SenderIPAddresses', 'TlsSenderCertificateName', 'AssociatedAcceptedDomains', 'RestrictDomainsToIPAddresses', 'CloudServicesMailEnabled', 'ConnectorSource', 'SmartHosts', 'Comment', ]); return $this->sortAssociative($normalized); } }