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()