a68331c86b
- PROJECT_STATUS: что сделано (черновики, версии, разбор, каталог) и планы - DEV_CONTOUR_USER_GUIDE: сценарии для проверяющих на dev-стенде - README, ТЗ, card1, журнал, бэклоги, шаги 01–11+README, спринты, TEST_TABLES: ссылки и примечания - backend/PROGRESS: ссылка на PROJECT_STATUS Made-with: Cursor
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# Шаг 4: Управление пользователями и подразделениями
|
|
|
|
## Цель
|
|
|
|
Реализовать CRUD операции для сотрудников и справочника подразделений.
|
|
|
|
---
|
|
|
|
## Задачи
|
|
|
|
### 4.1. Управление подразделениями
|
|
|
|
| Эндпоинт | Метод | Описание |
|
|
|----------|-------|----------|
|
|
| `/api/departments` | GET | Список подразделений |
|
|
| `/api/departments` | POST | Создать подразделение |
|
|
| `/api/departments/:id` | PUT | Редактировать |
|
|
| `/api/departments/:id` | DELETE | Деактивировать |
|
|
|
|
### 4.2. Управление пользователями
|
|
|
|
| Эндпоинт | Метод | Описание |
|
|
|----------|-------|----------|
|
|
| `/api/users` | GET | Список сотрудников |
|
|
| `/api/users` | POST | Создать сотрудника |
|
|
| `/api/users/:id` | GET | Карточка сотрудника |
|
|
| `/api/users/:id` | PUT | Редактировать |
|
|
| `/api/users/:id` | DELETE | Деактивировать |
|
|
|
|
### 4.3. Фильтрация
|
|
|
|
- GET `/api/users` поддерживает фильтры:
|
|
- `department_id` — по подразделению
|
|
- `role` — по роли
|
|
- `is_active` — по статусу
|
|
|
|
### 4.4. Права доступа
|
|
|
|
- **HR:** полный доступ ко всем пользователям
|
|
- **Manager:** только своё подразделение
|
|
- Создание пользователей — только администратор (ручной ввод)
|
|
|
|
---
|
|
|
|
## Результат
|
|
|
|
- Админка для управления сотрудниками
|
|
- Справочник подразделений
|
|
- Назначение ролей сотрудникам
|
|
|
|
|
|
---
|
|
|
|
*Актуальная привязка к коду: [../PROJECT_STATUS.md](../PROJECT_STATUS.md) · индекс шагов: [README.md](README.md).*
|