TF-1205: rename class
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
|
||||
import 'package:model/fcm/fcm_token_dto.dart';
|
||||
|
||||
abstract class FCMDatasource {
|
||||
Future<FCMTokenDto> getFCMToken(String accountId);
|
||||
|
||||
Future<void> setFCMToken(FCMTokenDto fcmToken);
|
||||
|
||||
Future<void> deleteFCMToken(String accountId);
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
import 'package:model/firebase/firebase_dto.dart';
|
||||
|
||||
abstract class FirebaseDatasource {
|
||||
Future<FirebaseDto> getCurrentFirebase();
|
||||
|
||||
Future<void> setCurrentFirebase(FirebaseDto newCurrentFirebase);
|
||||
|
||||
Future<void> deleteCurrentFirebase(String token);
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
import 'package:model/firebase/firebase_dto.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/datasource/firebase_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/local/firebase_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
|
||||
|
||||
class HiveFirebaseDatasourceImpl extends FirebaseDatasource {
|
||||
|
||||
final FirebaseCacheManager _firebaseCacheManager;
|
||||
final ExceptionThrower _exceptionThrower;
|
||||
|
||||
HiveFirebaseDatasourceImpl(this._firebaseCacheManager, this._exceptionThrower);
|
||||
|
||||
@override
|
||||
Future<FirebaseDto> getCurrentFirebase() {
|
||||
return Future.sync(() async {
|
||||
return await _firebaseCacheManager.getFirebase();
|
||||
}).catchError((error) {
|
||||
_exceptionThrower.throwException(error);
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> setCurrentFirebase(FirebaseDto newCurrentFirebase) {
|
||||
return Future.sync(() async {
|
||||
return await _firebaseCacheManager.setFirebase(newCurrentFirebase);
|
||||
}).catchError((error) {
|
||||
_exceptionThrower.throwException(error);
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deleteCurrentFirebase(String token) {
|
||||
return Future.sync(() async {
|
||||
return await _firebaseCacheManager.deleteFirebase(token);
|
||||
}).catchError((error) {
|
||||
_exceptionThrower.throwException(error);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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';
|
||||
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
|
||||
|
||||
class HiveFCMDatasourceImpl extends FCMDatasource {
|
||||
|
||||
final FCMCacheManager _firebaseCacheManager;
|
||||
final ExceptionThrower _exceptionThrower;
|
||||
|
||||
HiveFCMDatasourceImpl(this._firebaseCacheManager, this._exceptionThrower);
|
||||
|
||||
@override
|
||||
Future<FCMTokenDto> getFCMToken(String accountId) {
|
||||
return Future.sync(() async {
|
||||
return await _firebaseCacheManager.getFCMToken(accountId);
|
||||
}).catchError((error) {
|
||||
_exceptionThrower.throwException(error);
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> setFCMToken(FCMTokenDto fcmToken) {
|
||||
return Future.sync(() async {
|
||||
return await _firebaseCacheManager.setFCMToken(fcmToken);
|
||||
}).catchError((error) {
|
||||
_exceptionThrower.throwException(error);
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deleteFCMToken(String accountId) {
|
||||
return Future.sync(() async {
|
||||
return await _firebaseCacheManager.deleteFCMToken(accountId);
|
||||
}).catchError((error) {
|
||||
_exceptionThrower.throwException(error);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import 'package:model/fcm/fcm_token_dto.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/model/fcm_token_cache.dart';
|
||||
|
||||
extension FCMCacheExtension on FCMTokenCache {
|
||||
FCMTokenDto toFCMDto() {
|
||||
return FCMTokenDto(
|
||||
token,
|
||||
accountId,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import 'package:model/fcm/fcm_token_dto.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/model/fcm_token_cache.dart';
|
||||
|
||||
extension FCMExtensions on FCMTokenDto {
|
||||
FCMTokenCache toCache() {
|
||||
return FCMTokenCache(
|
||||
token,
|
||||
accountId,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
|
||||
import 'package:model/firebase/firebase_dto.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/model/firebase_cache.dart';
|
||||
|
||||
extension FirebaseCacheExtension on FirebaseCache {
|
||||
|
||||
FirebaseDto toFirebaseDto() {
|
||||
return FirebaseDto(token);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import 'package:model/firebase/firebase_dto.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/model/firebase_cache.dart';
|
||||
|
||||
extension FirebaseExtensions on FirebaseDto {
|
||||
FirebaseCache toCache() {
|
||||
return FirebaseCache(token);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:model/fcm/fcm_token_dto.dart';
|
||||
import 'package:tmail_ui_user/features/caching/fcm_token_cache_client.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/extensions/fcm_cache_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/extensions/fcm_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/exceptions/fcm_exception.dart';
|
||||
|
||||
class FCMCacheManager {
|
||||
final FcmTokenCacheClient _fcmTokenCacheClient;
|
||||
|
||||
FCMCacheManager(this._fcmTokenCacheClient);
|
||||
|
||||
Future<FCMTokenDto> getFCMToken(String accountId) async {
|
||||
try {
|
||||
final firebase = await _fcmTokenCacheClient.getItem(accountId);
|
||||
if(firebase != null ) {
|
||||
return firebase.toFCMDto();
|
||||
} else {
|
||||
throw NotFoundStoredFCMException();
|
||||
}
|
||||
} catch (e) {
|
||||
logError('FCMCacheManager::getFCM(): $e');
|
||||
throw NotFoundStoredFCMException();
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> setFCMToken(FCMTokenDto firebaseDto) {
|
||||
log('FCMCacheManager::setFCM(): $_fcmTokenCacheClient');
|
||||
return _fcmTokenCacheClient.insertItem(firebaseDto.accountId, firebaseDto.toCache());
|
||||
}
|
||||
|
||||
Future<void> deleteFCMToken(String accountId) {
|
||||
log('FCMCacheManager::deleteSelectedFCM(): $accountId');
|
||||
return _fcmTokenCacheClient.deleteItem(accountId);
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:model/firebase/firebase_dto.dart';
|
||||
import 'package:tmail_ui_user/features/caching/firebase_config_cache_client.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/extensions/firebase_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/model/firebase_cache.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/extensions/firebase_cache_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/exceptions/firebase_exception.dart';
|
||||
|
||||
class FirebaseCacheManager {
|
||||
final FirebaseCacheClient _firebaseCacheClient;
|
||||
|
||||
FirebaseCacheManager(this._firebaseCacheClient);
|
||||
|
||||
Future<FirebaseDto> getFirebase() async {
|
||||
try {
|
||||
final firebase = await _firebaseCacheClient.getItem(FirebaseCache.keyCacheValue);
|
||||
if(firebase != null ) {
|
||||
return firebase.toFirebaseDto();
|
||||
} else {
|
||||
throw NotFoundStoredFirebaseException();
|
||||
}
|
||||
} catch (e) {
|
||||
logError('FirebaseCacheManager::getFirebase(): $e');
|
||||
throw NotFoundStoredFirebaseException();
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> setFirebase(FirebaseDto firebaseDto) {
|
||||
log('FirebaseCacheManager::setFirebase(): $_firebaseCacheClient');
|
||||
return _firebaseCacheClient.insertItem(firebaseDto.token, firebaseDto.toCache());
|
||||
}
|
||||
|
||||
Future<void> deleteFirebase(String token) {
|
||||
log('FirebaseCacheManager::deleteSelectedFirebase(): $token');
|
||||
return _firebaseCacheClient.deleteItem(token);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:tmail_ui_user/features/caching/utils/caching_constants.dart';
|
||||
|
||||
part 'fcm_token_cache.g.dart';
|
||||
|
||||
@HiveType(typeId: CachingConstants.FCM_TOKEN_CACHE_IDENTITY)
|
||||
class FCMTokenCache extends HiveObject with EquatableMixin {
|
||||
@HiveField(0)
|
||||
final String token;
|
||||
|
||||
@HiveField(1)
|
||||
final String accountId;
|
||||
|
||||
FCMTokenCache(
|
||||
this.token,
|
||||
this.accountId,
|
||||
);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [token];
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:tmail_ui_user/features/caching/utils/caching_constants.dart';
|
||||
|
||||
part 'firebase_cache.g.dart';
|
||||
|
||||
@HiveType(typeId: CachingConstants.FIREBASE_CONFIG_CACHE_IDENTITY)
|
||||
class FirebaseCache extends HiveObject with EquatableMixin {
|
||||
|
||||
static const String keyCacheValue = 'firebaseCache';
|
||||
|
||||
@HiveField(0)
|
||||
final String token;
|
||||
|
||||
FirebaseCache(this.token);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [token];
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
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/domain/repository/fcm_repository.dart';
|
||||
|
||||
class FCMRepositoryImpl extends FCMRepository {
|
||||
|
||||
final FCMDatasource _fcmDatasource;
|
||||
|
||||
FCMRepositoryImpl(this._fcmDatasource);
|
||||
|
||||
@override
|
||||
Future<FCMTokenDto> getFCMToken(String accountId) {
|
||||
return _fcmDatasource.getFCMToken(accountId);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> setFCMToken(FCMTokenDto fcmTokenDto) {
|
||||
log('FCMRepositoryImpl::setCurrentFCM(): $fcmTokenDto');
|
||||
return _fcmDatasource.setFCMToken(fcmTokenDto);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deleteFCMToken(String accountId) {
|
||||
return _fcmDatasource.deleteFCMToken(accountId);
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:model/firebase/firebase_dto.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/datasource/firebase_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/firebase_repository.dart';
|
||||
|
||||
class FirebaseRepositoryImpl extends FirebaseRepository {
|
||||
|
||||
final FirebaseDatasource _firebaseDatasource;
|
||||
|
||||
FirebaseRepositoryImpl(this._firebaseDatasource);
|
||||
|
||||
@override
|
||||
Future<FirebaseDto> getCurrentFirebase() {
|
||||
return _firebaseDatasource.getCurrentFirebase();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> setCurrentFirebase(FirebaseDto newCurrentFirebase) {
|
||||
log('FirebaseRepositoryImpl::setCurrentFirebase(): $newCurrentFirebase');
|
||||
return _firebaseDatasource.setCurrentFirebase(newCurrentFirebase);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deleteCurrentFirebase(String token) {
|
||||
return _firebaseDatasource.deleteCurrentFirebase(token);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user