kotlin_atten/app/src/main/java/com/yourcompany/attendancemanager/AuthViewModel.kt
2025-06-12 14:54:44 +07:00

53 lines
2.0 KiB
Kotlin

import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
data class LoginRequest(
val email: String,
val password: String
)
data class LoginResponse(
val token: String
)
class AuthViewModel : ViewModel() {
fun login(email: String, password: String, callback: (Boolean, String?) -> Unit) {
viewModelScope.launch {
if (email.isBlank() || password.isBlank()) {
callback(false, "Email หรือ Password ว่าง")
return@launch
}
// จำลองการเรียก API ที่ใช้เวลาประมาณ 2 วินาที
delay(2000)
// ตัวอย่าง login จำลอง: email = admin@example.com, password = 1234
if (email == "test@test.com" && password == "1234") {
callback(true, null)
} else {
callback(false, "อีเมลหรือรหัสผ่านไม่ถูกต้อง")
}
}
// try {
// val response = ApiClient.authApi.login(LoginRequest(email, password))
// if (response.isSuccessful) {
// val token = response.body()?.token
// if (!token.isNullOrBlank()) {
// // ✅ login สำเร็จ
// callback(true, null)
// } else {
// callback(false, "ไม่พบ token")
// }
// } else {
// callback(false, "อีเมลหรือรหัสผ่านไม่ถูกต้อง")
// }
// } catch (e: Exception) {
// callback(false, "เกิดข้อผิดพลาดในการเชื่อมต่อ: ${e.localizedMessage}")
// }
// }
}
}