• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/zoom.php
  • Класс: CSocServZoom
  • Вызов: CSocServZoom::updateConference
public function updateConference(array $updateParams): Result
{
	$result = new Result();
	$params = [];

	if (!$this->getEntityOAuth()->GetAccessToken())
	{
		return $result->addError(new Error('Could not get oauth token'));
	}

	$preparedData = $this->prepareDataToUpdate($updateParams);
	if (empty($preparedData))
	{
		return $result;
	}

	$externalConferenceId = $preparedData['id'];
	unset($preparedData['id']);

	$requestConferenceResult = $this->getEntityOAuth()->updateConference($externalConferenceId, $preparedData);
	if (!$requestConferenceResult->isSuccess())
	{
		return $result->addErrors($requestConferenceResult->getErrors());
	}

	if (isset($updateParams['start_time']))
	{
		$params['CONFERENCE_STARTED'] = DateTime::createFromUserTime($updateParams['start_time']);
	}

	if (isset($preparedData['duration']))
	{
		$params['DURATION'] = $preparedData['duration'];
	}

	if (!empty($params))
	{
		$addResult = ZoomMeetingTable::update($updateParams['meeting_id'], $params);
		if (!$addResult->isSuccess())
		{
			return $result->addErrors($addResult->getErrors());
		}
	}

	return $result;
}