# Шаг 9: Трекер попыток ## Цель Реализовать единый интерфейс просмотра всех попыток прохождения тестов. --- ## Задачи ### 9.1. API трекера | Эндпоинт | Метод | Описание | |----------|-------|----------| | `/api/tracker` | GET | Список всех попыток | **Параметры фильтрации:** - `department_id` — по подразделению - `user_id` — по сотруднику - `test_id` — по тесту - `status` — по статусу (in_progress, completed, expired) - `passed` — по результату (true, false) ### 9.2. Поля в трекере | Поле | Источник | |------|----------| | Сотрудник | users.full_name, departments.name | | Тест | tests.title | | Попытка № | test_attempts.attempt_number | | Начало | test_attempts.started_at | | Завершение | test_attempts.completed_at | | Результат | correct_count / total_questions, % | | Зачёт | passed (true/false) | ### 9.3. Права доступа - **HR:** видит все попытки по всей клинике - **Manager:** видит попытки только своего подразделения - **Employee:** видит только свои попытки ### 9.4. Пагинация и сортировка - Пагинация по 20/50/100 записей - Сортировка по дате начала (убывание) --- ## Результат - Таблица попыток с фильтрами - Ограничение данных по роли - Полная история прохождений