Files
healthlog/docs/tasks/items/read-api-records.md
T
av bd832337df tasks: задачи спринта раздроблены до восьми гранулярных
- конверт и точки разложены на форму провода, точки за период и условный
  запрос; свёртка — на сетку, порог неполного ведра и предел размера ответа;
  тренировки и записи разъехались на два независимых маршрута
- openapi-swagger разложена на спеку, гейт против расхождения и Swagger UI —
  все три вне набора, вместе с mcp-server
- набор спринта 2026-08-04 — весь HTTP-слой чтения, восемь задач
2026-08-04 14:21:57 +03:00

2.0 KiB

Записи наружу

  • Секция: ядро
  • Зачем: stateOfMind разобран и хранится, но наружу не отдаётся — а восстановить его нечем: в экспорте Apple его нет
  • Теги: goal:read-api, sprint:2026-08-04

Записи со своим id — сегодня это stateOfMind — достаются за период через GET /records/{kind}.

Разбор и хранение сделаны тем же change, что у тренировок; наружу не отдаётся ничего. У этих данных есть особенность, которой нет больше ни у чего в проекте: stateOfMind нет в экспорте Apple, он не восстанавливается пересборкой из снапшота, и единственный его источник — доставки HAE. Отдача наружу — не удобство, а единственный способ увидеть то, что иначе живёт только внутри базы.

Конверт наследуется от точек; собственной формы у записей нет.

Критерии приёмки

  • записи stateOfMind за период отдаются одним запросом — оракул: запрос к поднятому сервису на живом архиве
  • неизвестный kind отвечает отказом со списком известных, а не пустым списком: пустота и опечатка обязаны различаться — оракул: тест
  • конверт совпадает с конвертом точек и тренировок — оракул: тест, сравнивающий форму ответа трёх маршрутов

Рамки

Схема не трогается, данные только читаются. Берётся после конверта.