TF-1363: [Domain] [Domain] Store, Get, Delete spamReportState in UseCase
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/mailbox_dashboard/domain/repository/spam_report_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/delete_last_time_dismissed_spam_reported_state.dart';
|
||||
|
||||
class DeleteLastTimeDismissedSpamReportedInteractor {
|
||||
final SpamReportRepository _spamReportRepository;
|
||||
|
||||
DeleteLastTimeDismissedSpamReportedInteractor(this._spamReportRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(DeleteLastTimeDismissedSpamReportedLoading());
|
||||
await _spamReportRepository.deleteLastTimeDismissedSpamReported();
|
||||
yield Right<Failure, Success>(DeleteLastTimeDismissedSpamReportedSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(DeleteLastTimeDismissedSpamReportedFailure(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/mailbox_dashboard/domain/repository/spam_report_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/delete_spam_report_state.dart';
|
||||
|
||||
class DeleteSpamReportStateInteractor {
|
||||
final SpamReportRepository _spamReportRepository;
|
||||
|
||||
DeleteSpamReportStateInteractor(this._spamReportRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(DeleteSpamReportStateLoading());
|
||||
await _spamReportRepository.deletestoreSpamReportState();
|
||||
yield Right<Failure, Success>(DeleteSpamReportStateSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(DeleteSpamReportStateFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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/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 {
|
||||
final SpamReportRepository _spamReportRepository;
|
||||
|
||||
StoreSpamReportStateInteractor(this._spamReportRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(GetSpamReportStateLoading());
|
||||
final spamReportState = await _spamReportRepository.getSpamReportState();
|
||||
yield Right<Failure, Success>(GetSpamReportStateSuccess(spamReportState));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(GetSpamReportStateFailure(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:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.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/store_spam_report_state.dart';
|
||||
|
||||
class StoreSpamReportStateInteractor {
|
||||
final SpamReportRepository _spamReportRepository;
|
||||
|
||||
StoreSpamReportStateInteractor(this._spamReportRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(SpamReportState spamReportState) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(StoreSpamReportStateLoading());
|
||||
await _spamReportRepository.storeSpamReportState(spamReportState);
|
||||
yield Right<Failure, Success>(StoreSpamReportStateSuccess());
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(StoreSpamReportStateFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user