добавлен приём пакетов Health Auto Export
- POST /api/v1/ingest: токен, лимит тела, gzip, durable-запись тела в сырой архив, учёт доставки в SQLite - код ответа отражает доставку, а не разбор: битый JSON — 400, непонятое содержимое — 200, данные уже сохранены и доразберутся позже - сохраняется полный набор заголовков запроса с вычисткой секретов по имени и по совпадению значения с токеном
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
-- +goose Up
|
||||
-- Доставка — один принятый пакет от Health Auto Export. Тело лежит в сыром
|
||||
-- архиве по raw_path; здесь только учёт и метаданные автоматизации.
|
||||
CREATE TABLE delivery (
|
||||
id TEXT PRIMARY KEY,
|
||||
received_at TEXT NOT NULL,
|
||||
automation_name TEXT NOT NULL DEFAULT '',
|
||||
automation_id TEXT NOT NULL DEFAULT '',
|
||||
aggregation TEXT NOT NULL DEFAULT '',
|
||||
period TEXT NOT NULL DEFAULT '',
|
||||
session_id TEXT NOT NULL DEFAULT '',
|
||||
bytes INTEGER NOT NULL,
|
||||
sha256 TEXT NOT NULL,
|
||||
raw_path TEXT NOT NULL,
|
||||
parse_status TEXT NOT NULL,
|
||||
points INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE INDEX delivery_received_at ON delivery (received_at);
|
||||
|
||||
-- Хеш тела: пока только учёт. Отсев идентичных повторов включим, когда
|
||||
-- увидим на живых данных, как часто HAE присылает байт-в-байт одно и то же.
|
||||
CREATE INDEX delivery_sha256 ON delivery (sha256);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE delivery;
|
||||
@@ -0,0 +1,9 @@
|
||||
-- +goose Up
|
||||
-- Полный набор заголовков запроса (JSON: имя → массив значений), кроме
|
||||
-- несущих секреты. Документация HAE называет пять заголовков, но что
|
||||
-- приложение шлёт на самом деле — неизвестно, а именно из незадокументированных
|
||||
-- полей уже вышли самые полезные находки (см. docs/local-research.md).
|
||||
ALTER TABLE delivery ADD COLUMN headers TEXT NOT NULL DEFAULT '{}';
|
||||
|
||||
-- +goose Down
|
||||
ALTER TABLE delivery DROP COLUMN headers;
|
||||
Reference in New Issue
Block a user