generated from Sithas/conan_template
Переосмысление usecase'ов
This commit is contained in:
@@ -10,17 +10,18 @@
|
|||||||
* Пользователь не авторизован в системе
|
* Пользователь не авторизован в системе
|
||||||
* Пользователь с данным login'ом отсутствует в системе
|
* Пользователь с данным login'ом отсутствует в системе
|
||||||
### 5.Основной поток:
|
### 5.Основной поток:
|
||||||
|
#### А1.Пользователь при входе в систему выбрасывается из системы
|
||||||
* Пользователь заходит в приложение на любую страницу
|
* Пользователь заходит в приложение на любую страницу
|
||||||
* Из-за отсутсвия авторизации приложение перенаправляет его на страницу авторизации
|
* Из-за отсутсвия авторизации приложение перенаправляет его на страницу авторизации и регистрации
|
||||||
* Пользователь кликает по ссылке, ведущей на странице регистрации
|
* Пользователь кликает по ссылке, ведущей на странице регистрации
|
||||||
* На странице регистрации пользователь вводит логин и пароль
|
* На странице регистрации пользователь вводит логин и пароль
|
||||||
* Пользователь нажимает кнопку "Зарегистрироваться"
|
* Пользователь нажимает кнопку "Зарегистрироваться"
|
||||||
* Система выводит сообщение, что пользователь зарегистрирован в приложении
|
* Система выводит сообщение, что пользователь зарегистрирован в приложении
|
||||||
### 6.Альтернативные потоки:
|
### 6.Потоки исключений:
|
||||||
#### А1.Пользователь с таким логином уже есть в системе
|
#### B1.Пользователь с таким логином уже есть в системе
|
||||||
* Процедура регистрации проваливается
|
* Процедура регистрации проваливается
|
||||||
* Выводится нотификация с сообщением об ошибке по причине наличия такого же логина в системе
|
* Выводится нотификация с сообщением об ошибке по причине наличия такого же логина в системе
|
||||||
#### А2.Пользователь оставил пустым логин или пустой/неправильный пароль
|
#### B2.Пользователь оставил пустым логин или пустой/неправильный пароль
|
||||||
* При попытке регистрации подсвечиваются незаполненные поля, или поле пароля, если пароль неправильный
|
* При попытке регистрации подсвечиваются незаполненные поля, или поле пароля, если пароль неправильный
|
||||||
* Выводится сообщение об ошибке
|
* Выводится сообщение об ошибке
|
||||||
### 7.Постусловия
|
### 7.Постусловия
|
||||||
@@ -49,8 +50,8 @@
|
|||||||
```
|
```
|
||||||
|
|
||||||
##### Errors
|
##### Errors
|
||||||
* `409 USER_EXISTS` — пользователь с таким логином уже есть(`A1`)
|
* `409 USER_EXISTS` — пользователь с таким логином уже есть(`B1`)
|
||||||
* `422 VALIDATION_FAILED` — пустой логин/неправильный пароль(`A2`)
|
* `422 VALIDATION_FAILED` — пустой логин/неправильный пароль(`B2`)
|
||||||
* `400 BAD_REQUEST` — сервер не смог десереализовать JSON
|
* `400 BAD_REQUEST` — сервер не смог десереализовать JSON
|
||||||
|
|
||||||
### 10. Используемые сущности ДБ
|
### 10. Используемые сущности ДБ
|
||||||
@@ -64,15 +65,16 @@
|
|||||||
* Пользователь должен быть зарегистрирован в системе
|
* Пользователь должен быть зарегистрирован в системе
|
||||||
* Пользователь должен быть не авторизован в системе
|
* Пользователь должен быть не авторизован в системе
|
||||||
### 5.Основной поток:
|
### 5.Основной поток:
|
||||||
|
#### А1.Пользователь при входе в систему выбрасывается из системы
|
||||||
* Пользователь заходит в приложение на любую страницу
|
* Пользователь заходит в приложение на любую страницу
|
||||||
* Из-за отсутствия авторизации приложение перенаправляет его на страницу авторизации
|
* Из-за отсутствия авторизации приложение перенаправляет его на страницу авторизации
|
||||||
* Пользователь вводит свой логин и пароль
|
* Пользователь вводит свой логин и пароль
|
||||||
* Пользователь получает токен, который открывает ему доступ к получению собственных данных
|
* Пользователь получает токен, который открывает ему доступ к получению собственных данных
|
||||||
### 6.Альтернативные потоки:
|
### 6.Альтернативные потоки:
|
||||||
#### А1.Введен неправильный логин или неправильный пароль
|
#### B1.Введен неправильный логин или неправильный пароль
|
||||||
* Пользователь не получает токен, авторизация провалена
|
* Пользователь не получает токен, авторизация провалена
|
||||||
* Выводится сообщение об ошибке
|
* Выводится сообщение об ошибке
|
||||||
#### А2.Поле логин или пароль оставлены пустыми
|
#### B2.Поле логин или пароль оставлены пустыми
|
||||||
* При попытке авторизации не происходит запрос токена. Авторизация провалена
|
* При попытке авторизации не происходит запрос токена. Авторизация провалена
|
||||||
* Пустые поля подкрашиваются, как ошибочно заполненные
|
* Пустые поля подкрашиваются, как ошибочно заполненные
|
||||||
* Выводится сообщение об ошибке
|
* Выводится сообщение об ошибке
|
||||||
@@ -105,36 +107,34 @@
|
|||||||
#### Logout-Request
|
#### Logout-Request
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
"login": "ivan_89",
|
"token": af32df3bas739f272bd109c823
|
||||||
"password": "S3cureP@ssw0rd"
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
##### Response - 200 - OK
|
##### Response - 200 - OK
|
||||||
```
|
```
|
||||||
{
|
null
|
||||||
"token": af32df3bas739f272bd109c823
|
|
||||||
"expiresIn": 36000000 // 10 часов
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 10. Используемые сущности ДБ
|
### 10. Используемые сущности ДБ
|
||||||
* users(guid(PK), login(unique), hashed_password)
|
* users(guid(PK), login(unique), hashed_password)
|
||||||
|
|
||||||
## UseCase №3
|
## UseCase №3
|
||||||
### 1.Название: Вход в систему
|
### 1.Название: Переход на главную страницу
|
||||||
### 2.Актор: Пользователь
|
### 2.Актор: Пользователь
|
||||||
### 3.Цель: Предоставить пользователю поверхностный вывод данных о нем и инструменты для глубокого просмотра данных и их модификации
|
### 3.Цель: Предоставить пользователю поверхностный вывод данных о нем и инструменты для глубокого просмотра данных и их модификации
|
||||||
### 4.Предусловия:
|
### 4.Предусловия:
|
||||||
|
// Предусмотреть то, что пользователь может перейти страницу сильно после того, как авторизуется
|
||||||
* Пользователь имеет актуальный токен, подтверждающий его авторизацию в системе
|
* Пользователь имеет актуальный токен, подтверждающий его авторизацию в системе
|
||||||
* Пользователь получил токен только что и не успел сделать дополнительных действий
|
* Пользователь перешел на главную страницу
|
||||||
### 5.Основной поток:
|
### 5.Основной поток:
|
||||||
|
#### A1.Записи в дневнике есть
|
||||||
* Система перенаправляет пользователя на его основную страницу
|
* Система перенаправляет пользователя на его основную страницу
|
||||||
* Система запрашивает и выводит последние записи и схемы лечения его дневника
|
* Система запрашивает и выводит последние записи и схемы лечения его дневника
|
||||||
### 6.Альтернативные потоки:
|
#### A2.Записей в дневнике нет
|
||||||
#### А1.Записей в дневнике нет
|
|
||||||
* Заместо вывода записей в дневнике, система выводит заглушку, информирующую пользователя, что дневник пуст
|
* Заместо вывода записей в дневнике, система выводит заглушку, информирующую пользователя, что дневник пуст
|
||||||
* Система делает доступными операции с дневником
|
* Система делает доступными операции с дневником
|
||||||
#### А2.Записи по какой-то причине не подгрузились
|
### 6.Альтернативные потоки(Потоки исключений):
|
||||||
|
#### B1.Записи по какой-то причине не подгрузились
|
||||||
* Система выводит нотификацию об ошибке и ее причине
|
* Система выводит нотификацию об ошибке и ее причине
|
||||||
* Заместо вывода записей, система выводит на этом месте заглушку, информирующую о неправильной работе приложения и предоставляющей для нажатия кнопку перезагрузки страницы
|
* Заместо вывода записей, система выводит на этом месте заглушку, информирующую о неправильной работе приложения и предоставляющей для нажатия кнопку перезагрузки страницы
|
||||||
### 7.Постусловия
|
### 7.Постусловия
|
||||||
@@ -181,7 +181,7 @@
|
|||||||
|
|
||||||
##### Errors
|
##### Errors
|
||||||
* `401 TOKEN_REQUIRED|TOKEN_EXPIRED` — токен недействителен, либо отсутствует
|
* `401 TOKEN_REQUIRED|TOKEN_EXPIRED` — токен недействителен, либо отсутствует
|
||||||
* `500 DATA_LOAD_FAILED` — ошибка при загрузке данных (А2)
|
* `500 DATA_LOAD_FAILED` — ошибка при загрузке данных (`B1`)
|
||||||
|
|
||||||
#### TreatmentSchemes-Request
|
#### TreatmentSchemes-Request
|
||||||
##### Response - 200 - OK
|
##### Response - 200 - OK
|
||||||
|
|||||||
Reference in New Issue
Block a user