Files
lampac/mods/DatabaseEditor/README.md
T

43 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DatabaseEditor
Защищённый root-паролем WebLog редактор баз `database/TimeCode.sql` и
`database/Sync.sql`.
## Маршруты
- `/database-editor` — интерфейс редактора.
- `/database-editor/api/summary` — состояние и размер баз.
- `/database-editor/api/records` — поиск и постраничный список.
- `/database-editor/api/record` — чтение одной записи.
- `/database-editor/api/sync-user` — карточки и категории одного Sync-пользователя.
- `/database-editor/api/sync-item/save` — точечное изменение категорий карточки Sync.
- `/database-editor/api/sync-item/delete` — удаление одной карточки из Sync.
- `/database-editor/api/save` — создание или изменение записи.
- `/database-editor/api/delete` — удаление записи.
- `/database-editor/api/rename-user` — атомарное переименование пользователя во всех строках `bookmarks` (Sync) и `timecodes` (TimeCode).
- `/database-editor/api/delete-user` — атомарное удаление пользователя и всех его строк из `bookmarks` (Sync) и `timecodes` (TimeCode).
- `/database-editor/api/backup` — online-backup одной базы или обеих баз при
`database: "all"` в `database/backup/database-editor`.
- `/database-editor/api/backups` — список доступных резервных копий выбранной базы.
- `/database-editor/api/restore` — проверка и восстановление выбранной SQLite-копии; перед заменой автоматически создаётся страховочная копия текущей базы с маркером `before-restore`.
Изменяющие запросы требуют заголовок `X-Database-Editor: 1`. Все SQL-запросы
параметризованы; запись синхронизируется штатными семафорами `TimeCode` и
`Sync`. В корне поля `data` допускается только JSON-объект. Список TimeCode
дополняется названиями и постерами из карточек Sync того же пользователя.
TimeCode с версии типизированной схемы не хранит блоб: редактор по-прежнему
показывает и принимает road-объект Lampa (`time`, `duration`, `percent`,
`profile`, `updated`), но собирает его из колонок и раскладывает обратно.
Правка поднимает `updated_at` выше всех строк пользователя — иначе клиенты
не увидят её, они спрашивают дельты по `updated_at > since`.
Редактор Sync повторяет категории Lampa: `book` (Закладки), `like` (Нравится),
`wath` (Позже), `history` (История просмотров). Поле `wath` является актуальным
именем Lampa, несмотря на опечатку в английском ключе. Статусы `look` (Смотрю),
`viewed`, `scheduled`, `continued`, `thrown` взаимоисключающие. Служебное поле
`watch` сохраняется в поддерживаемой схеме Lampac, но в редакторе не выводится.
Мод также добавляет вкладку `Базы` в `/weblog` на лету, не изменяя файлы
штатного модуля WebLog.