Для выполнения любых настроек системы необходима первичная авторизация в системе. Настройки должны выполняться от имени пользователя с правами администратора.
Авторизация в системе осуществляется путем указания токена авторизации в заголовке Authorization.
Для получения токена необходимо выполнить POST запрос к эндпоинту api/user/login в котором передать пару логин-пароль пользователя, от имени которого должна происходить авторизация.
В ответ будет получен JSON в котором содержится список атрибутов пользователя и их значение, а также атрибут “token” значение которого потребуется указывать в заголовке “Authorziation” при последующих обращениях к системе.
Также в ответе содержится атрибут "expires", в котором указана дата действия полученного токена и после которой его необходимо будет получить заново.
Базовой сущностью в системе Vitro является элемент. Частными случаями элементов являются:
Атрибут
Тип элемента
Список
Документ
Папка
Создание или изменение любых элементов системы происходит путем отправки POST-запроса к эндпоинту api/item/update, в котором передается список создаваемых элементов, с указанием обязательных параметров:
Guid родительского списка (списка в котором они должны находиться)
Guid типа создаваемого элемента
Набора атрибутов и их значений, соответствующих указанному типу элемента.
Также могут быть указаны дополнительные параметры:
Guid родительского элемента (если создаваемый элемент должен находится внутри другого элемента – папки)
Guid изменяемого элемента (при изменении существующего элемента)
Для примера приведено создание элемента типа «Папка» с именем «Папка_1» в списке «Файлы» внутри другого элемента этого списка.
parent_id: “5164dc08-adf0-e80d-89e8-3f0ca000ed98” - Guid элемента, внутри которого хотим создать наш элемент
id: “4673dc08-3441-f03d-9e46-5866102fa3a2” - Guid элемента, который требуется изменить
content_type_id: “ea164a18-7eb5-44f7-a638-5bb7c05221e6”– Guid типа “Папка”
name: “Папка_2” – новое название типа элемента
Создание атрибутов
Создание атрибута происходит путем создания элемента требуемого типа в списке "Атрибуты" через отправку POST-запроса, в котором передается список создаваемых атрибутов, с указанием их родительского списка, типа элемента (атрибута) и набора свойств и их значений, соответствующих указанному типу атрибута.
content_type_id: {attribute_type_id} – Guid типа атрибута
name: {attribute_name} – название атрибута
internal_name: {attribute_internal_name} – системное имя атрибута в формате snake_case
помимо указанных обязательных свойств (имя и системное имя) можно указать также остальные, специфичные для создаваемого типа атрибута свойства и их значения.
При необходимости можно получить список доступных для создания типов атрибутов и их свойств через POST-запроса к эндпоинту api/contenttype/getByList
Создание типов элементов системы происходит путем создания элемента в списке "Тип контента" через отправку POST-запроса, в котором передается список создаваемых элементов, с указанием родительского списка, родительского типа элемента (элемента от которого создаваемый наследует атрибуты), типа создаваемого элемента и набора атрибутов и их значений, соответствующих указанному типу элемента.
content_type_id: “ea164a18-7eb5-44f7-a638-5bb7c05221e6”– Guid типа элемента “Тип контента”
name: {element_name} – название создаваемого типа элемента
folder: {true/false} – является ли создаваемый тип элемента папкой
description: {element_description} - описание типа элемента
Добавление атрибута к типу элемента
Добавление атрибутов к типу элемента происходит путем создания элемента типа «Поля типов контента» (связь типа элемента и атрибута) в списке «Поля типов контента» через отправку POST-запроса, в котором передается список элементов, для которых требуется добавить атрибут, с указанием типа элемента и типа добавляемого атрибута.
Authorization:{token} – токен, полученный на этапе авторизации
list_id: “d702e382-b9a9-456b-b94f-66ad1df2eb0e” - Guid списка “Поля типов контента”
content_type_id: “c0639c62-a384-4676-8002-5d9edcfdc473”– Guid типа элемента “Поля типов контента”
content_type: {id_elem_to_be_updated} – Guid типа элемента к которому требуется добавить атрибут
field: {id_attribute_to_be_added} - Guid типа добавляемого атрибута
name: {element_name} – название создаваемого элемента
required: {true/false} – является ли добавляемый атрибут обязательным
read_only: {true/false} – является ли добавляемый атрибут редактируемым
Создание списков
Создание списка происходит путем создания элемента типа «Список» (связь типа элемента и атрибута) в списке «Списки» через отправку POST-запроса, в котором передается список создаваемых элементов (списков), с указанием их названий и других паарметров.
content_type_id: “cbdb9089-49c4-4742-8ce6-5f1f7a01e679”– Guid типа элемента “Список”
name: {list_name} – название создаваемого списка
table_name: {list_table_name} – системное имя таблицы, создаваемой в БД для данного списка. Имя таблицы должно указываться в формате snake_case.
hidden: {true/false} – является ли создаваемый список скрытым
document_archive: {true/false} – является ли создаваемый список хранилищем файлов
Добавление типов элементов к списку
Для того, чтобы список мог содержать элементы определенных типов их необходимо добавить к нужному списку. Добавление элементов к типу элемента происходит путем создания элемента типа «Типы контента списка» (связь списка и типа элемента) в списке «Типы контента списка» через отправку POST-запроса, в котором передается список со значениями Guid привязываемых элементов и Guid списков, к которым эти элементы привязываются.