Заменить руководителя узла оргструктуры
PUT/api/v1/clients/:clientId/orgStructures/:id/elements/:elementId/changeHeadManager
Описание метода
Атомарно заменяет одного руководителя (HEAD_MANAGER) узла оргструктуры на другого. Используется как для точечной замены руководителя в узле типа DEPARTMENT (где может быть несколько руководителей), так и для восстановления EMPLOYEE_AS_NODE-узла, у которого ключевой сотрудник уволен — на его место ставится новый активный сотрудник, узел сохраняет IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. и положение в дереве.
Активность старого руководителя не проверяется (допускается уволенный); активность нового руководителя обязательна, и связанный с ним пользователь должен подтвердить приглашение в систему. Имя узла этим методом не меняется — даже для EMPLOYEE_AS_NODE-узла: переименование выполняется отдельным запросом обновления узла.
Возвращает обновлённые метаданные структуры и сам узел с актуальными счётчиками и обновлённым составом headEmployees. Цепочка предков не возвращается — замена одного руководителя на другого не меняет счётчики узла или предков.
Тип узла (DEPARTMENT либо EMPLOYEE_AS_NODE) не ограничивает операцию — замена ключевого сотрудника EMPLOYEE_AS_NODE является основным сценарием восстановления узла с уволенным руководителем.
Самостоятельной идемпотентности нет: вызов с одинаковыми oldHeadManagerId и newHeadManagerId отклоняется ошибкой. Чтобы убедиться, что нужный сотрудник уже руководитель узла, — сначала прочитать карточку узла и не выполнять запрос при совпадении IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях..
Валидации запроса
-
Тело запроса задано;
oldHeadManagerIdиnewHeadManagerIdзаданы. -
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. клиента соответствует формату UUID; клиент существует, не удалён, к нему относится пользователь, выполняющий операцию.
-
У пользователя клиента есть право
ORG_STRUCTURES_UPDATE. -
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. оргструктуры соответствует формату UUID; оргструктура существует, принадлежит клиенту, не является Юридической, находится в статусе
DRAFT. -
Если
versionзадана — совпадает с актуальной версией оргструктуры в БД. -
Режим редактирования оргструктуры свободен либо захвачен инициатором операции.
-
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. узла соответствует формату UUID; узел существует в указанной оргструктуре.
-
oldHeadManagerIdне равенnewHeadManagerId. -
Новый руководитель существует в тенантеTenantЭкземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов., принадлежит клиенту, активен (не уволен) и подтвердил приглашение в систему.
-
Новый руководитель ещё не состоит в узле в любой позиции.
-
Старый руководитель присутствует в узле в позиции
HEAD_MANAGER. -
Функционал оргструктур включён в настройках клиента.
Request
Responses
- 200
- 400
- 401
- 403
- 429
Успешная операция.
Ошибка при валидации данных запроса.
Запрос не аутенифицирован.
Для заданного пользователя доступ к ресурсу запрещен.
Превышен разрешенный лимит запросов за период.