Папки
Пользовательская папка — класс prsFolder. Отдельного ресурса
/v1/folders нет. Папка создаётся запросом создания той сущности,
в чьей ветке она лежит. Поле folder по умолчанию false:
без него запрос создаёт обычный узел.
POST /v1/objects/
{"folder": true, "attributes": {"cn": "Режимы работы"}}
Пустой parentId — корень этого сервиса, как при создании объекта или тега.
Чтобы положить папку внутрь объекта или другой папки, передайте их id.
POST /v1/tags/
{
"folder": true,
"parentId": "<id объекта или папки>",
"attributes": {"cn": "Счётчики"}
}
Какая команда какую папку создаёт:
Запрос |
Где появляется папка |
Что можно положить внутрь |
|---|---|---|
|
ветка объектов |
папка, объект, тег |
|
ветка тегов или объект |
папка, тег |
|
ветка коннекторов |
папка, коннектор |
|
ветка расписаний |
папка, расписание |
|
ветка хранилищ |
папка, хранилище |
|
каталог методов |
папка, метод каталога |
Тревога этим флагом папку не создаёт: запрос возвращает 422.
Каталог методов использует тот же флаг:
POST /v1/methods/
{"folder": true, "attributes": {"cn": "stdlib"}}
Имя system зарезервировано. В LDAP сохраняются cn, description,
prsActive и prsIndex.
Чтение папок — тот же GET сущности с фильтром objectClass=prsFolder.
Имя корня (objects, tags, connectors, schedules,
dataStorages, methods) допустимо в base. Тег внутри папки при scope=1
не виден: его возвращает scope=2.
Изменение и удаление — PUT и DELETE той же сущности с id папки.
Удаление снимает содержимое тем же каскадом, что удаление объекта.
Перенос в другую ветку и в собственное поддерево отклоняется.
Право на создание, изменение и удаление — право этой сущности
(prsObject.create и остальные). Отдельного действия prsFolder.*
для HTTP нет.