a68331c86b
- PROJECT_STATUS: что сделано (черновики, версии, разбор, каталог) и планы - DEV_CONTOUR_USER_GUIDE: сценарии для проверяющих на dev-стенде - README, ТЗ, card1, журнал, бэклоги, шаги 01–11+README, спринты, TEST_TABLES: ссылки и примечания - backend/PROGRESS: ссылка на PROJECT_STATUS Made-with: Cursor
56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# Шаг 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` — просрочен
|
|
|
|
---
|
|
|
|
## Результат
|
|
|
|
- Назначение тестов подразделениям или сотрудникам
|
|
- Ограничение по дедлайну и попыткам
|
|
- Список назначений для сотрудника
|
|
|
|
|
|
---
|
|
|
|
*Актуальная привязка к коду: [../PROJECT_STATUS.md](../PROJECT_STATUS.md) · индекс шагов: [README.md](README.md).*
|