Files
lampac/mods/DatabaseEditor/README.md
T

3.7 KiB
Raw Blame History

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.