Модели данных (EnityModel)
В данной главе описаны базовые понятие что такое модель данных, структура модели и принцип работы с ними через API.
Модель данных может использоваться:
- во внешних приложениях, как основной источник данных;
- в системе синхронизации, как источник данных для описания объектов;
- при формировании выходных документов, как источник данных для шаблонов.
- Создание модели данных
- Предварительный просмотр
- Работа с моделью данных через API
- Модель данных для печати бланков
Создание модели данных
Модель данных представляет собой описание объекта предметной области, которого можно представить в виде структуры в формате JSON. Все узлы структуры должны быть названы латинскими буквами, слова без пробелом в нижнем регистре.
Для создания новой модели данных перейдите в раздел разработчика в проекте Сервисы ТПУ
Вы видите только модели данных, которые вы создали (авторы) или с вами поделились другие разработчики.
В правом верхнем углу нажмите кнопку "Добавить" и заполните все основные поля.
| Параметр | Значение |
| Название | Краткое название модели данных |
| Алиас | Уникальный алиас модели, будет использовать в API и в синхронизации |
| Описание | Полное описание модели данных |
| Вид доступа к модели данных |
Уровень доступа
|
| Время жизни кеша в секундах |
Время жизни кэша сформированного объекта модели данных в памяти, для ускорения работы.
Если кэширование не требуется - значение в этом поле нужно указать 0. |
| Приложения модели |
Перечень приложений, которые могут обращаться к указанной модели данных.
Каждое приложение должно передавать свой публичный ключ доступа. |
| Источник для корневого узла |
По умолчанию для структуры модели данных создается древовидное представление с корневым элементом (root). Данное значение в дальнейшем можно будет поменять.
У одного объекта модели данных может быть только один корневой элемент. |
В качестве источников данных для узлов структуры могут быть использованы только 3 типа динамических источников данных.
- Кортеж
- Массив
- Список
Редактирование описания структуры модели данных осуществляется через контекстное меню в режиме редактирования. Для добавления / редактирование / удаления узлов - требуется воспользоваться соответствующими элементами меню.
При редактировании узла требуется указать алиас (должен быть обязательно совместим со стандартом JSON) и источник данных (должен быть подготовлен заранее)
Для связи дочерних элементов с родительскими требуется указать хотя бы один внешний ключ, пересечение может быть организовано по составному ключу.
Для оперативной корректировки источника данных в контекстном меню есть ссылка на переход в режим редактирование. Источник данных можно редактировать, если вы его автор или с вами поделились доступом.
Предварительный просмотр
После создания описание модели данных, для проверки работы можно перейти в режим предварительный просмотр.
Предварительный просмотр формирует 3 различных описания.
1. Структура (тут представлены все экспортируемые поля с указанием типа данных)
2. Комментарии (в этом режиме все поля содержат описательную часть, комментарий к назначению данного поля)
3. Пример (Загруженный объект по умолчанию из базы, с реальными значениями)
После проверки модели данных, её можно использовать через API интеграцию или получать данные через сервер Синхронизации, а так же использовать как источник данных при формировании документов для СОУД.
по API можно запросить:
- список объектов
- один объект по первичному ключу
Через сервер синхронизации:
- при изменении свойств объект - будет вызван API во внешней системе, куда будет передан один объект или список объектов.
При создании шаблона документа можно указать модель данных, как основной источник данных при формировании документа в формате PDF (шаблон может быть в формате Word или LaTeX).
Работа с моделью данных через API
С моделями данных можно работать через API только на чтение.
Для получения списка доступных моделей данных, необходимо вызвать следующий метод API, указав публичный ключ приложения.
https:://api.tpu.ru/v2/entity
Для получения структуры/описания модели данных можно использовать следующие методы API.
https://api.tpu.ru/v2/entity/structure/<id>
Для получения возможного списка параметров, которые можно использовать в модели данных (данный список может быть пуст)
https://api.tpu.ru/v2/entity/parametr/<id>
Для получения возможных фильтров, которые используются при работе с корневым элементом модели данных.
https:://api.tpu.ru/v2/entity/filter/<id>
Фильтры доступны только при работе с моделями данных организованных на источниках данных типа массив.
Сортировка выборки данных
sort=[direction][column]
Для обратной сортировки добавьте минус перед названием столбца
Пример:
?sort=title,-created
Фильтрация выборки данных:
filter[type][op]=value
Допустимые сравнения:
| Оператор | Сравнение | Описание |
| eq | equal (=) | Эквивалентно (равно) указанному значению |
| like | text search | Поиск по тексту |
| gte | >= | Больше и равно |
| lte | <= | Меньше и равно |
| gt | > | Больше |
| lt | < | Меньше |
Пример:
?filter[created][eq]=2019-07-16
Все параметры можно комбинировать