• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/restservice.php
  • Класс: BitrixBizprocRestService
  • Вызов: RestService::addProvider
static function addProvider($params, $n, $server)
{
	if (Loader::includeModule('messageservice'))
	{
		return BitrixMessageServiceRestService::addSender($params, $n, $server);
	}

	if(!$server->getClientId())
	{
		throw new AccessException("Application context required");
	}

	self::checkAdminPermissions();
	$params = self::prepareActivityData($params);

	self::validateProvider($params, $server);

	$params['APP_ID'] = $server->getClientId();
	$params['APP_NAME'] = self::getAppName($params['APP_ID']);

	$iterator = RestProviderTable::getList(array(
		'select' => array('ID'),
		'filter' => array(
			'=APP_ID' => $params['APP_ID'],
			'=CODE' => $params['CODE']
		)
	));
	$result = $iterator->fetch();
	if ($result)
	{
		throw new RestException('Provider already installed!', self::ERROR_ACTIVITY_ALREADY_INSTALLED);
	}

	$result = RestProviderTable::add($params);

	if ($result->getErrors())
		throw new RestException('Activity save error!', self::ERROR_ACTIVITY_ADD_FAILURE);

	return true;
}