• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/rest/handlerservice.php
  • Класс: BitrixSaleDeliveryRestHandlerService
  • Вызов: HandlerService::checkParamsOnUpdateHandler
static function checkParamsOnUpdateHandler(array $params): void
{
	if (empty($params['ID']))
	{
		throw new RestException('Parameter ID is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (array_key_exists('NAME', $params) && empty($params['NAME']))
	{
		throw new RestException('Parameter NAME is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (array_key_exists('CODE', $params) && empty($params['CODE']))
	{
		throw new RestException('Parameter CODE is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (array_key_exists('SETTINGS', $params))
	{
		self::checkSettings($params['SETTINGS']);
	}

	if (array_key_exists('PROFILES', $params))
	{
		self::checkProfiles($params['PROFILES']);
	}

	$deliveryRestHandler = InternalsDeliveryRestHandlerTable::getList(array(
		'filter' => array(
			'ID' => $params['ID']
		)
	))->fetch();
	if (!$deliveryRestHandler)
	{
		throw new RestException('Handler not found', self::ERROR_HANDLER_NOT_FOUND);
	}

	if ($params['APP_ID'] && !empty($deliveryRestHandler['APP_ID']) && $deliveryRestHandler['APP_ID'] !== $params['APP_ID'])
	{
		throw new AccessException();
	}
}