Files
afterwork/lib/data/models/user_model.dart
2024-11-02 15:27:26 +00:00

42 lines
1.2 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 nom,
required String prenoms,
required String email,
required String motDePasse,
}) : super(
userId: userId,
nom: nom,
prenoms: prenoms,
email: email,
motDePasse: motDePasse,
);
/// 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'] ?? '',
nom: json['nom'] ?? 'Inconnu',
prenoms: json['prenoms'] ?? 'Inconnu',
email: json['email'] ?? 'inconnu@example.com',
motDePasse: json['motDePasse'] ?? '',
);
}
/// Convertit le `UserModel` en JSON pour l'envoi vers l'API.
Map<String, dynamic> toJson() {
return {
'id': userId,
'nom': nom,
'prenoms': prenoms,
'email': email,
'motDePasse': motDePasse, // Mot de passe en clair (comme demandé temporairement)
};
}
}