Merge remote-tracking branch 'origin/department_dev' into department_dev

This commit is contained in:
2026-03-31 00:49:45 +03:00

View File

@@ -53,8 +53,8 @@
**Ответ:** **Ответ:**
```json ```json
[ [
{ "id": 1, "username": "admin", "role": "ADMIN" }, { "id": 1, "username": "admin", "role": "ADMIN", "fullName": "Иванов Админ Иванович", "jobTitle": "Доцент", "departmentName": "Кафедра ИБ" },
{ "id": 2, "username": "Тестовый преподаватель", "role": "TEACHER" } { "id": 2, "username": "Тестовый преподаватель", "role": "TEACHER", "fullName": "Петров Препод Петрович", "jobTitle": "Профессор", "departmentName": "Кафедра ВТ" }
] ]
``` ```
@@ -62,6 +62,10 @@
Список только преподавателей (роль `TEACHER`). Список только преподавателей (роль `TEACHER`).
### `GET /api/users/teachers/{departmentId}`
Список преподавателей привязанных к конкретной кафедре (роль `TEACHER`, код кафедры `departmentId`).
### `POST /api/users` ### `POST /api/users`
Создание пользователя. Создание пользователя.
@@ -69,16 +73,21 @@
**Тело запроса:** **Тело запроса:**
```json ```json
{ {
"username": "Новый преподаватель", "username": "teacher1",
"password": "password123", "password": "password",
"role": "TEACHER" "role": "TEACHER",
"fullName": "Test Teacher",
"jobTitle": "Proffessor",
"departmentId": 1
} }
``` ```
**Валидация:** **Валидация:**
- `username` — обязателен - `username` — обязателен и уникален
- `password` — минимум 4 символа - `password` — минимум 4 символа
- `role``ADMIN`, `TEACHER` или `STUDENT` - `role``ADMIN`, `TEACHER` или `STUDENT`
- `fullName` — обязателен
- `departmentId` — обязателен
### `DELETE /api/users/{id}` ### `DELETE /api/users/{id}`
@@ -135,6 +144,7 @@
``` ```
**Валидация:** **Валидация:**
| Поле | Правило | | Поле | Правило |
|------|---------| |------|---------|
| `teacherId` | Обязателен, ≠ 0 | | `teacherId` | Обязателен, ≠ 0 |
@@ -147,10 +157,36 @@
| `week` | `Верхняя`, `Нижняя`, `Обе` | | `week` | `Верхняя`, `Нижняя`, `Обе` |
| `time` | Обязателен | | `time` | Обязателен |
### `PUT /api/users/lessons/update/{lessonId}` ### `PUT /api/users/lessons/update/{lessonId}`
Обновление занятия. Поддерживает partial update — передаются только изменённые поля. Обновление занятия. Поддерживает partial update — передаются только изменённые поля.
**Тело ответа:**
```json
{
"id": 5,
"teacherId": 1,
"groupId": 1,
"subjectId": 2,
"LessonFormat": "Онлайн",
"typeLesson": "Практическая работа",
"classroomId": 3,
"day": "Понедельник",
"week": "Верхняя",
"time": "9:40 - 11:10",
"updatedFields": {
"teacherId": 1,
"subjectId": 2,
"lessonFormat": "Онлайн",
"classroomId": 3,
"day": "Понедельник",
"time": "9:40 - 11:10"
},
"message": "Занятие успешно обновлено"
}
```
### `DELETE /api/users/lessons/delete/{lessonId}` ### `DELETE /api/users/lessons/delete/{lessonId}`
Удаление занятия. Удаление занятия.
@@ -175,20 +211,30 @@
"name": "ИВТ-21-1", "name": "ИВТ-21-1",
"groupSize": 25, "groupSize": 25,
"educationFormId": 1, "educationFormId": 1,
"educationFormName": "Бакалавриат" "educationFormName": "Бакалавриат",
"departmentId": 1,
"course": 3,
"specialityCode": 1
} }
] ]
``` ```
### `GET /api/groups/{departmentId}`
Список всех групп привязанных к конкретной кафедре.
### `POST /api/groups` ### `POST /api/groups`
Создание группы. Создание группы.
```json ```json
{ {
"name": Б-31м", "name": ВТ-11",
"groupSize": 20, "groupSize": 12,
"educationFormId": 2 "educationFormId": 1,
"departmentId": 1,
"course": 2,
"specialityCode": 1
} }
``` ```
@@ -249,10 +295,26 @@
Список всех дисциплин. Список всех дисциплин.
```json
{
"name": "Физика",
"code": null,
"departmentId": 1
}
```
### `GET /api/subjects/{departmentId}`
Список всех дисциплин привязанных к кафедре.
### `POST /api/subjects` ### `POST /api/subjects`
```json ```json
{ "name": "Физика" } {
"name": "Физика",
"code": null,
"departmentId": 1
}
``` ```
### `DELETE /api/subjects/{id}` ### `DELETE /api/subjects/{id}`