TF-1317 Show push notification on background or terminated app

This commit is contained in:
dab246
2023-01-09 17:01:34 +07:00
committed by Dat H. Pham
parent 97583820fa
commit 7367d7e1d2
12 changed files with 292 additions and 96 deletions
@@ -0,0 +1,31 @@
import 'dart:convert';
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/http/converter/email_id_nullable_converter.dart';
import 'package:jmap_dart_client/http/converter/state_nullable_converter.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:json_annotation/json_annotation.dart';
part 'notification_payload.g.dart';
@EmailIdNullableConverter()
@StateNullableConverter()
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class NotificationPayload with EquatableMixin {
final EmailId? emailId;
final jmap.State? newState;
NotificationPayload({this.emailId, this.newState});
factory NotificationPayload.fromJson(Map<String, dynamic> json) => _$NotificationPayloadFromJson(json);
Map<String, dynamic> toJson() => _$NotificationPayloadToJson(this);
String get encodeToString => jsonEncode(toJson());
@override
List<Object?> get props => [emailId, newState];
}