Bon checkpoint + Refactoring

This commit is contained in:
DahoudG
2024-11-08 20:30:23 +00:00
parent 19f6efa995
commit 1e888f41e8
21 changed files with 721 additions and 223 deletions

View File

@@ -2,13 +2,13 @@ class EventModel {
final String id;
final String title;
final String description;
final String startDate; // Utiliser startDate au lieu de date, si c'est ce que l'API retourne
final String startDate;
final String location;
final String category;
final String link;
final String? imageUrl; // Nullable
final String? imageUrl;
final String creatorEmail;
final List<dynamic> participants; // Si participants est une liste simple
final List<dynamic> participants;
final String status;
final int reactionsCount;
final int commentsCount;
@@ -32,25 +32,60 @@ class EventModel {
});
factory EventModel.fromJson(Map<String, dynamic> json) {
print('[LOG] Création de l\'EventModel depuis JSON');
// Utiliser les valeurs par défaut si une clé est absente
final String id = json['id'] ?? 'ID Inconnu';
final String title = json['title'] ?? 'Titre Inconnu';
final String description = json['description'] ?? 'Description Inconnue';
final String startDate = json['startDate'] ?? 'Date de début Inconnue';
final String location = json['location'] ?? 'Localisation Inconnue';
final String category = json['category'] ?? 'Catégorie Inconnue';
final String link = json['link'] ?? 'Lien Inconnu';
final String? imageUrl = json['imageUrl'];
final String creatorEmail = json['creatorEmail'] ?? 'Email Inconnu';
final List<dynamic> participants = json['participants'] ?? [];
final String status = json['status'] ?? 'ouvert';
final int reactionsCount = json['reactionsCount'] ?? 0;
final int commentsCount = json['commentsCount'] ?? 0;
final int sharesCount = json['sharesCount'] ?? 0;
print('[LOG] Champs extraits depuis JSON :');
print(' - ID: $id');
print(' - Titre: $title');
print(' - Description: $description');
print(' - Date de début: $startDate');
print(' - Localisation: $location');
print(' - Catégorie: $category');
print(' - Lien: $link');
print(' - URL de l\'image: ${imageUrl ?? "Aucune"}');
print(' - Email du créateur: $creatorEmail');
print(' - Participants: ${participants.length} participants');
print(' - Statut: $status');
print(' - Nombre de réactions: $reactionsCount');
print(' - Nombre de commentaires: $commentsCount');
print(' - Nombre de partages: $sharesCount');
return EventModel(
id: json['id'],
title: json['title'],
description: json['description'],
startDate: json['startDate'], // Vérifier si c'est bien startDate
location: json['location'],
category: json['category'],
link: json['link'] ?? '',
imageUrl: json['imageUrl'], // Peut être null
creatorEmail: json['creatorEmail'], // Email du créateur
participants: json['participants'] ?? [], // Gérer les participants
status: json['status'] ?? 'ouvert', // Par défaut à "ouvert" si non fourni
reactionsCount: json['reactionsCount'] ?? 0,
commentsCount: json['commentsCount'] ?? 0,
sharesCount: json['sharesCount'] ?? 0,
id: id,
title: title,
description: description,
startDate: startDate,
location: location,
category: category,
link: link,
imageUrl: imageUrl,
creatorEmail: creatorEmail,
participants: participants,
status: status,
reactionsCount: reactionsCount,
commentsCount: commentsCount,
sharesCount: sharesCount,
);
}
Map<String, dynamic> toJson() {
print('[LOG] Conversion de EventModel en JSON');
return {
'id': id,
'title': title,