TF-438 Implement method for get/store/delete StateToRefresh and get email changes

This commit is contained in:
dab246
2022-11-24 14:30:58 +07:00
committed by Dat H. Pham
parent 17dde9366f
commit c1416c88fa
16 changed files with 428 additions and 2 deletions
@@ -1,3 +1,5 @@
import 'package:fcm/model/type_name.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
import 'package:model/fcm/fcm_token_dto.dart';
import 'package:tmail_ui_user/features/push_notification/data/datasource/fcm_datasource.dart';
import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart';
@@ -36,4 +38,31 @@ class HiveFCMDatasourceImpl extends FCMDatasource {
_exceptionThrower.throwException(error);
});
}
@override
Future<bool> storeStateToRefresh(TypeName typeName, jmap.State newState) {
return Future.sync(() async {
return await _firebaseCacheManager.storeStateToRefresh(typeName, newState);
}).catchError((error) {
_exceptionThrower.throwException(error);
});
}
@override
Future<jmap.State> getStateToRefresh(TypeName typeName) {
return Future.sync(() async {
return await _firebaseCacheManager.getStateToRefresh(typeName);
}).catchError((error) {
_exceptionThrower.throwException(error);
});
}
@override
Future<bool> deleteStateToRefresh(TypeName typeName) {
return Future.sync(() async {
return await _firebaseCacheManager.deleteStateToRefresh(typeName);
}).catchError((error) {
_exceptionThrower.throwException(error);
});
}
}