1.5 KiB
1.5 KiB
Спецификация: GET /api/v1/programs/active (единица 6)
Назначение
Активная версия программы атлета (requirements Ф-8.5; телефон перечитывает программу после 409 или по запросу пользователя).
Запрос / ответ
- Запрос: без параметров (атлет — из middleware).
200:
{ "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.
Логика
ProgramRepository.Select(программа атлета).ProgramVersionRepository.Select(p_program_id,p_status = "active").ProgramVersionRepository.Get(строка сbody).- Активной версии нет →
404 {"error": "no_active_program"}.
Тесты
| # | Проверка | Ожидание |
|---|---|---|
| 1 | Есть активная версия | 200, status = "active", body не пуст |
| 2 | Программы нет | 404 |
| 3 | Все версии archived | 404 |
| 4 | Программа другого атлета не видна (🛡) | 404 |