VEU.WathBody/1-docs/4-modules/m02-rest-api/api_specs/05-programs-active-get.md

38 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Спецификация: `GET /api/v1/programs/active` (единица 6)
## Назначение
Активная версия программы атлета (requirements Ф-8.5; телефон
перечитывает программу после 409 или по запросу пользователя).
## Запрос / ответ
- Запрос: без параметров (атлет — из middleware).
- `200`:
```json
{ "program_id": 3, "version_id": "uuid", "version": 5,
"based_on_version": 4, "author": "rules", "status": "active",
"body": { "...схема LLM-планирования разд. 2, как в БД..." },
"rationale": "«...»", "created_at": "..." }
```
- `404` — активной версии нет (программа не создана или все версии archived).
- `401` — middleware.
## Логика
1. `ProgramRepository.Select` (программа атлета).
2. `ProgramVersionRepository.Select` (`p_program_id`, `p_status = "active"`).
3. `ProgramVersionRepository.Get` (строка с `body`).
4. Активной версии нет → `404 {"error": "no_active_program"}`.
## Тесты
| # | Проверка | Ожидание |
|---|---|---|
| 1 | Есть активная версия | 200, `status = "active"`, `body` не пуст |
| 2 | Программы нет | 404 |
| 3 | Все версии archived | 404 |
| 4 | Программа другого атлета не видна (🛡) | 404 |