Дашборды: обзор
Модуль «Дашборды» (/dashboards в админ-панели) — это конструктор аналитических панелей поверх любой БД FileDB, без отдельного BI-сервера и без внешних зависимостей: сборка данных, визуализация и публикация ссылкой — всё внутри самого движка.
Архитектура: Датасет → Чарт → Дашборд
Модуль построен по слоям, в стиле DataLens, а не как один плоский виджет с произвольным SQL:
| Слой | Что это | Страница |
|---|---|---|
| Датасет | Именованный переиспользуемый источник данных: таблица/JOIN/CTE + поля-измерения и поля-меры + вычисляемые поля | «Датасеты и чарты» |
| Чарт | Датасет + выбранные поля (измерение, меры, серия) + тип визуализации — без единой строчки SQL | «Датасеты и чарты» |
| Виджет | Одна ячейка сетки дашборда: чарт, либо запрос No-Code конструктора, либо сырой SQL | «Виджеты, сетка и фильтры» |
| Дашборд | Именованная сетка виджетов, привязанная к одной БД, с глобальными фильтрами | «Виджеты, сетка и фильтры» |
Собрать виджет можно тремя способами: выбрать готовый чарт, собрать запрос визуально в No-Code конструкторе, или описать нужное словами в AI-ассистенте (либо написать SQL руками) — какой источник ни был бы выбран, выполняется он одинаково безопасно (см. ниже).
Единая точка read-only
Какой бы из четырёх источников ни сгенерировал запрос — чарт, конструктор, AI или ручной SQL — исполнение всегда проходит через один и тот же guard, независимый от того, настроен ли RBAC в принципе: белый список по ведущему ключевому слову (SELECT/SHOW/EXPLAIN/DESCRIBE/WITH), маскирование строковых литералов и комментариев перед проверкой, запрет stacked-запросов (SELECT 1; DROP TABLE x) и сканирование DML внутри WITH-CTE. Это касается и публичных ссылок на дашборд — у анонимного посетителя нет учётной записи FileDB вообще, поэтому проверка не может опираться на роль вызывающего.
HTTP API
| Маршрут | Доступ | Назначение |
|---|---|---|
GET/POST /api/dashboards |
авторизован | список / создание дашбордов |
GET/PUT/DELETE /api/dashboards/{id} |
авторизован | одна запись дашборда |
POST /api/dashboards/builder/* |
авторизован | No-Code конструктор — схема, компиляция, превью, подсказка джойнов |
POST /api/dashboards/ai/suggest, /validate |
авторизован | AI-ассистент |
POST /api/dashboards/relations, /relations/test |
авторизован | сохранённые связи между таблицами |
POST /api/dashboards/demo/seed |
авторизован | сгенерировать демо-дашборды на текущей БД |
POST /api/dashboards/share, /revoke |
авторизован, роль write |
создать / отозвать публичную ссылку |
POST /api/dashboards/share/validate, /query, /export |
публичный, rate-limited | открыть дашборд по ссылке, получить данные виджетов, скачать CSV |
Подробнее — на страницах «Датасеты и чарты», «No-Code конструктор запросов», «AI-ассистент дашбордов», «Виджеты, сетка и фильтры» и «Публичные ссылки и экспорт».