Перейти к основному содержимому

Переместить узел оргструктуры под нового родителя

PUT 

/api/v1/clients/:clientId/orgStructures/:id/elements/:elementId/move

Описание метода

Перемещает узел оргструктуры под нового родителя (смена родительского узла). newParentId = null перемещает узел в корень. Поддерево перемещаемого узла переезжает вместе с ним — у потомков родитель не меняется, в ответ они не попадают. Метод поддерживает drag-and-drop на UI.

Возвращает обновлённые метаданные структуры и набор затронутых узлов с пересчитанными счётчиками: перемещённый узел, старый и новый родители, а также цепочки предков до корней обеих сторон. totalEmployeesCount старого родителя и его предков уменьшается на вес поддерева перемещённого узла; нового родителя и его предков — увеличивается на тот же вес. employeesCount ни у одного узла не меняется.

Если newParentId совпадает с текущим родителем узла — операция no-op: версия оргструктуры не увеличивается, в ответе — сам узел с актуальными счётчиками без раскрытия в предков.

Валидации запроса

  • Тело запроса задано.

  • IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. клиента соответствует формату UUID; клиент существует, не удалён, к нему относится пользователь, выполняющий операцию.

  • У пользователя клиента есть право ORG_STRUCTURES_UPDATE.

  • IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. оргструктуры соответствует формату UUID; оргструктура существует, принадлежит клиенту, не является Юридической, находится в статусе DRAFT.

  • Если version задана — совпадает с актуальной версией оргструктуры в БД.

  • Режим редактирования оргструктуры свободен либо захвачен инициатором операции.

  • IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. узла соответствует формату UUID; узел существует в указанной оргструктуре.

  • Если newParentId задан — узел-кандидат существует в этой же оргструктуре и не является самим перемещаемым узлом либо его потомком (проверка циклов).

  • Функционал оргструктур включён в настройках клиента.

Request

Responses

Успешная операция.