• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/bitrix24disk/legacy/newdiskstorage.php
  • Класс: BitrixDiskBitrix24DiskLegacyNewDiskStorage
  • Вызов: NewDiskStorage::formatFolderRowToResponse
private function formatFolderRowToResponse(array $row)
{
	$objectSyncVersion = $row['SYNC_UPDATE_TIME']->getTimestamp();
	$path = $this->requireActualPathByObjectId($row['ID'], $objectSyncVersion, true);
	if (!$path)
	{
		return [];
	}

	$isLink = !empty($row['REAL_OBJECT_ID']) && $row['REAL_OBJECT_ID'] != $row['ID'];
	$name = UiText::cleanTrashCanSuffix($row['NAME']);
	$result = [
		'id' => $this->generateId(['FILE' => false, 'ID' => $row['ID']]),
		'isDirectory' => true,
		'isShared' => (bool)$this->isSharedObject($row['ID']),
		'isSymlinkDirectory' => $isLink,
		'isDeleted' => !empty($row['DELETED_TYPE']),
		'storageId' => $this->getStringStorageId(),
		'path' => '/' . trim($path, '/'),
		'name' => (string)$name,
		'version' => (string)$this->generateTimestamp($objectSyncVersion),
		'originalTimestamp' => (string)$this->generateTimestamp($row['UPDATE_TIME']->getTimestamp()),
		'extra' => [
			'id' => (string)$row['ID'],
			'iblockId' => (string)$row['STORAGE_ID'],
			'sectionId' => (string)$row['PARENT_ID'],
			'linkSectionId' => (string)($isLink ? $row['REAL_OBJECT_ID'] : ''),
			'rootSectionId' => (string)$this->storage->getRootObjectId(),
			'name' => (string)$name,
		],
		'permission' => 'W',
		'createdBy' => (string)$row['CREATED_BY'],
		'modifiedBy' => (string)$row['UPDATED_BY'],
	];

	if ($this->storage->getRootObjectId() != $row['PARENT_ID'])
	{
		$result['parentId'] = $this->generateId(['FILE' => false, 'ID' => $row['PARENT_ID']]);
	}

	return $result;
}