Files
ENI-Kotlin/app/src/main/java/com/example/tpfilrouge/auth/LoginViewModel.kt
2025-01-27 16:56:31 +01:00

42 lines
1.4 KiB
Kotlin

package com.example.tpfilrouge.auth
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.example.tpfilrouge.helpers.AppDialogHelpers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
class LoginViewModel : ViewModel() {
// Ecouter la saisie de email et password
var email = MutableStateFlow("isaac@gmail.com")
var password = MutableStateFlow("password")
fun callLoginApi(onSuccess : () -> Unit = {}){
AppDialogHelpers.get().showDialog("Tentive de connexion...");
viewModelScope.launch {
// Preparer le DTO à envoyer dans request body
// Le DTO qui contient : email et password
val loginRequest = LoginRequestDTO(email.value, password.value);
// Appel api async
val responseService = AuthService.AuthApi.authService.login(loginRequest);
// Fermer la popup de chargement aprés l'appel de API
AppDialogHelpers.get().closeDialog()
// Si connexion ok
if (responseService.code.equals("200")){
// Je notifie que c'est ok
println("Connexion OK")
// Note: J'appel la fonction que j'envoie en parametre de la fonction
onSuccess();
}
else{
// Erreur
println("Connexion échouée")
}
}
}
}