From c13d4c12d654ca07fc40bcad056b398f3c707795 Mon Sep 17 00:00:00 2001 From: EgorVorobev Date: Wed, 19 Feb 2025 18:53:35 +0300 Subject: [PATCH] day2_commit.1.100_temple --- .../work/ui/login/LoginViewModel.kt | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/ru/myitschool/work/ui/login/LoginViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/login/LoginViewModel.kt index 25dcb8a..135f321 100644 --- a/app/src/main/java/ru/myitschool/work/ui/login/LoginViewModel.kt +++ b/app/src/main/java/ru/myitschool/work/ui/login/LoginViewModel.kt @@ -27,20 +27,32 @@ class LoginViewModel @Inject constructor( val response = apiService.authenticate(username, password) Log.d("LoginViewModel", "Response code: ${response.code()}") - if (response.isSuccessful) { - val userAuthResponse = response.body() // Получаем JSON-ответ - Log.d("LoginViewModel", "User Auth Response: $userAuthResponse") // Логируем ответ + when (response.code()) { + 200 -> { + val userAuthResponse = response.body() // Получаем JSON-ответ + Log.d("LoginViewModel", "User Auth Response: $userAuthResponse") // Логируем ответ - // Обработка JSON-ответа - if (userAuthResponse != null) { - SessionManager.userLogin = username - SessionManager.userRole = userAuthResponse.role // Сохраняем роль - _state.value = LoginState(success = true) // Успешная авторизация - } else { + // Обработка JSON-ответа + if (userAuthResponse != null) { + SessionManager.userLogin = username + SessionManager.userRole = userAuthResponse.role // Сохраняем роль + _state.value = LoginState(success = true) // Успешная авторизация + } else { + _state.value = LoginState(error = "Ошибка авторизации: Неверные учетные данные.") + } + } + 401 -> { + Log.d("LoginViewModel", "Unauthorized access: ${response.message()}") _state.value = LoginState(error = "Ошибка авторизации: Неверные учетные данные.") } - } else { - _state.value = LoginState(error = "Ошибка авторизации: ${response.message()}") + 400 -> { + Log.d("LoginViewModel", "Bad request: ${response.message()}") + _state.value = LoginState(error = "Ошибка авторизации: Неправильный запрос.") + } + else -> { + Log.d("LoginViewModel", "Error: ${response.message()}") + _state.value = LoginState(error = "Ошибка авторизации: ${response.message()}") + } } } catch (e: Exception) { e.printStackTrace()