Merge remote-tracking branch 'origin/department_dev' into department_dev
This commit is contained in:
86
docs/API.md
86
docs/API.md
@@ -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}`
|
||||||
|
|
||||||
@@ -92,7 +101,7 @@
|
|||||||
|
|
||||||
Список всех занятий с разрешёнными именами (преподаватель, группа, дисциплина, аудитория).
|
Список всех занятий с разрешёнными именами (преподаватель, группа, дисциплина, аудитория).
|
||||||
|
|
||||||
**Ответ:**
|
**Ответ:**
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -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}`
|
||||||
|
|||||||
Reference in New Issue
Block a user