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

Управление режимом редактирования оргструктуры

PUT 

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

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

Захватывает либо освобождает режим редактирования оргструктуры — в зависимости от query-параметра action.

Для опубликованной оргструктуры (status = PUBLISHED) ACQUIRE перенаправляется на связанную копию-черновик: если копии ещё нет, бэк создаёт её (полнаЛНА (Локальный нормативный акт). Локальный нормативный акт — внутренний документ организации, с которым сотрудники знакомятся через HRlink. Управляется через отдельный набор API-методов.я глубокая копия дерева узлов и сотрудников оригинала) и сразу захватывает на ней режим редактирования. redirectToDraftId в ответе указывает на IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. копии, на которую должен перейти UI; structure в этом случае — данные копии, а не исходной опубликованной записи.

Итоговое состояние операции возвращается в поле state:

  • ACQUIRED — режим захвачен инициатором (или уже принадлежал ему — no-op).

  • OCCUPIED — захват не удался: режим уже занят другим пользователем (force=false).

  • TAKEN_OVER — режим перехвачен у другого пользователя (force=true). Прежнему держателю лока отправляется WebSocket-уведомление ORG_STRUCTURE_EDIT_LOCK_TAKEN_OVER.

  • RELEASED — режим освобождён (или был свободен — no-op).

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

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

  • Query-параметр action распознан как ACQUIRE либо RELEASE.

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

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

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

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

  • Оргструктура не находится в статусе ARCHIVED (проверяется для обоих action).

  • Для action=RELEASE — режим редактирования свободен либо удерживается инициатором операции.

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

Request

Responses

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