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.