Correction TP 6 - P1
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user