RolePermissionService::saveRole

  1. Bitrix24 API (v. 23.675.0)
  2. sender
  3. RolePermissionService
  4. saveRole
  • Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/access/service/rolepermissionservice.php
  • Класс: Bitrix\Sender\Access\Service\RolePermissionService
  • Вызов: RolePermissionService::saveRole
public function saveRole(string $name, int $dealCategoryId = -1, int $roleId = null): int
{
	$nameField = [
		"NAME" => Encoding::convertEncodingToCurrent($name),
		"DEAL_CATEGORY_ID" => $dealCategoryId
	];

	try
	{
		if(!$roleId)
		{
			if(!
				(
					$role = RoleTable::getList(
					['filter' => [
						'=NAME' => $nameField['NAME'],
						'=DEAL_CATEGORY_ID' => $nameField['DEAL_CATEGORY_ID']
					]])->fetchObject()
				)
			)
			{
				$role = RoleTable::add($nameField);
			}
		}
		else
		{
			$role = RoleTable::update($roleId, $nameField);
		}
	} catch (\Exception $e)
	{
		throw new SqlQueryException(self::DB_ERROR_KEY);
	}

	return $role->getId();
}

Добавить комментарий