• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/google/queuemanager.php
  • Класс: BitrixCalendarSyncGoogleQueueManager
  • Вызов: QueueManager::deleteEvent
static function deleteEvent(array $event): void
{
	$google = new GoogleApiSync($event['OWNER_ID']);
	$google->deleteEvent($event['G_EVENT_ID'], $event['GAPI_CALENDAR_ID']);

	if ($errors = $google->getTransportErrors())
	{
		$isUpdatedResult = false;
		/** @var Helper $googleHelper */
		$googleHelper = ServiceLocator::getInstance()->get('calendar.service.google.helper');
		if (is_array($errors))
		{
			foreach ($errors as $error)
			{
				if (
					$googleHelper->isDeletedResource($error['message'])
					|| $googleHelper->isNotFoundError($error['message'])
				)
				{
					$isUpdatedResult = true;
					CCalendarEvent::updateSyncStatus((int)$event['ID'], Dictionary::SYNC_STATUS['success']);
					break;
				}
			}
		}

		if (!$isUpdatedResult)
		{
			CCalendarEvent::updateSyncStatus((int)$event['ID'], Dictionary::SYNC_STATUS['delete']);
		}
	}
	else
	{
		CCalendarEvent::updateSyncStatus((int)$event['ID'], Dictionary::SYNC_STATUS['success']);
	}
}