Опубликовать оргструктуру
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
- 200
- 400
- 401
- 403
- 429
Успешная операция.
Ошибка при валидации данных запроса.
Запрос не аутенифицирован.
Для заданного пользователя доступ к ресурсу запрещен.
Превышен разрешенный лимит запросов за период.