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

Опубликовать оргструктуру

PUT 

/api/v1/clients/:clientId/orgStructures/:id/publish

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

Публикует оргструктуру. Поведение зависит от текущего статуса:

  • Независимый черновик (status = DRAFT, basedOnId = null) переходит в PUBLISHED. Снепшот не создаётся — это первая публикация, у структуры нет «оригинала».

  • Черновик-копия опубликованной (status = DRAFT, basedOnId != null) сливается с оригиналом: бэк сохраняет снепшот текущего состояния оригинала, затем перепривязывает дерево узлов и сотрудников копии к оригиналу, переносит метаданные копии (без служебного префикса * в имени) и удаляет оболочку копии. В ответе возвращается обновлённый оригинал.

  • Опубликованная без активной копии-черновика — операция no-op, состояние не меняется.

  • Архивированная — публикация запрещена.

После публикации режим редактирования снимается автоматически. Публиковать может любой пользователь с правом ORG_STRUCTURES_UPDATE, если режим свободен или принадлежит ему — собственный режим необязателен (например, коллега публикует черновик за отсутствующего автора).

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

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

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

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

  • Оргструктура существует и принадлежит клиенту.

  • Оргструктура не является Юридической.

  • Если version задана — совпадает с актуальной версией в БД (оптимистичная блокировка).

  • Оргструктура не находится в статусе ARCHIVED.

  • Если оргструктура опубликована — у неё нет активной копии-черновика.

  • Для черновика — режим редактирования свободен либо захвачен инициатором операции.

  • Для черновика-копии — после удаления служебного префикса * имя не совпадает с именем другой оргструктуры клиента и не совпадает с зарезервированным именем Юридической оргструктуры.

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

Request

Responses

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