>_ rehablogger
Система работает
← Все сессии
СЕССИЯ УСТРОЙСТВА

rehabapp_2026-08-22_10-51-19

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-22T08:25:19.715434Z, request_id: 9ed43d7b-6f81-4598-9ad1-3c89ec9c078c, version: v1}, data: {results: [{id: 85, sequence_number: 1, completion_status: completed, score_percent: 92, score_interpretation: excellent, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KSM578DSDH215A8W6P26RXEH.png, instruction: {exercise_name: Тренировка икроножных мышц стоя, video: https://rehabilitation.most.team/storage/exercise/videos/01KRJHJR20X1FNE739BG0QDYN4.mov, inventory: Опора (стул, подоконник, стена), warning: Следите за положением пяток и стоп. Пятки не должны заваливаться внутрь (это признак неправильной нагрузки). Стопы должны оставаться параллельными на протяжении всего движения, для более наглядного контроля вы можете положить кубик для йоги между стопами Следите, чтобы спина была прямая Не уводите таз вперед/назад Колени держите выпрямленными, general_description: В исходном положении стоя, ноги на ширине таза
INFO [console] , руками опереться на спинку стула или стол, выполнить подъём на носки. Следить за тем, чтобы пятки не уходили внутрь, и стопы оставались параллельными. Цель – тренировка мышц голени., steps: [{exercise_id: 85, sequence_number: 1, step_text: Встаньте прямо, лицом к устойчивой опоре (спинка стула, стол, подоконник, стена). Вы должны находиться боком оперированной ноги к камере}, {exercise_id: 85, sequence_number: 2, step_text: Поставьте ноги на ширине таза (примерно на расстоянии 10-15 см друг от друга). Стопы должны быть параллельны друг другу}, {exercise_id: 85, sequence_number: 3, step_text: Слегка обопритесь руками на опору для сохранения равновесия. Не переносите на руки весь вес тела}, {exercise_id: 85, sequence_number: 4, step_text: Спина прямая, живот слегка подтянут, взгляд направлен вперёд}, {exercise_id: 85, sequence_number: 5, step_text: Медленно и плавно поднимитесь как можно выше на носки, перенося вес тела на передние части стоп}, {exercise_id: 85, sequence_number: 6, ste
INFO [console] p_text: Движение должно быть контролируемым. Максимально напрягите икроножные мышцы в верхней точке}, {exercise_id: 85, sequence_number: 7, step_text: Также под контролем медленно опустите пятки на пол, возвращаясь в исходное положение}, {exercise_id: 85, sequence_number: 8, step_text: Выполните поднятие на носки необходимое количество раз}]}}, {id: 42, sequence_number: 2, completion_status: null, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQC78495HZ7HDF3FGQ104G16.png, instruction: {exercise_name: Подъём прямой ноги в сторону - В и.п. лёжа на боку, video: https://rehabilitation.most.team/storage/exercise/videos/01KQC78499GQQ5WEFZWRN07YFK.mov, inventory: null, warning: Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу, general_description: Лёжа на боку отвести верхнюю ногу в сторону (поднять). Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу.
INFO [console] Представьте, что вы лежите на боку и прижимаетесь спиной к стене, а далее скользите пяткой верхней ноги по стене вверх. Цель – тренировка мышц абдукторов/аддукторов бедра., steps: [{exercise_id: 42, sequence_number: 1, step_text: Лягте на бок так, чтобы рабочая нога была сверху}, {exercise_id: 42, sequence_number: 2, step_text: Убедитесь, что вы лежите ровно. Голова может лежать на руке или на подушке}, {exercise_id: 42, sequence_number: 3, step_text: Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости}, {exercise_id: 42, sequence_number: 4, step_text: Верхнюю ногу полностью выпрямите. Она должна находиться строго над нижней ногой, образуя одну линию с туловищем}, {exercise_id: 42, sequence_number: 5, step_text: Положите верхнюю руку на талию или на матрас перед собой для равновесия}, {exercise_id: 42, sequence_number: 6, step_text: На выдохе: Медленно поднимите (отведите) прямую ногу вверх. Движение должно происходить строго в плоскости тела, как будто вы отво
INFO [console] дите ногу в сторону. Нога не должна сгибаться в тазобедренном суставе и отклоняться вперёд по направлению к животу или назад по направлению к спине}, {exercise_id: 42, sequence_number: 7, step_text: В верхней точке задержитесь на 1-2 секунды, сохраняя ногу прямой и чувствуя напряжение в боковой поверхности бедра и ягодице}, {exercise_id: 42, sequence_number: 8, step_text: На вдохе: Плавно, без рывка, опустите ногу в исходное положение. Старайтесь не класть ногу полностью на нижнюю, а остановитесь чуть выше, чтобы сохранить напряжение в мышцах}, {exercise_id: 42, sequence_number: 9, step_text: Повторите необходимое количество раз }]}}, {id: 41, sequence_number: 3, completion_status: null, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png, instruction: {exercise_name: Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной, video: https://rehabilit
INFO [console] ation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov, inventory: null, warning: Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”, general_description: Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра., steps: [{exercise_id: 41, sequence_number: 1, step_text: Сядьте на пол лицом к камере. Ноги выпрямите перед собой}, {exercise_id: 41, sequence_number: 2, step_text: Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях}, {exercise_i
INFO [console] d: 41, sequence_number: 3, step_text: Приподнимите рабочую ногу на 5-10 см }, {exercise_id: 41, sequence_number: 4, step_text: На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра}, {exercise_id: 41, sequence_number: 5, step_text: На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу}, {exercise_id: 41, sequence_number: 6, step_text: Повторите движение ногой заданное количество раз}]}}], workout_id: 85, workout_duration_start: 10, workout_duration_end: 20, training_score: {score_percent: 92, score_interpretation: excellent}}}
FATAL [zone] Unhandled asynchronous error
Invalid argument(s): A value must be provided. Supported values: completed, not_completed, cant_complete
#0      $enumDecode (package:json_annotation/src/enum_helpers.dart:70:5)
#1      _$ResultInfoExerciseDtoFromJson (package:testapp/features/training/models/dto/result_workout/result_info_exercise_dto.g.dart:20:21)
#2      new ResultInfoExerciseDto.fromJson (package:testapp/features/training/models/dto/result_workout/result_info_exercise_dto.dart:29:7)
#3      _$ResultInfoWorkoutDtoFromJson.<anonymous closure> (package:testapp/features/training/models/dto/result_workout/result_info_workout_dto.g.dart:16:41)
#4      MappedListIterable.elementAt (dart:_internal/iterable.dart:443:31)
#5      ListIterator.moveNext (dart:_internal/iterable.dart:372:26)
#6      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194:27)
#7      new _GrowableList.of (dart:core-patch/growable_array.dart:154:28)
#8      new List.of (dart:core-patch/array_patch.dart:39:18)
#9      ListIterable.toList (dart:_internal/iterable.dart:224:7)
#10     _$ResultInfoWorkoutDtoFromJson (package:testapp/features/training/models/dto/result_workout/result_info_workout_dto.g.dart:17:8)
#11     new ResultInfoWorkoutDto.fromJson (package:testapp/features/training/models/dto/result_workout/result_info_workout_dto.dart:27:7)
#12     WorkoutRepositoryImpl.getResultWorkout.<anonymous closure> (package:testapp/features/training/data/repository/workout_repository_impl.dart:93:32)
#13     _$nullableGenericFromJson (package:testapp/core/data/models/response/response_api.g.dart:38:37)
#14     _$ResponseApiFromJson (package:testapp/core/data/models/response/response_api.g.dart:14:9)
#15     new ResponseApi.fromJson (package:testapp/core/data/models/response/response_api.dart:27:8)
#16     BaseRepository.apiCall (package:testapp/core/data/repository/base_repository.dart:29:24)
<asynchronous suspension>
#17     WorkoutRepositoryImpl.getResultWorkout (package:testapp/features/training/data/repository/workout_repository_impl.dart:84:22)
<asynchronous suspension>
#18     ResultWorkoutCubit._loadTrainingResult (package:testapp/features/training/presentation/bloc/training_result/result_workout_cubit.dart:27:29)
<asynchronous suspension>
INFO [console] Request query: {start_date: 2026-06-29, end_date: 2026-08-02}
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-06-29&end_date=2026-08-02
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 667|QSRbgxvQEDuesx88MKPd0oaTpfmRTttU6FFqZALj12ced175
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-06-29&end_date=2026-08-02
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Sat, 22 Aug 2026 08:25:42 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-22T08:25:42.078220Z","request_id":"a9ae1e0f-cf32-40cc-9b5d-a136248e8de9","version":"v1"},"data":{"start_rehab":"2026-05-04 00:00:00","end_rehab":"2026-07-10 00:00:00","days":[{"date":"2026-06-29","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":33},{"mode":"diagnostics","status":"completed","progress":52}]},{"date":"2026-07-02","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":72}]},{"date":"2026-07-06","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":92},{"mode":"diagnostics","status":"completed","progress":66}]},{"date":"2026-07-09","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":12}]},{"date":"2026-07-10","status":["end"],"training":[]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-22T08:25:42.078220Z, request_id: a9ae1e0f-cf32-40cc-9b5d-a136248e8de9, version: v1}, data: {start_rehab: 2026-05-04 00:00:00, end_rehab: 2026-07-10 00:00:00, days: [{date: 2026-06-29, status: [none], training: [{mode: correction_unit, status: completed, progress: 33}, {mode: diagnostics, status: completed, progress: 52}]}, {date: 2026-07-02, status: [none], training: [{mode: correction_unit, status: completed, progress: 72}]}, {date: 2026-07-06, status: [none], training: [{mode: correction_unit, status: completed, progress: 92}, {mode: diagnostics, status: completed, progress: 66}]}, {date: 2026-07-09, status: [none], training: [{mode: correction_unit, status: completed, progress: 12}]}, {date: 2026-07-10, status: [end], training: []}]}}
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-07-06
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 667|QSRbgxvQEDuesx88MKPd0oaTpfmRTttU6FFqZALj12ced175
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-07-06
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Sat, 22 Aug 2026 08:25:42 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-22T08:25:42.900090Z","request_id":"c92cda56-39c8-43b0-b186-f07a25930500","version":"v1"},"data":{"rehabilitation_day_id":2021,"phase_id":262,"diagnosis_rehab":"Postman test","start_rehab":"2026-05-04 00:00:00","end_rehab":"2026-07-10 00:00:00","name_rehab_phase":"Postman test phase","status":["none"],"recommendations_count":1,"date":"2026-07-06","training":[{"mode":"correction_unit","status":"completed","progress":92,"unit_id":795,"time":"10 - 20 мин","count_questions":1,"status_questions":false,"workout_id":85},{"mode":"diagnostics","status":"completed","progress":66,"unit_id":794,"time":"10 - 20 мин","count_questions":null,"status_questions":false,"workout_id":98}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-22T08:25:42.900090Z, request_id: c92cda56-39c8-43b0-b186-f07a25930500, version: v1}, data: {rehabilitation_day_id: 2021, phase_id: 262, diagnosis_rehab: Postman test, start_rehab: 2026-05-04 00:00:00, end_rehab: 2026-07-10 00:00:00, name_rehab_phase: Postman test phase, status: [none], recommendations_count: 1, date: 2026-07-06, training: [{mode: correction_unit, status: completed, progress: 92, unit_id: 795, time: 10 - 20 мин, count_questions: 1, status_questions: false, workout_id: 85}, {mode: diagnostics, status: completed, progress: 66, unit_id: 794, time: 10 - 20 мин, count_questions: null, status_questions: false, workout_id: 98}]}}
INFO [console] shrinkOffset: 27.73333333333335, progress: 0.1425354870288792
INFO [console] shrinkOffset: 152.00000000000006, progress: 0.7812041116005878
INFO [console] shrinkOffset: 180.26666666666677, progress: 0.9264806656877147
INFO [console] shrinkOffset: 186.66666666666674, progress: 0.9593734703866867
INFO [console] shrinkOffset: 189.86666666666673, progress: 0.9758198727361727
INFO [console] shrinkOffset: 195.2000000000001, progress: 1.0
INFO [console] shrinkOffset: 209.60000000000008, progress: 1.0
INFO [console] shrinkOffset: 219.2000000000001, progress: 1.0
INFO [console] shrinkOffset: 225.60000000000008, progress: 1.0
INFO [console] shrinkOffset: 250.66666666666674, progress: 1.0
INFO [console] shrinkOffset: 251.42857142857142, progress: 1.0
INFO [console] shrinkOffset: 173.94013234547208, progress: 0.8939654378989021
INFO [console] Request query: {start_date: 2026-06-01, end_date: 2026-07-05}
INFO [console] shrinkOffset: 173.94013234547208, progress: 0.8939654378989021
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-06-01&end_date=2026-07-05
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 667|QSRbgxvQEDuesx88MKPd0oaTpfmRTttU6FFqZALj12ced175
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-06-01&end_date=2026-07-05
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Sat, 22 Aug 2026 08:25:53 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-22T08:25:53.364444Z","request_id":"823cb382-835b-4cd0-99fe-1a923a40f709","version":"v1"},"data":{"start_rehab":"2026-05-04 00:00:00","end_rehab":"2026-07-10 00:00:00","days":[{"date":"2026-06-01","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":14},{"mode":"diagnostics","status":"completed","progress":55}]},{"date":"2026-06-04","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":42}]},{"date":"2026-06-08","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"completed","progress":60}]},{"date":"2026-06-11","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":76}]},{"date":"2026-06-15","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":11},{"mode":"diagnostics","status":"completed","progress":77}]},{"date":"2026-06-18","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":57}]},{"date":"2026-06-22","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":82},{"mode":"diagnostics","status":"completed","progress":97}]},{"date":"2026-06-25","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":90}]},{"date":"2026-06-29","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":33},{"mode":"diagnostics","status":"completed","progress":52}]},{"date":"2026-07-02","status":["none"],"training":[{"mode":"correction_unit","status":"completed","progress":72}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-22T08:25:53.364444Z, request_id: 823cb382-835b-4cd0-99fe-1a923a40f709, version: v1}, data: {start_rehab: 2026-05-04 00:00:00, end_rehab: 2026-07-10 00:00:00, days: [{date: 2026-06-01, status: [none], training: [{mode: correction_unit, status: completed, progress: 14}, {mode: diagnostics, status: completed, progress: 55}]}, {date: 2026-06-04, status: [none], training: [{mode: correction_unit, status: completed, progress: 42}]}, {date: 2026-06-08, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: completed, progress: 60}]}, {date: 2026-06-11, status: [none], training: [{mode: correction_unit, status: completed, progress: 76}]}, {date: 2026-06-15, status: [none], training: [{mode: correction_unit, status: completed, progress: 11}, {mode: diagnostics, status: completed, progress: 77}]}, {date: 2026-06-18, status: [none], training: [{mode: correction_unit, status: comple
INFO [console] ted, progress: 57}]}, {date: 2026-06-22, status: [none], training: [{mode: correction_unit, status: completed, progress: 82}, {mode: diagnostics, status: completed, progress: 97}]}, {date: 2026-06-25, status: [none], training: [{mode: correction_unit, status: completed, progress: 90}]}, {date: 2026-06-29, status: [none], training: [{mode: correction_unit, status: completed, progress: 33}, {mode: diagnostics, status: completed, progress: 52}]}, {date: 2026-07-02, status: [none], training: [{mode: correction_unit, status: completed, progress: 72}]}]}}
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-06-01
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] ation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov, inventory: null, warning: Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”, general_description: Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра., steps: [{exercise_id: 41, sequence_number: 1, step_text: Сядьте на пол лицом к камере. Ноги выпрямите перед собой}, {exercise_id: 41, sequence_number: 2, step_text: Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях}, {exercise_i
INFO [console] d: 41, sequence_number: 3, step_text: Приподнимите рабочую ногу на 5-10 см }, {exercise_id: 41, sequence_number: 4, step_text: На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра}, {exercise_id: 41, sequence_number: 5, step_text: На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу}, {exercise_id: 41, sequence_number: 6, step_text: Повторите движение ногой заданное количество раз}]}}], workout_id: 82, workout_duration_start: 10, workout_duration_end: 20, training_score: {score_percent: 90, score_interpretation: excellent}}}
FATAL [zone] Unhandled asynchronous error
Invalid argument(s): A value must be provided. Supported values: completed, not_completed, cant_complete
#0      $enumDecode (package:json_annotation/src/enum_helpers.dart:70:5)
#1      _$ResultInfoExerciseDtoFromJson (package:testapp/features/training/models/dto/result_workout/result_info_exercise_dto.g.dart:20:21)
#2      new ResultInfoExerciseDto.fromJson (package:testapp/features/training/models/dto/result_workout/result_info_exercise_dto.dart:29:7)
#3      _$ResultInfoWorkoutDtoFromJson.<anonymous closure> (package:testapp/features/training/models/dto/result_workout/result_info_workout_dto.g.dart:16:41)
#4      MappedListIterable.elementAt (dart:_internal/iterable.dart:443:31)
#5      ListIterator.moveNext (dart:_internal/iterable.dart:372:26)
#6      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194:27)
#7      new _GrowableList.of (dart:core-patch/growable_array.dart:154:28)
#8      new List.of (dart:core-patch/array_patch.dart:39:18)
#9      ListIterable.toList (dart:_internal/iterable.dart:224:7)
#10     _$ResultInfoWorkoutDtoFromJson (package:testapp/features/training/models/dto/result_workout/result_info_workout_dto.g.dart:17:8)
#11     new ResultInfoWorkoutDto.fromJson (package:testapp/features/training/models/dto/result_workout/result_info_workout_dto.dart:27:7)
#12     WorkoutRepositoryImpl.getResultWorkout.<anonymous closure> (package:testapp/features/training/data/repository/workout_repository_impl.dart:93:32)
#13     _$nullableGenericFromJson (package:testapp/core/data/models/response/response_api.g.dart:38:37)
#14     _$ResponseApiFromJson (package:testapp/core/data/models/response/response_api.g.dart:14:9)
#15     new ResponseApi.fromJson (package:testapp/core/data/models/response/response_api.dart:27:8)
#16     BaseRepository.apiCall (package:testapp/core/data/repository/base_repository.dart:29:24)
<asynchronous suspension>
#17     WorkoutRepositoryImpl.getResultWorkout (package:testapp/features/training/data/repository/workout_repository_impl.dart:84:22)
<asynchronous suspension>
#18     ResultWorkoutCubit._loadTrainingResult (package:testapp/features/training/presentation/bloc/training_result/result_workout_cubit.dart:27:29)
<asynchronous suspension>
INFO [console] p_text: Движение должно быть контролируемым. Максимально напрягите икроножные мышцы в верхней точке}, {exercise_id: 85, sequence_number: 7, step_text: Также под контролем медленно опустите пятки на пол, возвращаясь в исходное положение}, {exercise_id: 85, sequence_number: 8, step_text: Выполните поднятие на носки необходимое количество раз}]}}, {id: 42, sequence_number: 2, completion_status: null, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQC78495HZ7HDF3FGQ104G16.png, instruction: {exercise_name: Подъём прямой ноги в сторону - В и.п. лёжа на боку, video: https://rehabilitation.most.team/storage/exercise/videos/01KQC78499GQQ5WEFZWRN07YFK.mov, inventory: null, warning: Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу, general_description: Лёжа на боку отвести верхнюю ногу в сторону (поднять). Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу.
INFO [console] Представьте, что вы лежите на боку и прижимаетесь спиной к стене, а далее скользите пяткой верхней ноги по стене вверх. Цель – тренировка мышц абдукторов/аддукторов бедра., steps: [{exercise_id: 42, sequence_number: 1, step_text: Лягте на бок так, чтобы рабочая нога была сверху}, {exercise_id: 42, sequence_number: 2, step_text: Убедитесь, что вы лежите ровно. Голова может лежать на руке или на подушке}, {exercise_id: 42, sequence_number: 3, step_text: Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости}, {exercise_id: 42, sequence_number: 4, step_text: Верхнюю ногу полностью выпрямите. Она должна находиться строго над нижней ногой, образуя одну линию с туловищем}, {exercise_id: 42, sequence_number: 5, step_text: Положите верхнюю руку на талию или на матрас перед собой для равновесия}, {exercise_id: 42, sequence_number: 6, step_text: На выдохе: Медленно поднимите (отведите) прямую ногу вверх. Движение должно происходить строго в плоскости тела, как будто вы отво
INFO [console] дите ногу в сторону. Нога не должна сгибаться в тазобедренном суставе и отклоняться вперёд по направлению к животу или назад по направлению к спине}, {exercise_id: 42, sequence_number: 7, step_text: В верхней точке задержитесь на 1-2 секунды, сохраняя ногу прямой и чувствуя напряжение в боковой поверхности бедра и ягодице}, {exercise_id: 42, sequence_number: 8, step_text: На вдохе: Плавно, без рывка, опустите ногу в исходное положение. Старайтесь не класть ногу полностью на нижнюю, а остановитесь чуть выше, чтобы сохранить напряжение в мышцах}, {exercise_id: 42, sequence_number: 9, step_text: Повторите необходимое количество раз }]}}, {id: 41, sequence_number: 3, completion_status: null, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png, instruction: {exercise_name: Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной, video: https://rehabilit
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-22T08:25:58.109178Z, request_id: 2a642de2-af58-46af-8383-ce94c56f0cda, version: v1}, data: {results: [{id: 85, sequence_number: 1, completion_status: completed, score_percent: 90, score_interpretation: excellent, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KSM578DSDH215A8W6P26RXEH.png, instruction: {exercise_name: Тренировка икроножных мышц стоя, video: https://rehabilitation.most.team/storage/exercise/videos/01KRJHJR20X1FNE739BG0QDYN4.mov, inventory: Опора (стул, подоконник, стена), warning: Следите за положением пяток и стоп. Пятки не должны заваливаться внутрь (это признак неправильной нагрузки). Стопы должны оставаться параллельными на протяжении всего движения, для более наглядного контроля вы можете положить кубик для йоги между стопами Следите, чтобы спина была прямая Не уводите таз вперед/назад Колени держите выпрямленными, general_description: В исходном положении стоя, ноги на ширине таза
INFO [console] , руками опереться на спинку стула или стол, выполнить подъём на носки. Следить за тем, чтобы пятки не уходили внутрь, и стопы оставались параллельными. Цель – тренировка мышц голени., steps: [{exercise_id: 85, sequence_number: 1, step_text: Встаньте прямо, лицом к устойчивой опоре (спинка стула, стол, подоконник, стена). Вы должны находиться боком оперированной ноги к камере}, {exercise_id: 85, sequence_number: 2, step_text: Поставьте ноги на ширине таза (примерно на расстоянии 10-15 см друг от друга). Стопы должны быть параллельны друг другу}, {exercise_id: 85, sequence_number: 3, step_text: Слегка обопритесь руками на опору для сохранения равновесия. Не переносите на руки весь вес тела}, {exercise_id: 85, sequence_number: 4, step_text: Спина прямая, живот слегка подтянут, взгляд направлен вперёд}, {exercise_id: 85, sequence_number: 5, step_text: Медленно и плавно поднимитесь как можно выше на носки, перенося вес тела на передние части стоп}, {exercise_id: 85, sequence_number: 6, ste
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-22T08:25:58.109178Z","request_id":"2a642de2-af58-46af-8383-ce94c56f0cda","version":"v1"},"data":{"results":[{"id":85,"sequence_number":1,"completion_status":"completed","score_percent":90,"score_interpretation":"excellent","exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KSM578DSDH215A8W6P26RXEH.png","instruction":{"exercise_name":"Тренировка икроножных мышц стоя","video":"https://rehabilitation.most.team/storage/exercise/videos/01KRJHJR20X1FNE739BG0QDYN4.mov","inventory":"Опора (стул, подоконник, стена)","warning":"Следите за положением пяток и стоп. Пятки не должны заваливаться внутрь (это признак неправильной нагрузки). Стопы должны оставаться параллельными на протяжении всего движения, для более наглядного контроля вы можете положить кубик для йоги между стопами\nСледите, чтобы спина была прямая\nНе уводите таз вперед/назад\nКолени держите выпрямленными","general_description":"В исходном положении стоя, ноги на ширине таза, руками опереться на спинку стула или стол, выполнить подъём на носки. Следить за тем, чтобы пятки не уходили внутрь, и стопы оставались параллельными. Цель – тренировка мышц голени.","steps":[{"exercise_id":85,"sequence_number":1,"step_text":"Встаньте прямо, лицом к устойчивой опоре (спинка стула, стол, подоконник, стена). Вы должны находиться боком оперированной ноги к камере"},{"exercise_id":85,"sequence_number":2,"step_text":"Поставьте ноги на ширине таза (примерно на расстоянии 10-15 см друг от друга). Стопы должны быть параллельны друг другу"},{"exercise_id":85,"sequence_number":3,"step_text":"Слегка обопритесь руками на опору для сохранения равновесия. Не переносите на руки весь вес тела"},{"exercise_id":85,"sequence_number":4,"step_text":"Спина прямая, живот слегка подтянут, взгляд направлен вперёд"},{"exercise_id":85,"sequence_number":5,"step_text":"Медленно и плавно поднимитесь как можно выше на носки, перенося вес тела на передние части стоп"},{"exercise_id":85,"sequence_number":6,"step_text":"Движение должно быть контролируемым. Максимально напрягите икроножные мышцы в верхней точке"},{"exercise_id":85,"sequence_number":7,"step_text":"Также под контролем медленно опустите пятки на пол, возвращаясь в исходное положение"},{"exercise_id":85,"sequence_number":8,"step_text":"Выполните поднятие на носки необходимое количество раз"}]}},{"id":42,"sequence_number":2,"completion_status":null,"score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQC78495HZ7HDF3FGQ104G16.png","instruction":{"exercise_name":"Подъём прямой ноги в сторону - В и.п. лёжа на боку","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQC78499GQQ5WEFZWRN07YFK.mov","inventory":null,"warning":"Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу","general_description":"Лёжа на боку отвести верхнюю ногу в сторону (поднять). Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу. Представьте, что вы лежите на боку и прижимаетесь спиной к стене, а далее скользите пяткой верхней ноги по стене вверх. Цель – тренировка мышц абдукторов/аддукторов бедра.","steps":[{"exercise_id":42,"sequence_number":1,"step_text":"Лягте на бок так, чтобы рабочая нога была сверху"},{"exercise_id":42,"sequence_number":2,"step_text":"Убедитесь, что вы лежите ровно. Голова может лежать на руке или на подушке"},{"exercise_id":42,"sequence_number":3,"step_text":"Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости"},{"exercise_id":42,"sequence_number":4,"step_text":"Верхнюю ногу полностью выпрямите. Она должна находиться строго над нижней ногой, образуя одну линию с туловищем"},{"exercise_id":42,"sequence_number":5,"step_text":"Положите верхнюю руку на талию или на матрас перед собой для равновесия"},{"exercise_id":42,"sequence_number":6,"step_text":"На выдохе: Медленно поднимите (отведите) прямую ногу вверх. Движение должно происходить строго в плоскости тела, как будто вы отводите ногу в сторону. Нога не должна сгибаться в тазобедренном суставе и отклоняться вперёд по направлению к животу или назад по направлению к спине"},{"exercise_id":42,"sequence_number":7,"step_text":"В верхней точке задержитесь на 1-2 секунды, сохраняя ногу прямой и чувствуя напряжение в боковой поверхности бедра и ягодице"},{"exercise_id":42,"sequence_number":8,"step_text":"На вдохе: Плавно, без рывка, опустите ногу в исходное положение. Старайтесь не класть ногу полностью на нижнюю, а остановитесь чуть выше, чтобы сохранить напряжение в мышцах"},{"exercise_id":42,"sequence_number":9,"step_text":"Повторите необходимое количество раз "}]}},{"id":41,"sequence_number":3,"completion_status":null,"score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png","instruction":{"exercise_name":"Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov","inventory":null,"warning":"Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”","general_description":"Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра.","steps":[{"exercise_id":41,"sequence_number":1,"step_text":"Сядьте на пол лицом к камере. Ноги выпрямите перед собой"},{"exercise_id":41,"sequence_number":2,"step_text":"Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях"},{"exercise_id":41,"sequence_number":3,"step_text":"Приподнимите рабочую ногу на 5-10 см "},{"exercise_id":41,"sequence_number":4,"step_text":"На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра"},{"exercise_id":41,"sequence_number":5,"step_text":"На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу"},{"exercise_id":41,"sequence_number":6,"step_text":"Повторите движение ногой заданное количество раз"}]}}],"workout_id":82,"workout_duration_start":10,"workout_duration_end":20,"training_score":{"score_percent":90,"score_interpretation":"excellent"}}}
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Sat, 22 Aug 2026 08:25:58 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=795&rehabilitation_day_id=2018&workout_id=82
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=795&rehabilitation_day_id=2018&workout_id=82
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-22T08:25:55.778710Z","request_id":"d4d50204-b63d-439d-bcb7-fa32741995e0","version":"v1"},"data":{"rehabilitation_day_id":2018,"phase_id":262,"diagnosis_rehab":"Postman test","start_rehab":"2026-05-04 00:00:00","end_rehab":"2026-07-10 00:00:00","name_rehab_phase":"Postman test phase","status":["none"],"recommendations_count":1,"date":"2026-06-25","training":[{"mode":"correction_unit","status":"completed","progress":90,"unit_id":795,"time":"10 - 20 мин","count_questions":1,"status_questions":false,"workout_id":82}]}}
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Sat, 22 Aug 2026 08:25:55 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-06-25
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 667|QSRbgxvQEDuesx88MKPd0oaTpfmRTttU6FFqZALj12ced175
INFO [console] [DIO] data:
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] Authorization: Bearer 667|QSRbgxvQEDuesx88MKPd0oaTpfmRTttU6FFqZALj12ced175
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-06-25
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-22T08:25:53.955861Z","request_id":"0055c7a4-0c6f-4d0d-b102-b279ee8cfce3","version":"v1"},"data":{"rehabilitation_day_id":2011,"phase_id":262,"diagnosis_rehab":"Postman test","start_rehab":"2026-05-04 00:00:00","end_rehab":"2026-07-10 00:00:00","name_rehab_phase":"Postman test phase","status":["none"],"recommendations_count":1,"date":"2026-06-01","training":[{"mode":"correction_unit","status":"completed","progress":14,"unit_id":795,"time":"10 - 20 мин","count_questions":1,"status_questions":false,"workout_id":76},{"mode":"diagnostics","status":"completed","progress":55,"unit_id":794,"time":"10 - 20 мин","count_questions":null,"status_questions":false,"workout_id":93}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-22T08:25:53.955861Z, request_id: 0055c7a4-0c6f-4d0d-b102-b279ee8cfce3, version: v1}, data: {rehabilitation_day_id: 2011, phase_id: 262, diagnosis_rehab: Postman test, start_rehab: 2026-05-04 00:00:00, end_rehab: 2026-07-10 00:00:00, name_rehab_phase: Postman test phase, status: [none], recommendations_count: 1, date: 2026-06-01, training: [{mode: correction_unit, status: completed, progress: 14, unit_id: 795, time: 10 - 20 мин, count_questions: 1, status_questions: false, workout_id: 76}, {mode: diagnostics, status: completed, progress: 55, unit_id: 794, time: 10 - 20 мин, count_questions: null, status_questions: false, workout_id: 93}]}}
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] date: Sat, 22 Aug 2026 08:25:53 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-06-01
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-22T08:25:55.778710Z, request_id: d4d50204-b63d-439d-bcb7-fa32741995e0, version: v1}, data: {rehabilitation_day_id: 2018, phase_id: 262, diagnosis_rehab: Postman test, start_rehab: 2026-05-04 00:00:00, end_rehab: 2026-07-10 00:00:00, name_rehab_phase: Postman test phase, status: [none], recommendations_count: 1, date: 2026-06-25, training: [{mode: correction_unit, status: completed, progress: 90, unit_id: 795, time: 10 - 20 мин, count_questions: 1, status_questions: false, workout_id: 82}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] Authorization: Bearer 667|QSRbgxvQEDuesx88MKPd0oaTpfmRTttU6FFqZALj12ced175
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
$
250 строкUTF-8LIVE