• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Controller/Import.php
  • Класс: BitrixImV2ControllerImport
  • Вызов: Import::createGroupAction
public function createGroupAction(int $ownerId, CurrentUser $user, array $fields = [], string $externalId = ''): ?array
{
	if (!ImportService::isAdmin((int)$user->getId()))
	{
		$this->addError(new ImportError(ImportError::ACCESS_ERROR));

		return null;
	}
	$isOpen = ($fields['isOpen'] ?? 'N') === 'Y';
	$type = $isOpen ? IM_MESSAGE_OPEN : IM_MESSAGE_CHAT;

	$chatParams = [
		'TITLE' => $fields['title'] ?? null,
		'DESCRIPTION' => $fields['description'] ?? null,
		'TYPE' => $type,
		'AVATAR_ID' => $this->saveAvatar($fields['avatar'] ?? null),
		'ENTITY_ID' => $externalId,
		'AUTHOR_ID' => $ownerId,
		'USERS' => false,
	];

	$initResult = ImportService::create($chatParams);

	if (!$initResult->isSuccess())
	{
		$this->addErrors($initResult->getErrors());

		return null;
	}

	return $this->convertKeysToCamelCase($initResult->getResult());
}