[backend][B] MAX: привязка пациента, очередь уведомлений и серверный API #82

Closed
opened 2026-10-04 15:50:36 +03:00 by Soyavo · 0 comments
Owner

Описание

Подготовить только серверную часть интеграции MAX. Отдельные identity-таблицы для привязок, одноразовых кодов, дедупликации и очереди. API статуса/подключения/отключения через Bearer; явное согласие на привязку, проверка действующего согласия и совершеннолетия. Коды ограничены по времени, токен пациента не попадает в ссылку. Подписка отключается отдельно от Telegram. Очередь переживает перезапуск, имеет повторы и защиту от одновременной обработки. Файлы: app/db/max_notifications.py, app/integrations/max_store.py, app/api/max_notifications.py, bootstrap/routes, tests/test_max. Интерфейс сайта и создание бота исключены.

Желаемый результат

Проверенная серверная заготовка, отключённая до внесения токена и адресов. Создание бота, личная верификация MAX и изменения web-интерфейса не входят в задачу.

Как проверить

make lint && make test; целевые тесты с MockTransport и отдельными SQLite-базами.


Лог выполнения

2026-10-04

Добавлены identity-таблицы привязок, хешей одноразовых кодов, webhook-квитанций и очереди. API подключения/отключения с текущей авторизацией пациента и проверкой согласия. Очередь с арендой, повторными попытками и сбором завершённых тестов после перезапуска. Никаких оценок/ответов в MAX. make lint test: 989 passed, 1 skipped.

## Описание Подготовить только серверную часть интеграции MAX. Отдельные identity-таблицы для привязок, одноразовых кодов, дедупликации и очереди. API статуса/подключения/отключения через Bearer; явное согласие на привязку, проверка действующего согласия и совершеннолетия. Коды ограничены по времени, токен пациента не попадает в ссылку. Подписка отключается отдельно от Telegram. Очередь переживает перезапуск, имеет повторы и защиту от одновременной обработки. Файлы: app/db/max_notifications.py, app/integrations/max_store.py, app/api/max_notifications.py, bootstrap/routes, tests/test_*max*. Интерфейс сайта и создание бота исключены. ## Желаемый результат Проверенная серверная заготовка, отключённая до внесения токена и адресов. Создание бота, личная верификация MAX и изменения web-интерфейса не входят в задачу. ## Как проверить make lint && make test; целевые тесты с MockTransport и отдельными SQLite-базами. --- ## Лог выполнения ### 2026-10-04 Добавлены identity-таблицы привязок, хешей одноразовых кодов, webhook-квитанций и очереди. API подключения/отключения с текущей авторизацией пациента и проверкой согласия. Очередь с арендой, повторными попытками и сбором завершённых тестов после перезапуска. Никаких оценок/ответов в MAX. make lint test: 989 passed, 1 skipped.
Soyavo added this to the Этап 1 · Ветераны СВО milestone 2026-10-04 15:50:36 +03:00
Soyavo added the lane/Bsize/1featurebackendP1 labels 2026-10-04 15:50:36 +03:00
Soyavo self-assigned this 2026-10-04 15:50:36 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: MedITron/PTSRaiAgent#82