fix(notification): port the new usecase syntax

This commit is contained in:
Hugo Pointcheval 2024-03-29 21:01:19 +01:00
parent d217a202cb
commit 283bf80243
Signed by: hugo
SSH Key Fingerprint: SHA256:ZtyWUBpqF/1z9x7Y4vqzeq8kQBQPNJjm2qBVmnnj6SU
3 changed files with 6 additions and 8 deletions

View File

@ -17,12 +17,12 @@
import 'package:wyatt_architecture/wyatt_architecture.dart'; import 'package:wyatt_architecture/wyatt_architecture.dart';
import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_messaging_repository.dart'; import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_messaging_repository.dart';
class InitCloudmessagingUseCase extends AsyncUseCase<NoParam, void> { class InitCloudmessagingUseCase extends NoParamsAsyncUseCase<void> {
InitCloudmessagingUseCase({ InitCloudmessagingUseCase({
required CloudMessagingRepository notificationRepository, required CloudMessagingRepository notificationRepository,
}) : _notificationRepository = notificationRepository; }) : _notificationRepository = notificationRepository;
final CloudMessagingRepository _notificationRepository; final CloudMessagingRepository _notificationRepository;
@override @override
FutureOrResult<void> execute(NoParam? params) => FutureOrResult<void> execute() =>
_notificationRepository.init(); _notificationRepository.init();
} }

View File

@ -24,13 +24,13 @@ import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_me
import 'package:wyatt_type_utils/wyatt_type_utils.dart'; import 'package:wyatt_type_utils/wyatt_type_utils.dart';
class ListenNotificationUseCase class ListenNotificationUseCase
extends StreamUseCase<NoParam, RemoteNotification> { extends NoParamsAsyncUseCase<Stream<RemoteNotification>> {
ListenNotificationUseCase({ ListenNotificationUseCase({
required CloudMessagingRepository notificationRepository, required CloudMessagingRepository notificationRepository,
}) : _notificationRepository = notificationRepository; }) : _notificationRepository = notificationRepository;
final CloudMessagingRepository _notificationRepository; final CloudMessagingRepository _notificationRepository;
@override @override
FutureOrResult<Stream<RemoteNotification>> execute(NoParam? params) async { FutureOrResult<Stream<RemoteNotification>> execute() async {
Stream<RemoteNotification>? notificationStream; Stream<RemoteNotification>? notificationStream;
final notificationStreamResponse = final notificationStreamResponse =
@ -66,7 +66,7 @@ class ListenNotificationUseCase
} }
if (notificationStream == null) { if (notificationStream == null) {
return const Err(NotificationException('Cannot listen notifications')); return Err(const NotificationException('Cannot listen notifications'));
} }
return Ok(notificationStream); return Ok(notificationStream);

View File

@ -18,11 +18,9 @@ import 'dart:async';
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:wyatt_architecture/wyatt_architecture.dart';
import 'package:wyatt_cloud_messaging_bloc_base/src/domain/entities/remote_notifications.dart'; import 'package:wyatt_cloud_messaging_bloc_base/src/domain/entities/remote_notifications.dart';
import 'package:wyatt_cloud_messaging_bloc_base/src/domain/usecases/listen_notification_use_case.dart'; import 'package:wyatt_cloud_messaging_bloc_base/src/domain/usecases/listen_notification_use_case.dart';
import 'package:wyatt_cloud_messaging_bloc_base/src/domain/usecases/subscribe_to_notification_topic_use_case.dart'; import 'package:wyatt_cloud_messaging_bloc_base/src/domain/usecases/subscribe_to_notification_topic_use_case.dart';
import 'package:wyatt_cloud_messaging_bloc_base/src/domain/usecases/unsubscribe_from_notification_topic_use_case.dart'; import 'package:wyatt_cloud_messaging_bloc_base/src/domain/usecases/unsubscribe_from_notification_topic_use_case.dart';
part 'cloud_messaging_state.dart'; part 'cloud_messaging_state.dart';
@ -46,7 +44,7 @@ class CloudMessagingCubit extends Cubit<CloudmessagingState> {
final OnNotification? handleNotification; final OnNotification? handleNotification;
Future<void> listenNotification() async { Future<void> listenNotification() async {
final notificaitons = await _listenNotification.execute(const NoParam()); final notificaitons = await _listenNotification.execute();
if (notificaitons.isOk) { if (notificaitons.isOk) {
notificaitons.ok?.listen((notification) { notificaitons.ok?.listen((notification) {
emit(CloudmessagingState(notification)); emit(CloudmessagingState(notification));