day3_commit1_fixed_loginauth

This commit is contained in:
Terebov_Maksim 2025-02-20 10:28:10 +03:00
parent cd32de6116
commit 3f8e032428
4 changed files with 13 additions and 5 deletions

View File

@ -15,7 +15,7 @@ interface ApiService {
suspend fun authenticate(
@Query("login") login: String,
@Query("password") password: String
): Response<String> // Измените ResponseBody на String // Возвращаем ResponseBody вместо String
): Response<Unit> // Измените Response<String> на Response<Unit>
// Другие методы...
@GET("/api/{login}/info") // Получение информации о пользователе
@ -25,7 +25,7 @@ interface ApiService {
suspend fun getEmployeeInfo(@Path("login") login: String): Response<EmployeeData>
@PATCH("/api/open") // Открыть дверь
suspend fun openDoor(@Body request: OpenDoorRequest): Response<String>
suspend fun openDoor(@Body request: OpenDoorRequest): Response<Unit> // Измените Response<String> на Response<Unit>
@POST("/api/employee/toggleAccess") // Метод для блокировки/разблокировки доступа
suspend fun toggleAccess(@Body request: ToggleAccessRequest): Response<Unit>

View File

@ -1,4 +1,4 @@
package ru.myitschool.work.ui.Main
package ru.myitschool.work.ui.main
import android.os.Bundle
import android.view.View

View File

@ -19,31 +19,39 @@ class LoginViewModel @Inject constructor(
val state: StateFlow<LoginState> 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") // Логируем неправильный логин
}
}

View File

@ -24,7 +24,7 @@
<fragment
android:id="@+id/adminFragment"
android:name="ru.myitschool.work.ui.admin.AdminFragment"
android:name="ru.myitschool.work.ui.main.AdminFragment"
android:label="Admin Fragment"
tools:layout="@layout/fragment_admin" />