• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/update/deletedmessagefiles.php
  • Класс: BitrixImUpdateDeletedMessageFiles
  • Вызов: DeletedMessageFiles::getFileIdsFromDeletedMessage
private function getFileIdsFromDeletedMessage(array &$option): array
{
	$result = MessageParamTable::query()
		->setSelect(['LINK_MESSAGE_ID' => 'LINK_FILE.MESSAGE_ID'])
		->where('MESSAGE_ID', '>', $option['lastId'] ?? 0)
		->setOrder(['MESSAGE_ID'])
		->where('PARAM_NAME', 'IS_DELETED')
		->registerRuntimeField(
			'LINK_FILE',
			new Reference(
				'LINK_FILE',
				LinkFileTable::class,
				Join::on('this.MESSAGE_ID', 'ref.MESSAGE_ID'),
				['join_type' => Join::TYPE_INNER]
			)
		)
		->setLimit(self::LIMIT)
		->fetchAll()
	;

	if (empty($result))
	{
		return [];
	}

	$messageIds = array_unique(array_map('intval', array_column($result, 'LINK_MESSAGE_ID')));
	$option['lastId'] = max($messageIds);

	return $this->getFileIdsByMessageIds($messageIds);
}