• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/pushwatchingmanager.php
  • Класс: BitrixCalendarSyncManagersPushWatchingManager
  • Вызов: PushWatchingManager::recreateConnectionPushChannel
private function recreateConnectionPushChannel(
	PushManagerInterface $vendorPushManager,
	Push $pushChannel,
	Connection $connection
): Result
{
	$vendorPushManager->deletePush($pushChannel);
	$result = $vendorPushManager->addConnectionPush($connection);
	if ($result->isSuccess())
	{
		$data = $result->getData();
		$pushChannel
			->setResourceId($data['RESOURCE_ID'])
			->setExpireDate(new BitrixCalendarCoreBaseDate($data['EXPIRES']));
		$this->savePushChannel($pushChannel);
	}
	else
	{
		$result->addError(new Error('Error of create push channel.'));
	}
	return $result;
}