Correction TP 6 - P1

This commit is contained in:
Chocolaterie
2025-01-27 16:56:31 +01:00
parent e7d5b82ebe
commit 4a0be3b9d2
5 changed files with 90 additions and 11 deletions

View File

@@ -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")
}
}
}
}