TF-1363: [Presentation] Implement disable and enable spam report

This commit is contained in:
HuyNguyen
2023-01-16 17:32:02 +07:00
committed by Dat H. Pham
parent 7a85c15f98
commit 04fd640384
27 changed files with 388 additions and 199 deletions
@@ -23,5 +23,5 @@ abstract class SpamReportRepository {
Future<void> storeSpamReportState(SpamReportState spamReportState);
Future<void> deletestoreSpamReportState();
Future<void> deleteSpamReportState();
}
@@ -1,11 +1,13 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
class StoreSpamReportStateLoading extends UIState {}
class StoreSpamReportStateSuccess extends UIState {
StoreSpamReportStateSuccess();
final SpamReportState spamReportState;
StoreSpamReportStateSuccess(this.spamReportState);
@override
List<Object> get props => [];
@@ -12,7 +12,7 @@ class DeleteSpamReportStateInteractor {
Stream<Either<Failure, Success>> execute() async* {
try {
yield Right<Failure, Success>(DeleteSpamReportStateLoading());
await _spamReportRepository.deletestoreSpamReportState();
await _spamReportRepository.deleteSpamReportState();
yield Right<Failure, Success>(DeleteSpamReportStateSuccess());
} catch (e) {
yield Left<Failure, Success>(DeleteSpamReportStateFailure(e));
@@ -1,15 +1,13 @@
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/mailbox_dashboard/domain/repository/spam_report_repository.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_spam_report_state.dart';
class StoreSpamReportStateInteractor {
class GetSpamReportStateInteractor {
final SpamReportRepository _spamReportRepository;
StoreSpamReportStateInteractor(this._spamReportRepository);
GetSpamReportStateInteractor(this._spamReportRepository);
Stream<Either<Failure, Success>> execute() async* {
try {
@@ -28,7 +28,7 @@ class GetUnreadSpamMailboxInteractor {
final _checkTimeCondition = (_timeLast.inHours > 0) && (_timeLast.inHours > conditionsForDisplayingSpamReportBanner);
if (_checkTimeCondition) {
if (true) {
final _response = await _spamReportRepository.getUnreadSpamMailbox(accountId, mailboxFilterCondition: mailboxFilterCondition, limit: limit);
final _unreadSpamMailbox = _response.unreadSpamMailbox;
@@ -15,7 +15,7 @@ class StoreSpamReportStateInteractor {
try {
yield Right<Failure, Success>(StoreSpamReportStateLoading());
await _spamReportRepository.storeSpamReportState(spamReportState);
yield Right<Failure, Success>(StoreSpamReportStateSuccess());
yield Right<Failure, Success>(StoreSpamReportStateSuccess(spamReportState));
} catch (e) {
yield Left<Failure, Success>(StoreSpamReportStateFailure(e));
}