Files
afterwork/lib/data/models/user_model.dart
2024-11-02 22:37:47 +00:00

46 lines
1.4 KiB
Dart

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<String, dynamic> 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<String, dynamic> toJson() {
return {
'id': userId,
'nom': userLastName,
'prenoms': userFirstName,
'email': email,
'motDePasse': motDePasse, // Mot de passe en clair (comme demandé temporairement)
'profileImageUrl':profileImageUrl,
};
}
}