import "package:inventree/inventree/model.dart"; /* * Class representing a "notification" */ class InvenTreeNotification extends InvenTreeModel { InvenTreeNotification() : super(); InvenTreeNotification.fromJson(Map json) : super.fromJson(json); @override InvenTreeNotification createFromJson(Map json) { return InvenTreeNotification.fromJson(json); } @override String get URL => "notifications/"; @override Map defaultListFilters() { // By default, only return 'unread' notifications return { "read": "false", }; } String get message => (jsondata["message"] ?? "") as String; DateTime? get creationDate { if (jsondata.containsKey("creation")) { return DateTime.tryParse((jsondata["creation"] ?? "") as String); } else { return null; } } /* * Dismiss this notification (mark as read) */ Future dismiss() async { if (api.apiVersion >= 82) { // "Modern" API endpoint operates a little differently await update(values: {"read": "true"}); } else { await api.post("${url}read/"); } } }