private function createTo(array &$jsonData)
{
switch ($this->recipientType) {
case Topic::class:
if (count($this->recipients) > 1) {
$topics = array_map(function (Topic $topic) {
return sprintf("'%s' in topics", $topic->getIdentifier());
}, $this->recipients);
$jsonData['condition'] = implode(' || ', $topics);
break;
}
$jsonData['to'] = sprintf('/topics/%s', current($this->recipients)->getIdentifier());
break;
default:
if (count($this->recipients) === 1) {
$jsonData['to'] = current($this->recipients)->getIdentifier();
} elseif (count($this->recipients) > 1) {
$jsonData['registration_ids'] = array();
foreach ($this->recipients as $recipient) {
$jsonData['registration_ids'][] = $recipient->getIdentifier();
}
}
}
}