# Шаг 6: Назначение тестов ## Цель Реализовать функционал назначения тестов сотрудникам и подразделениям. --- ## Задачи ### 6.1. Назначение теста | Эндпоинт | Метод | Описание | |----------|-------|----------| | `/api/assignments` | GET | Список назначений | | `/api/assignments` | POST | Назначить тест | | `/api/assignments/:id` | GET | Детали назначения | | `/api/assignments/:id` | PUT | Редактировать | | `/api/assignments/:id` | DELETE | Удалить | ### 6.2. Параметры назначения - `test_version_id` — активная версия теста - `deadline` — срок сдачи (дата) - `max_attempts` — допустимое количество попыток - `targets` — получатели: - Тип: `department` или `user` - Список ID подразделений/сотрудников ### 6.3. Ограничения - **HR:** может назначить любому сотруднику любого подразделения - **Manager:** может назначить только сотрудникам своего подразделения ### 6.4. API для сотрудника - **GET** `/api/my-assignments` — список назначенных тестов для текущего пользователя - Статусы: - `not_started` — не начат - `in_progress` — в процессе - `completed` — завершён - `expired` — просрочен --- ## Результат - Назначение тестов подразделениям или сотрудникам - Ограничение по дедлайну и попыткам - Список назначений для сотрудника