feat: Intégration du frontend Flutter depuis YNOV
- Framework: Flutter web - Pages: Login, inscription, dashboards - Services: API client, authentification, gestion d'état - Intégration avec backend NestJS - Dockerfile pour déploiement web
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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<String, dynamic>? 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<String, dynamic> 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
|
||||
}
|
||||
Reference in New Issue
Block a user