Добавление UseCase'ов

This commit is contained in:
Антон
2025-11-23 09:59:25 +03:00
parent a623e305b3
commit 4707ffcdb0
+72 -3
View File
@@ -30,7 +30,7 @@
## UseCase №1
### 1.Название: Зарегистрировать пользователя
### 2.Актор: Пользователь
### 2.Актор: Пользователь-пациент
### 3.Цель: Внести данные о новом пользователе в систему
### 4.Предусловия:
* Пользователь не авторизован в системе
@@ -86,7 +86,7 @@
## UseCase №2
### 1.Название: Авторизация пользователя
### 2.Актор: Пользователь
### 2.Актор: Пользователь-пациент
### 3.Цель: Предоставить пользователю возможность получить его данные в виде дневника болезни
### 4.Предусловия:
* Пользователь должен быть зарегистрирован в системе
@@ -156,7 +156,7 @@ null
## UseCase №3
### 1.Название: Переход на главную страницу
### 2.Актор: Пользователь
### 2.Актор: Пользователь-пациент
### 3.Цель: Предоставить пользователю поверхностный вывод данных о нем и инструменты для глубокого просмотра данных и их модификации
### 4.Предусловия:
* Пользователь имеет актуальный токен, подтверждающий его авторизацию в системе
@@ -268,3 +268,72 @@ null
* medications(uuid(PK), name, dose, unit, is_urgent)
## UseCase №4
### 1.Название: Добавление новой записи в дневник
### 2.Актор: Пользователь-пациент
### 3.Цель: Ведение дневника болезни для врача
### 4.Предусловия:
* Пользователь авторизован в системе
* Пользователь находится на главной странице
### 5.Основной поток:
#### А1.Пользователь создает новую запись в дневнике
* Если отсутствуют, то подключаются идентификаторы мании, депрессии, настроения, активности, аппетита, сна, тревоги
* Пользователь кликает по соответствующей кнопке добавления записи в дневник
* Вызывается модальное окно с формой заполнения записи
* Пользователь описывает свое текущее состояние на модальном окне и указывает используемую схему лечения
### 6.Потоки исключений:
#### B1.В приложении отсутствуют схемы лечений
* Выполнение добавления записи невозможно, поэтому кнопка вызова модального окна блокируется
#### B2.Пользователь оставил пустым любое из полей, кроме comment
* Запись о неполном состоянии нельзя создать. Кнопка создания записи заблокирована
#### B3. Идентификаторы состояний не подгрузились
* На поле вводаставится заглушка, делающая невозможным его заполнение.
### 7.Постусловия
* Пользователь добавил запись с указанной датой и прочими состояниями в БД
### 8.API-Маршруты
* `POST /api/v1/Auth/Diaries` - Создание записи в дневнике
### 9.Контракт
#### Diaries-Request
```
{
`user_uuid`: "51351bb1-7563-479d-a8e9-201d0ff934c2",
`time`: "172493000",
`mania_level`: "6",
`depression_level`: "6",
`mood_level`: "7",
`activity_level`: "4",
`appetite_level`: "5",
`dream_level`: "5",
`anxiety_level`: "9",
`comment`: "Сильная тревога. Пришлось выпить аминазин",
`user_treatment_schemes_uuid`: "51351bb1-7563-479d-a8e9-201d0ff934c2",
}
```
##### Требования к валидации:
* Все поля, кроме `comment` обязательны к заполнению
* `user_treatment_schemes_uuid` должен указывать на существующую схему лечения
##### Response - 201 - Created
```
{
`uuid`: "61351bb1-7563-479d-a8e9-201d0ff934c2",
`user_uuid`: "71351bb1-7563-479d-a8e9-201d0ff934c2",
`time` "172493000",
`mania_level`: "6",
`depression_level`: "6",
`mood_level`: "7",
`activity_level`: "4",
`appetite_level`: "5",
`dream_level`: "5",
`anxiety_level`: "9",
`comment`: "Сильная тревога. Пришлось выпить аминазин",
`user_treatment_schemes_uuid`: "51351bb1-7563-479d-a8e9-201d0ff934c2",
}
```
##### Errors
* `400 USER_EXISTS` — отсутствуют обязательные поля
* `400 BAD_REQUEST` — сервер не смог десереализовать JSON
### 10. Используемые сущности ДБ
* diaries()