54 lines
2.0 KiB
Dart
54 lines
2.0 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// [UserProvider] est un `ChangeNotifier` qui gère les informations de l'utilisateur.
|
|
/// Toutes les modifications et actions sont loguées pour assurer une traçabilité complète dans le terminal.
|
|
class UserProvider with ChangeNotifier {
|
|
String _userId = '';
|
|
String _userName = '';
|
|
String _userLastName = '';
|
|
|
|
/// Getter pour l'ID de l'utilisateur
|
|
String get userId => _userId;
|
|
|
|
/// Getter pour le nom de l'utilisateur
|
|
String get userName => _userName;
|
|
|
|
/// Getter pour le prénom de l'utilisateur
|
|
String get userLastName => _userLastName;
|
|
|
|
/// Méthode pour définir les informations de l'utilisateur.
|
|
/// Logue les informations fournies et notifie les listeners des changements.
|
|
///
|
|
/// [id] : L'ID de l'utilisateur.
|
|
/// [name] : Le nom de l'utilisateur.
|
|
/// [lastName] : Le prénom de l'utilisateur.
|
|
void setUser(String id, String name, String lastName) {
|
|
debugPrint("[LOG] Tentative de définition des informations de l'utilisateur : ID = $id, Nom = $name, Prénom = $lastName");
|
|
|
|
_userId = id;
|
|
_userName = name;
|
|
_userLastName = lastName;
|
|
|
|
debugPrint("[LOG] Informations utilisateur définies : ID = $_userId, Nom = $_userName, Prénom = $_userLastName");
|
|
|
|
// Notifie les widgets écoutant ce provider qu'une modification a eu lieu
|
|
notifyListeners();
|
|
}
|
|
|
|
/// Méthode pour réinitialiser les informations de l'utilisateur.
|
|
/// Les valeurs sont loguées avant et après la réinitialisation.
|
|
void resetUser() {
|
|
debugPrint("[LOG] Réinitialisation des informations de l'utilisateur.");
|
|
debugPrint("[LOG] Valeurs avant réinitialisation : ID = $_userId, Nom = $_userName, Prénom = $_userLastName");
|
|
|
|
_userId = '';
|
|
_userName = '';
|
|
_userLastName = '';
|
|
|
|
debugPrint("[LOG] Informations utilisateur réinitialisées : ID = $_userId, Nom = $_userName, Prénom = $_userLastName");
|
|
|
|
// Notifie les widgets écoutant ce provider que l'utilisateur a été réinitialisé
|
|
notifyListeners();
|
|
}
|
|
}
|