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