TF-2298 Update expires time when old token has expired
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit fb26afe8f52df6e16476aea8a68f9f92c5c4b001)
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/delete_firebase_registration_cache_state.dart';
|
||||
|
||||
class DeleteFirebaseRegistrationCacheInteractor {
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
DeleteFirebaseRegistrationCacheInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(DeleteFirebaseRegistrationCacheLoading());
|
||||
await _fcmRepository.getStoredFirebaseRegistration();
|
||||
yield Right<Failure, Success>(DeleteFirebaseRegistrationCacheSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(DeleteFirebaseRegistrationCacheFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:fcm/model/firebase_registration_id.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/destroy_firebase_registration_state.dart';
|
||||
|
||||
class DestroyFirebaseRegistrationInteractor {
|
||||
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
DestroyFirebaseRegistrationInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(FirebaseRegistrationId registrationId) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(DestroyFirebaseRegistrationLoading());
|
||||
await _fcmRepository.destroyFirebaseRegistration(registrationId);
|
||||
yield Right<Failure, Success>(DestroyFirebaseRegistrationSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(DestroyFirebaseRegistrationFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/destroy_subscription_state.dart';
|
||||
|
||||
class DestroySubscriptionInteractor {
|
||||
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
DestroySubscriptionInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(String subscriptionId) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(DestroySubscriptionLoading());
|
||||
final destroyedSubscription = await _fcmRepository.destroySubscription(subscriptionId);
|
||||
yield Right<Failure, Success>(DestroySubscriptionSuccess(destroyedSubscription));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(DestroySubscriptionFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_fcm_subscription_local.dart';
|
||||
|
||||
class GetFCMSubscriptionLocalInteractor {
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
GetFCMSubscriptionLocalInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(GetFCMSubscriptionLocalLoading());
|
||||
final subscription = await _fcmRepository.getSubscription();
|
||||
yield Right<Failure, Success>(GetFCMSubscriptionLocalSuccess(subscription));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(GetFCMSubscriptionLocalFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:fcm/model/device_client_id.dart';
|
||||
import 'package:fcm/model/fcm_token.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_firebase_registration_by_device_id_state.dart';
|
||||
|
||||
class GetFirebaseRegistrationByDeviceIdInteractor {
|
||||
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
GetFirebaseRegistrationByDeviceIdInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute({required DeviceClientId deviceClientId, FcmToken? newFcmToken}) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(GetFirebaseRegistrationByDeviceIdLoading());
|
||||
final firebaseRegistration = await _fcmRepository.getFirebaseRegistrationByDeviceId(deviceClientId);
|
||||
yield Right<Failure, Success>(GetFirebaseRegistrationByDeviceIdSuccess(firebaseRegistration, newFcmToken));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(GetFirebaseRegistrationByDeviceIdFailure(e, newFcmToken));
|
||||
}
|
||||
}
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_firebase_subscription_state.dart';
|
||||
|
||||
class GetFirebaseSubscriptionInteractor {
|
||||
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
GetFirebaseSubscriptionInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(String deviceId) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(GetFirebaseSubscriptionLoading());
|
||||
final firebaseSubscription = await _fcmRepository.getFirebaseSubscriptionByDeviceId(deviceId);
|
||||
yield Right<Failure, Success>(GetFirebaseSubscriptionSuccess(firebaseSubscription));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(GetFirebaseSubscriptionFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_stored_firebase_registration_state.dart';
|
||||
|
||||
class GetStoredFirebaseRegistrationInteractor {
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
GetStoredFirebaseRegistrationInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(GetStoredFirebaseRegistrationLoading());
|
||||
final registration = await _fcmRepository.getStoredFirebaseRegistration();
|
||||
yield Right<Failure, Success>(GetStoredFirebaseRegistrationSuccess(registration));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(GetStoredFirebaseRegistrationFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-7
@@ -4,21 +4,21 @@ import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/model/register_new_token_request.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/register_new_token_state.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/register_new_firebase_registration_token_state.dart';
|
||||
|
||||
class RegisterNewTokenInteractor {
|
||||
class RegisterNewFirebaseRegistrationTokenInteractor {
|
||||
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
RegisterNewTokenInteractor(this._fcmRepository);
|
||||
RegisterNewFirebaseRegistrationTokenInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(RegisterNewTokenRequest newTokenRequest) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(RegisterNewTokenLoading());
|
||||
final firebaseSubscription = await _fcmRepository.registerNewToken(newTokenRequest);
|
||||
yield Right<Failure, Success>(RegisterNewTokenSuccess(firebaseSubscription));
|
||||
yield Right<Failure, Success>(RegisterNewFirebaseRegistrationTokenLoading());
|
||||
final firebaseRegistration = await _fcmRepository.registerNewFirebaseRegistrationToken(newTokenRequest);
|
||||
yield Right<Failure, Success>(RegisterNewFirebaseRegistrationTokenSuccess(firebaseRegistration));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(RegisterNewTokenFailure(e));
|
||||
yield Left<Failure, Success>(RegisterNewFirebaseRegistrationTokenFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:fcm/model/firebase_registration.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/store_firebase_registration_state.dart';
|
||||
|
||||
class StoreFirebaseRegistrationInteractor {
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
StoreFirebaseRegistrationInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(FirebaseRegistration firebaseRegistration) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(StoreFirebaseRegistrationLoading());
|
||||
await _fcmRepository.storeFirebaseRegistration(firebaseRegistration);
|
||||
yield Right<Failure, Success>(StoreFirebaseRegistrationSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(StoreFirebaseRegistrationFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/model/fcm_subscription.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/store_subscription_state.dart';
|
||||
|
||||
class StoreSubscriptionInteractor {
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
StoreSubscriptionInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(FCMSubscription fcmSubscription) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(StoreSubscriptionLoading());
|
||||
await _fcmRepository.storeSubscription(fcmSubscription);
|
||||
yield Right<Failure, Success>(StoreSubscriptionSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(StoreSubscriptionFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/model/update_token_expired_time_request.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/repository/fcm_repository.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/update_firebase_registration_token_state.dart';
|
||||
|
||||
class UpdateFirebaseRegistrationTokenInteractor {
|
||||
|
||||
final FCMRepository _fcmRepository;
|
||||
|
||||
UpdateFirebaseRegistrationTokenInteractor(this._fcmRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(UpdateTokenExpiredTimeRequest updateTokenExpiredTimeRequest) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(UpdateFirebaseRegistrationTokenLoading());
|
||||
await _fcmRepository.updateFirebaseRegistrationToken(updateTokenExpiredTimeRequest);
|
||||
yield Right<Failure, Success>(UpdateFirebaseRegistrationTokenSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(UpdateFirebaseRegistrationTokenFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user