исправил качество правил и изменение расписания (не черновика)
This commit is contained in:
16
docs/API.md
16
docs/API.md
@@ -529,6 +529,8 @@ GET /api/schedule?groupId=1&startDate=2026-04-27&endDate=2026-05-03
|
||||
Повторное название года, повторный тип семестра или пересечение возвращаются как
|
||||
`409 Conflict`; неверный порядок дат и выход семестра за границы года — как `400 Bad Request`.
|
||||
При сужении учебного года все существующие семестры должны оставаться внутри новых границ.
|
||||
Создание семестра также создаёт для него пустую версию 1 со статусом `PUBLISHED` и названием
|
||||
`Основное расписание`, поэтому конструктор сразу может работать в обычном режиме.
|
||||
|
||||
**Тело создания/обновления кода активности:**
|
||||
```json
|
||||
@@ -661,10 +663,13 @@ CRUD доступен по:
|
||||
|
||||
`timeSlotId` должен ссылаться на базовый слот (`scopeApplyMode = DEFAULT`). Субботняя и ручные сетки не выбираются в правиле напрямую.
|
||||
|
||||
Создание, изменение и архивирование правил разрешены только внутри версии со статусом
|
||||
`DRAFT`; `scheduleVersionId` обязателен в payload. Версия должна относиться к указанному
|
||||
семестру. Без `versionId` список возвращает только правила текущей опубликованной версии,
|
||||
а конструктор всегда передаёт ID выбранного черновика.
|
||||
Создание, изменение и архивирование правил разрешены внутри версии со статусом `PUBLISHED`
|
||||
или `DRAFT`; `scheduleVersionId` обязателен в payload. Версия должна относиться к указанному
|
||||
семестру. Изменения `PUBLISHED`-версии сразу влияют на публичное расписание, изменения
|
||||
`DRAFT` остаются изолированными до публикации, а `ARCHIVED` доступна только для чтения.
|
||||
Без `versionId` список возвращает только правила текущей опубликованной версии. При update
|
||||
ID существующих слотов сохраняются; удаление слота, на который ссылаются точечные изменения,
|
||||
заявки преподавателей или решения по отсутствиям, отклоняется явной ошибкой `400`.
|
||||
|
||||
`subgroupIds` можно передавать только для лабораторного слота. Каждая подгруппа должна относиться к одной из групп правила. Если лабораторная проводится у нескольких групп одновременно, в одном слоте можно передать разные подгруппы этих групп, например `[10, 22]`. Для совместимости одиночный `subgroupId` тоже принимается, но новый формат — `subgroupIds`. Для лекций и практик оба поля должны быть пустыми, иначе API вернёт ошибку валидации. В одном слоте нельзя выбрать больше одной подгруппы одной и той же группы.
|
||||
|
||||
@@ -862,7 +867,8 @@ API возвращает `409 Conflict`; соседние интервалы и
|
||||
|
||||
Доступ имеют только `ADMIN` и `EDUCATION_OFFICE`. Для семестра допускается ровно одна
|
||||
версия со статусом `PUBLISHED`; остальные имеют статус `DRAFT` или `ARCHIVED`. Создание
|
||||
копии переносит правила, группы, слоты и подгруппы, сохраняя `versionGroupId` для diff.
|
||||
копии может использовать опубликованную версию или другой черновик и переносит правила,
|
||||
группы, слоты и подгруппы, сохраняя `versionGroupId` для diff.
|
||||
|
||||
```json
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user