TF-439 Implement get firebase subscription

This commit is contained in:
dab246
2022-11-29 15:34:06 +07:00
committed by Dat H. Pham
parent 38a6067319
commit 4de25a778c
13 changed files with 231 additions and 28 deletions
@@ -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: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));
}
}
}