-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fixup! TF-2901 Implement caching composer on log out
- Loading branch information
1 parent
1b78d0f
commit 437444f
Showing
12 changed files
with
258 additions
and
136 deletions.
There are no files selected for viewing
15 changes: 15 additions & 0 deletions
15
lib/features/composer/domain/state/restore_email_inline_images_state.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import 'package:core/presentation/state/failure.dart'; | ||
import 'package:core/presentation/state/success.dart'; | ||
|
||
class RestoringEmailInlineImages extends LoadingState {} | ||
|
||
class RestoreEmailInlineImagesSuccess extends UIState { | ||
final String emailContent; | ||
|
||
RestoreEmailInlineImagesSuccess(this.emailContent); | ||
|
||
@override | ||
List<Object?> get props => [emailContent]; | ||
} | ||
|
||
class RestoreEmailInlineImagesFailure extends FeatureFailure {} |
30 changes: 30 additions & 0 deletions
30
lib/features/composer/domain/usecases/restore_email_inline_images_interactor.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import 'package:core/presentation/state/failure.dart'; | ||
import 'package:core/presentation/state/success.dart'; | ||
import 'package:core/presentation/utils/html_transformer/transform_configuration.dart'; | ||
import 'package:dartz/dartz.dart'; | ||
import 'package:tmail_ui_user/features/composer/domain/state/restore_email_inline_images_state.dart'; | ||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart'; | ||
|
||
class RestoreEmailInlineImagesInteractor { | ||
RestoreEmailInlineImagesInteractor(this._composerCacheRepository); | ||
|
||
final ComposerCacheRepository _composerCacheRepository; | ||
|
||
Stream<Either<Failure, Success>> execute({ | ||
required String htmlContent, | ||
required TransformConfiguration transformConfiguration, | ||
required Map<String, String> mapUrlDownloadCID | ||
}) async* { | ||
try { | ||
yield Right(RestoringEmailInlineImages()); | ||
|
||
final emailContent = await _composerCacheRepository.restoreEmailInlineImages( | ||
htmlContent, | ||
transformConfiguration, | ||
mapUrlDownloadCID); | ||
yield Right(RestoreEmailInlineImagesSuccess(emailContent)); | ||
} catch (_) { | ||
yield Left(RestoreEmailInlineImagesFailure()); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 18 additions & 2 deletions
20
lib/features/mailbox_dashboard/data/datasource/session_storage_composer_datasource.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,28 @@ | ||
import 'package:core/presentation/utils/html_transformer/transform_configuration.dart'; | ||
import 'package:jmap_dart_client/jmap/account_id.dart'; | ||
import 'package:jmap_dart_client/jmap/core/user_name.dart'; | ||
import 'package:jmap_dart_client/jmap/identities/identity.dart'; | ||
import 'package:jmap_dart_client/jmap/mail/email/email.dart'; | ||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/composer_cache.dart'; | ||
|
||
abstract class SessionStorageComposerDatasource { | ||
Future<void> saveComposerCacheOnWeb(Email email, {required AccountId accountId, required UserName userName}); | ||
Future<void> saveComposerCacheOnWeb( | ||
Email email, | ||
{ | ||
required AccountId accountId, | ||
required UserName userName, | ||
Identity? identity | ||
} | ||
); | ||
|
||
Future<ComposerCache> getComposerCacheOnWeb(AccountId accountId, UserName userName); | ||
Future<ComposerCache> getComposerCacheOnWeb( | ||
AccountId accountId, | ||
UserName userName); | ||
|
||
Future<void> removeComposerCacheOnWeb(); | ||
|
||
Future<String> restoreEmailInlineImages( | ||
String htmlContent, | ||
TransformConfiguration transformConfiguration, | ||
Map<String, String> mapUrlDownloadCID); | ||
} |
Oops, something went wrong.