diff --git a/README.md b/README.md index c3010e6..9496136 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ - Указать возможные исключения в интерфейсах DAO - Вынести User в структуру. Hashed Password структура должна изначально состоять в другой структуре - ~~SharedPtr - передавать по константной ссылке.~~ +- Вынести обработку исключений в RootExecutor - Сделать интеграционный тест по ручкам # UseCase'ы приложения: @@ -88,6 +89,10 @@ * Из-за отсутствия авторизации приложение перенаправляет его на страницу авторизации * Пользователь вводит свой логин и пароль * Пользователь получает токен, который открывает ему доступ к получению собственных данных +#### А2.Пользователь осуществляет выход из системы +* Пользователь кликает на кнопку логаута +* На сервере происходил отзыв токена +* Пользователь вновь считается неавторизованным ### 6.Альтернативные потоки: #### B1.Введен неправильный логин или неправильный пароль * Пользователь не получает токен, авторизация провалена @@ -96,6 +101,8 @@ * При попытке авторизации не происходит запрос токена. Авторизация провалена * Пустые поля подкрашиваются, как ошибочно заполненные * Выводится сообщение об ошибке +#### B3.Пользователь не был зарегистрирован в приложении на момент логаута +* Сервер не может отозвать токен и возвращает ошибку ### 7.Постусловия * Сессия пользователя в виде токена сохраняется на сервере * Пользователь перенаправлен на основную страницу, где выводится его дневник болезни @@ -122,6 +129,20 @@ * `422 VALIDATION_FAILED` — пустые поля (B2) * `400 BAD_REQUEST` — сервер не смог десереализовать JSON +#### Logout-Request +``` +{ + "token": af32df3bas739f272bd109c823 +} +``` +##### Response - 200 - OK +``` +null +``` + +##### Errors +* `401 BAD_CREDENTIALS` — Такого токена не существует(B3) + ### 10. Используемые сущности ДБ * users(uuid(PK), login(unique), hashed_password)