add either and state in interactor
This commit is contained in:
@@ -4,7 +4,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/composer_cac
|
||||
abstract class ComposerCacheRepository {
|
||||
void saveComposerCacheOnWeb(Email email);
|
||||
|
||||
ComposerCache? getComposerCacheOnWeb();
|
||||
ComposerCache getComposerCacheOnWeb();
|
||||
|
||||
void removeComposerCacheOnWeb();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
import 'package:core/core.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/composer_cache.dart';
|
||||
|
||||
class GetComposerCacheSuccess extends UIState {
|
||||
|
||||
final ComposerCache composerCache;
|
||||
|
||||
GetComposerCacheSuccess(this.composerCache);
|
||||
|
||||
@override
|
||||
List<Object> get props => [composerCache];
|
||||
}
|
||||
|
||||
class GetComposerCacheFailure extends FeatureFailure {
|
||||
final dynamic exception;
|
||||
|
||||
GetComposerCacheFailure(this.exception);
|
||||
|
||||
@override
|
||||
List<Object> get props => [exception];
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import 'package:core/core.dart';
|
||||
|
||||
class RemoveComposerCacheSuccess extends UIState {
|
||||
|
||||
RemoveComposerCacheSuccess();
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
class RemoveComposerCacheFailure extends FeatureFailure {
|
||||
final dynamic exception;
|
||||
|
||||
RemoveComposerCacheFailure(this.exception);
|
||||
|
||||
@override
|
||||
List<Object> get props => [exception];
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import 'package:core/core.dart';
|
||||
|
||||
class SaveComposerCacheSuccess extends UIState {
|
||||
|
||||
SaveComposerCacheSuccess();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class SaveComposerCacheFailure extends FeatureFailure {
|
||||
final dynamic exception;
|
||||
|
||||
SaveComposerCacheFailure(this.exception);
|
||||
|
||||
@override
|
||||
List<Object> get props => [exception];
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/composer_cache.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
|
||||
class GetComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
GetComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
ComposerCache? execute() {
|
||||
return composerCacheRepository.getComposerCacheOnWeb();
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
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/composer_cache_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_composer_cache_state.dart';
|
||||
|
||||
class GetComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
GetComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
Either<Failure, Success> execute() {
|
||||
try {
|
||||
final data = composerCacheRepository.getComposerCacheOnWeb();
|
||||
return Right(GetComposerCacheSuccess(data));
|
||||
} catch (exception) {
|
||||
return Left(GetComposerCacheFailure(exception));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
|
||||
class RemoveComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
RemoveComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
execute() {
|
||||
return composerCacheRepository.removeComposerCacheOnWeb();
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_composer_cache_state.dart';
|
||||
|
||||
class RemoveComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
RemoveComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
execute() {
|
||||
try {
|
||||
composerCacheRepository.removeComposerCacheOnWeb();
|
||||
return const Right(RemoveComposerCacheSuccess);
|
||||
} catch (exception) {
|
||||
return Left(RemoveComposerCacheFailure(exception));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
|
||||
class SaveComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
SaveComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
execute(Email email) {
|
||||
return composerCacheRepository.saveComposerCacheOnWeb(email);
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/save_composer_cache_state.dart';
|
||||
|
||||
class SaveComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
SaveComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
execute(Email email) {
|
||||
try {
|
||||
composerCacheRepository.saveComposerCacheOnWeb(email);
|
||||
return const Right(SaveComposerCacheSuccess);
|
||||
} catch (exception) {
|
||||
return Left(SaveComposerCacheFailure(exception));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user