From 3f8e032428126f9bee1c887b4de04827c5cd37e2 Mon Sep 17 00:00:00 2001 From: Terebov_Maksim Date: Thu, 20 Feb 2025 10:28:10 +0300 Subject: [PATCH] day3_commit1_fixed_loginauth --- app/src/main/java/ru/myitschool/work/api/ApiService.kt | 4 ++-- .../java/ru/myitschool/work/ui/Main/AdminFragment.kt | 2 +- .../java/ru/myitschool/work/ui/login/LoginViewModel.kt | 10 +++++++++- app/src/main/res/navigation/nav_graph.xml | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/ru/myitschool/work/api/ApiService.kt b/app/src/main/java/ru/myitschool/work/api/ApiService.kt index 6147d40..2723c8d 100644 --- a/app/src/main/java/ru/myitschool/work/api/ApiService.kt +++ b/app/src/main/java/ru/myitschool/work/api/ApiService.kt @@ -15,7 +15,7 @@ interface ApiService { suspend fun authenticate( @Query("login") login: String, @Query("password") password: String - ): Response // Измените ResponseBody на String // Возвращаем ResponseBody вместо String + ): Response // Измените Response на Response // Другие методы... @GET("/api/{login}/info") // Получение информации о пользователе @@ -25,7 +25,7 @@ interface ApiService { suspend fun getEmployeeInfo(@Path("login") login: String): Response @PATCH("/api/open") // Открыть дверь - suspend fun openDoor(@Body request: OpenDoorRequest): Response + suspend fun openDoor(@Body request: OpenDoorRequest): Response // Измените Response на Response @POST("/api/employee/toggleAccess") // Метод для блокировки/разблокировки доступа suspend fun toggleAccess(@Body request: ToggleAccessRequest): Response diff --git a/app/src/main/java/ru/myitschool/work/ui/Main/AdminFragment.kt b/app/src/main/java/ru/myitschool/work/ui/Main/AdminFragment.kt index d9f6dd3..e183075 100644 --- a/app/src/main/java/ru/myitschool/work/ui/Main/AdminFragment.kt +++ b/app/src/main/java/ru/myitschool/work/ui/Main/AdminFragment.kt @@ -1,4 +1,4 @@ -package ru.myitschool.work.ui.Main +package ru.myitschool.work.ui.main import android.os.Bundle import android.view.View 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 6d53cd4..a74667e 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 @@ -19,31 +19,39 @@ class LoginViewModel @Inject constructor( val state: StateFlow get() = _state fun authenticate(username: String, password: String) { + Log.d("LoginViewModel", "Authenticating user: $username") // Логируем начало аутентификации + if (isValidUsername(username)) { viewModelScope.launch { try { + Log.d("LoginViewModel", "Sending authentication request to server") // Логируем отправку запроса val response = apiService.authenticate(username, password) - Log.d("LoginViewModel", "Response code: ${response.code()}") + Log.d("LoginViewModel", "Response code: ${response.code()}") // Логируем код ответа // Проверяем код ответа when (response.code()) { 200 -> { _state.value = LoginState(success = true) // Успешная авторизация + Log.d("LoginViewModel", "Authentication successful") // Логируем успешную аутентификацию } 400 -> { _state.value = LoginState(error = "Ошибка авторизации: Неверные учетные данные.") + Log.d("LoginViewModel", "Authentication failed: Invalid credentials") // Логируем ошибку } else -> { _state.value = LoginState(error = "Ошибка авторизации: ${response.message()}") + Log.d("LoginViewModel", "Authentication failed: ${response.message()}") // Логируем ошибку } } } catch (e: Exception) { e.printStackTrace() _state.value = LoginState(error = "Ошибка сети. Проверьте подключение к интернету.") + Log.e("LoginViewModel", "Network error: ${e.message}") // Логируем ошибку сети } } } else { _state.value = LoginState(error = "Неправильный логин") + Log.d("LoginViewModel", "Invalid username: $username") // Логируем неправильный логин } } diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 4582960..89bccfc 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -24,7 +24,7 @@