• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Link/File/FileService.php
  • Класс: BitrixImV2LinkFileFileService
  • Вызов: FileService::getFilesBeforeMigrationFinished
public function getFilesBeforeMigrationFinished(int $chatId, int $limit, ?int $lastId = null, ?string $filename = null): BitrixImV2EntityFileFileCollection
{
	$folderModel = CIMDisk::getFolderModel($chatId, false);
	if ($folderModel === false)
	{
		return new BitrixImV2EntityFileFileCollection();
	}
	$relation = CIMChat::GetRelationById($chatId, $this->getContext()->getUserId(), true, false);
	$filter = Query::filter()
		->where('PARENT_ID', $folderModel->getId())
		->where('STORAGE_ID', $folderModel->getStorageId())
		->where('ID', '>', $relation['LAST_FILE_ID'])
	;
	if (isset($lastId))
	{
		$filter->where('ID', '<', $lastId);
	}
	if (isset($filename))
	{
		$clearFileName = str_replace("%", '', $filename);
		$filter->whereLike('NAME', "$clearFileName%");
	}
	$parameters = [
		'filter' => $filter,
		'with' => ['CREATE_USER'],
		'limit' => $limit,
		'order' => ['ID' => 'DESC']
	];
	$securityContext = new DiskSecurityContext($this->getContext()->getUserId());
	$parameters = Driver::getInstance()->getRightsManager()->addRightsCheck($securityContext, $parameters, ['ID', 'CREATED_BY']);
	$diskFiles = File::getModelList($parameters);

	return new BitrixImV2EntityFileFileCollection($diskFiles, $chatId);
}