gtsAPI
REST API для таблиц MODX по конфигу: права доступа, токены, файлы и готовый интерфейс таблиц PVTables.
gtsAPI превращает таблицы MODX в REST API без написания контроллеров. Таблица, её поля и права описываются в конфиге, остальное компонент делает сам. Вместе с ним идёт PVTables, готовый интерфейс таблиц на Vue, ставить его отдельно не нужно.
Обновите все сайты до 1.2.1. В прежних версиях гость мог загружать, менять и удалять файлы через галерею.
Что умеет
- Таблицы: чтение, создание, изменение и удаление записей, фильтры, сортировка, автокомплит и экспорт в Excel.
- Другие типы данных: JSON-таблицы и деревья.
- Свои адреса: правила
gtsAPIRuleнаправляют запрос к вашему контроллеру, а вызовы видапакет/методк вашему классу. - Доступ: вход, группы и разрешения MODX задаются для каждой таблицы. Для запросов извне есть токены JWT.
- Файлы: галерея и файловый API с проверкой прав.
- Триггеры: обработчики событий таблицы, на один класс можно повесить несколько.
- Дополнительные поля: колонки можно добавлять к таблицам, в том числе к таблицам ядра MODX.
- Сборка и установка: компонент на Vue собирается и ставится на сайт одной командой через API пакетов.
- Доступ для ИИ: таблицу можно открыть ИИ-агенту. Разрешение выдаётся на каждое действие, права пользователя остаются потолком, а правки можно откатить.
Пример
Таблица с чтением и изменением только для администраторов:
export default {
mypackage: {
name: 'mypackage',
gtsAPITables: {
myTable: {
table: 'myTable',
class: 'myClass',
version: 1,
type: 1,
authenticated: true,
groups: 'Administrator',
permissions: '',
active: true,
properties: {
actions: { read: {}, update: {} },
fields: {
id: { label: 'ID', type: 'view', readonly: true },
name: { label: 'Название', type: 'text' },
},
},
},
},
},
}
После этого таблица доступна по адресу /api/myTable.
Поле с type: 'view' защищено только в интерфейсе. Чтобы сервер тоже запрещал его менять, добавьте readonly: true.
Требования
- MODX 2.8 или MODX 3.
- Установленный pdoTools.
Документация
После установки инструкции лежат в core/components/gtsapi/docs:
gtsapi_rule_trigger.md: триггеры;gtsAPIGallery_guide.md: галерея.
Лицензия
GNU GPL v2.
Что нового
Резолвер зависимостей скачивает файл в два шага, как сам MODX: прямая ссылка modx.com отвечает редиректом. Скачанный файл проверяется, не zip считается ошибкой.