Solian/lib/models/notification.dart

52 lines
1.2 KiB
Dart
Raw Normal View History

import 'package:flutter/material.dart';
2024-09-16 18:14:23 +00:00
import 'package:json_annotation/json_annotation.dart';
part 'notification.g.dart';
const Map<String, IconData> NotificationTopicIcons = {
'passport.security.alert': Icons.gpp_maybe,
2024-10-16 14:32:44 +00:00
'interactive.subscription': Icons.subscriptions,
'interactive.feedback': Icons.add_reaction,
'messaging.callStart': Icons.call_received,
};
@JsonSerializable()
2024-05-18 10:17:16 +00:00
class Notification {
int id;
DateTime createdAt;
DateTime updatedAt;
DateTime? deletedAt;
2024-10-15 16:50:48 +00:00
DateTime? readAt;
String topic;
String title;
String? subtitle;
String body;
String? avatar;
String? picture;
Map<String, dynamic>? metadata;
2024-05-18 10:17:16 +00:00
int? senderId;
int accountId;
2024-05-18 10:17:16 +00:00
Notification({
required this.id,
required this.createdAt,
required this.updatedAt,
2024-05-28 16:14:41 +00:00
required this.deletedAt,
2024-10-15 16:50:48 +00:00
required this.readAt,
required this.topic,
required this.title,
required this.subtitle,
required this.body,
required this.avatar,
required this.picture,
required this.metadata,
2024-05-28 16:14:41 +00:00
required this.senderId,
required this.accountId,
2024-05-18 10:17:16 +00:00
});
factory Notification.fromJson(Map<String, dynamic> json) =>
_$NotificationFromJson(json);
2024-05-18 10:17:16 +00:00
Map<String, dynamic> toJson() => _$NotificationToJson(this);
2024-05-18 10:17:16 +00:00
}