• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/api/userfieldtype.php
  • Класс: BitrixRestApiUserFieldType
  • Вызов: UserFieldType::delete
static function delete($param, $n, CRestServer $server)
{
	static::checkPermission($server);

	$param = array_change_key_case($param, CASE_UPPER);

	$userTypeId = toLower($param['USER_TYPE_ID']);

	if($userTypeId == '')
	{
		throw new ArgumentNullException("USER_TYPE_ID");
	}

	$dbRes = PlacementTable::getList(array(
		'filter' => array(
			'=REST_APP.CLIENT_ID' => $server->getClientId(),
			'=ADDITIONAL' => $userTypeId
		),
		'select' => array('ID', 'APP_ID', 'ADDITIONAL')
	));
	$placementInfo = $dbRes->fetch();
	if($placementInfo)
	{
		$deleteResult = PlacementTable::delete($placementInfo['ID']);
		if($deleteResult->isSuccess())
		{
			Callback::unbind($placementInfo);
		}
		else
		{
			$errorMessage = $deleteResult->getErrorMessages();
			throw new RestException(
				'Unable to delete User Field Type: '.implode(', ', $errorMessage),
				RestException::ERROR_CORE
			);
		}
	}
	else
	{
		throw new RestException('User Field Type not found', RestException::ERROR_NOT_FOUND);
	}

	return true;
}