class NotificationModel { final String id; final String title; final String content; final NotificationType type; final DateTime createdAt; final bool isRead; final String? actionUrl; final Map? metadata; NotificationModel({ required this.id, required this.title, required this.content, required this.type, required this.createdAt, this.isRead = false, this.actionUrl, this.metadata, }); factory NotificationModel.fromJson(Map json) { return NotificationModel( id: json['id'], title: json['title'], content: json['content'], type: NotificationType.values.byName(json['type']), createdAt: DateTime.parse(json['createdAt']), isRead: json['isRead'] ?? false, actionUrl: json['actionUrl'], metadata: json['metadata'], ); } } enum NotificationType { newEvent, // Nouvel événement fileModified, // Dossier modifié contractPending, // Contrat en attente paymentPending, // Paiement en attente unreadMessage, // Message non lu }