TF-438 Add abstract for get/store/delete StateToRefresh and get email changes to push notification

This commit is contained in:
dab246
2022-11-24 14:30:05 +07:00
committed by Dat H. Pham
parent 53793c6d5b
commit 17dde9366f
2 changed files with 28 additions and 0 deletions
@@ -1,5 +1,7 @@
import 'package:fcm/model/type_name.dart';
import 'package:model/fcm/fcm_token_dto.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
abstract class FCMDatasource {
Future<FCMTokenDto> getFCMToken(String accountId);
@@ -7,4 +9,10 @@ abstract class FCMDatasource {
Future<void> setFCMToken(FCMTokenDto fcmToken);
Future<void> deleteFCMToken(String accountId);
Future<bool> storeStateToRefresh(TypeName typeName, jmap.State newState);
Future<jmap.State> getStateToRefresh(TypeName typeName);
Future<bool> deleteStateToRefresh(TypeName typeName);
}
@@ -1,4 +1,9 @@
import 'package:fcm/model/type_name.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
import 'package:model/fcm/fcm_token_dto.dart';
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
abstract class FCMRepository {
Future<FCMTokenDto> getFCMToken(String accountId);
@@ -6,4 +11,19 @@ abstract class FCMRepository {
Future<void> setFCMToken(FCMTokenDto fcmTokenDto);
Future<void> deleteFCMToken(String accountId);
Future<EmailsResponse> getEmailChangesToPushNotification(
AccountId accountId,
jmap.State currentState,
{
Properties? propertiesCreated,
Properties? propertiesUpdated
}
);
Future<bool> storeStateToRefresh(TypeName typeName, jmap.State newState);
Future<jmap.State> getStateToRefresh(TypeName typeName);
Future<bool> deleteStateToRefresh(TypeName typeName);
}