• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Import/ImportSendingService.php
  • Класс: BitrixImV2ImportImportSendingService
  • Вызов: ImportSendingService::updateMessages
public function updateMessages(array $messages): Result
{
	$result = new Result();
	$resultArray = [
		'SUCCESS_RESULT' => [],
		'ERROR_RESULT' => [],
	];

	$ids = array_column($messages, 'id');
	$chatIds = $this->getChatIdsByMessageIds($ids);
	$messages = $this->fillFiles($messages);

	$addedFiles = [];
	foreach ($messages as $message)
	{
		$message['chatId'] = $chatIds[(int)$message['id']] ?? null;
		$updateResult = $this->updateMessage($message);
		if (!$updateResult->isSuccess())
		{
			$error = $updateResult->getErrors()[0];
			$resultArray['ERROR_RESULT'][] = [
				'ID' =>(int)$message['id'],
				'ERROR_CODE' => $error->getCode(),
				'ERROR_MESSAGE' => $error->getMessage(),
			];
		}
		else
		{
			$resultArray['SUCCESS_RESULT'][] = $updateResult->getResult();
			if (isset($message['fileId']))
			{
				$addedFiles[] = (int)$message['fileId'];
			}
		}
	}
	$this->increaseFilesVersion($addedFiles);

	return $result->setResult($resultArray);
}