TF-2901 Implement caching composer on log out

This commit is contained in:
DatDang
2024-06-18 15:24:02 +07:00
committed by Dat H. Pham
parent c4bffd6626
commit b2c92388f2
18 changed files with 507 additions and 185 deletions
@@ -1,10 +1,31 @@
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/composer/presentation/model/screen_display_mode.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/composer_cache.dart';
abstract class SessionStorageComposerDatasource {
void saveComposerCacheOnWeb(Email email);
Future<void> saveComposerCacheOnWeb(
Email email,
{
required AccountId accountId,
required UserName userName,
required ScreenDisplayMode displayMode,
Identity? identity,
bool? readReceipentEnabled,
}
);
ComposerCache getComposerCacheOnWeb();
Future<ComposerCache> getComposerCacheOnWeb(
AccountId accountId,
UserName userName);
void removeComposerCacheOnWeb();
Future<void> removeComposerCacheOnWeb();
Future<String> restoreEmailInlineImages(
String htmlContent,
TransformConfiguration transformConfiguration,
Map<String, String> mapUrlDownloadCID);
}