import '../../domain/entities/user.dart'; /// Modèle représentant l'utilisateur dans l'application AfterWork. /// Ce modèle est utilisé pour la conversion JSON et l'interaction avec l'API. class UserModel extends User { UserModel({ required String userId, required String userLastName, required String userFirstName, required String email, required String motDePasse, required String profileImageUrl, }) : super( userId: userId, userLastName: userLastName, userFirstName: userFirstName, email: email, motDePasse: motDePasse, profileImageUrl: profileImageUrl, ); /// Factory pour créer un `UserModel` à partir d'un JSON reçu depuis l'API. factory UserModel.fromJson(Map json) { return UserModel( userId: json['userId'] ?? '', userLastName: json['nom'] ?? 'Inconnu', userFirstName: json['prenoms'] ?? 'Inconnu', email: json['email'] ?? 'inconnu@example.com', motDePasse: json['motDePasse'] ?? '', profileImageUrl: json['profileImageUrl'] ?? '', ); } /// Convertit le `UserModel` en JSON pour l'envoi vers l'API. Map toJson() { return { 'id': userId, 'nom': userLastName, 'prenoms': userFirstName, 'email': email, 'motDePasse': motDePasse, // Mot de passe en clair (comme demandé temporairement) 'profileImageUrl':profileImageUrl, }; } }