create exception for session web
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
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 ComposerCacheDataSource {
|
||||
abstract class SessionStorageComposerDatasource {
|
||||
void saveComposerCacheOnWeb(Email email);
|
||||
|
||||
ComposerCache getComposerCacheOnWeb();
|
||||
+7
-6
@@ -1,11 +1,12 @@
|
||||
import 'dart:convert';
|
||||
import 'package:core/core.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/composer_cache.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/composer_cache_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/session_storage_composer_datasource.dart';
|
||||
import 'package:universal_html/html.dart' as html;
|
||||
|
||||
class ComposerCacheDataSourceImpl extends ComposerCacheDataSource {
|
||||
class SessionStorageComposerDatasourceImpl extends SessionStorageComposerDatasource {
|
||||
@override
|
||||
ComposerCache getComposerCacheOnWeb() {
|
||||
try {
|
||||
@@ -17,10 +18,10 @@ class ComposerCacheDataSourceImpl extends ComposerCacheDataSource {
|
||||
final emailCache = ComposerCache.fromJson(jsonHandle);
|
||||
return emailCache;
|
||||
} else {
|
||||
throw UnimplementedError();
|
||||
throw SessionWebException();
|
||||
}
|
||||
} catch (e) {
|
||||
throw UnimplementedError(e.toString());
|
||||
throw SessionWebException(errorMessage: e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +31,7 @@ class ComposerCacheDataSourceImpl extends ComposerCacheDataSource {
|
||||
html.window.sessionStorage
|
||||
.removeWhere((key, value) => key == EmailActionType.edit.name);
|
||||
} catch (e) {
|
||||
throw UnimplementedError(e.toString());
|
||||
throw SessionWebException(errorMessage: e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +43,7 @@ class ComposerCacheDataSourceImpl extends ComposerCacheDataSource {
|
||||
};
|
||||
html.window.sessionStorage.addAll(entries);
|
||||
} catch (e) {
|
||||
throw UnimplementedError(e.toString());
|
||||
throw SessionWebException(errorMessage: e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -52,7 +52,6 @@ class ComposerCache with EquatableMixin {
|
||||
replyTo: (json['replyTo'] as List<dynamic>?)?.map((json) => EmailAddress.fromJson(json)).toSet(),
|
||||
textBody: (json['textBody'] as List<dynamic>?)?.map((json) => EmailBodyPart.fromJson(json)).toSet(),
|
||||
htmlBody: (json['htmlBody'] as List<dynamic>?)?.map((json) => EmailBodyPart.fromJson(json)).toSet(),
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
@@ -65,7 +64,6 @@ class ComposerCache with EquatableMixin {
|
||||
cc,
|
||||
bcc,
|
||||
replyTo,
|
||||
|
||||
];
|
||||
|
||||
List<EmailContent> get emailContentList {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/composer_cache_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/session_storage_composer_datasource.dart';
|
||||
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 ComposerCacheRepositoryImpl extends ComposerCacheRepository {
|
||||
|
||||
final ComposerCacheDataSource composerCacheDataSource;
|
||||
final SessionStorageComposerDatasource composerCacheDataSource;
|
||||
|
||||
ComposerCacheRepositoryImpl(this.composerCacheDataSource);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user