refactor name folder

This commit is contained in:
ManhNTX
2022-07-11 10:31:49 +07:00
committed by Dat H. Pham
parent 2add68d760
commit bd0be89dce
21 changed files with 126 additions and 124 deletions
@@ -0,0 +1,10 @@
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 {
void saveComposerCacheOnWeb(Email email);
ComposerCache? getComposerCacheOnWeb();
void removeComposerCacheOnWeb();
}
@@ -1,10 +0,0 @@
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/email_cache.dart';
abstract class EmailCacheDataSource {
void saveEmailCacheOnWeb(Email email);
EmailCache? getEmailCacheOnWeb();
void removeEmailCacheOnWeb();
}
@@ -1,20 +1,20 @@
import 'dart:convert';
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/email_cache.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/email_cache_datasource.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:universal_html/html.dart' as html;
class EmailCacheDataSourceImpl extends EmailCacheDataSource {
class ComposerCacheDataSourceImpl extends ComposerCacheDataSource {
@override
EmailCache? getEmailCacheOnWeb() {
ComposerCache? getComposerCacheOnWeb() {
final result = html.window.localStorage.entries
.where((e) => e.key == EmailActionType.edit.name)
.toList();
if (result.isNotEmpty) {
final jsonHandle = json.decode(result.first.value) as Map<String, dynamic>;
final emailCache = EmailCache.fromJson(jsonHandle);
final emailCache = ComposerCache.fromJson(jsonHandle);
return emailCache;
} else {
return null;
@@ -22,12 +22,12 @@ class EmailCacheDataSourceImpl extends EmailCacheDataSource {
}
@override
void removeEmailCacheOnWeb() {
void removeComposerCacheOnWeb() {
html.window.localStorage.removeWhere((key, value) => key == EmailActionType.edit.name);
}
@override
void saveEmailCacheOnWeb(Email email) {
void saveComposerCacheOnWeb(Email email) {
Map<String,String> entries = { EmailActionType.edit.name: json.encode(email.toJson()) };
html.window.localStorage.addAll(entries);
}
@@ -10,7 +10,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/email/email_content.dart';
import 'package:model/extensions/media_type_extension.dart';
class EmailCache with EquatableMixin {
class ComposerCache with EquatableMixin {
final EmailId id;
final Map<MailboxId, bool>? mailboxIds;
@@ -24,7 +24,7 @@ class EmailCache with EquatableMixin {
final Set<EmailBodyPart>? htmlBody;
final Map<PartId, EmailBodyValue>? bodyValues;
EmailCache(
ComposerCache(
this.id,
{
this.mailboxIds,
@@ -39,8 +39,8 @@ class EmailCache with EquatableMixin {
this.bodyValues,
});
factory EmailCache.fromJson(Map<String, dynamic> json) {
return EmailCache(
factory ComposerCache.fromJson(Map<String, dynamic> json) {
return ComposerCache(
EmailId(Id(json['id'])),
mailboxIds: (json['mailboxIds'] as Map<String, dynamic>?)?.map((key, value) => EmailMailboxIdsConverter().parseEntry(key, value)),
subject: json['subject'] as String?,
@@ -0,0 +1,26 @@
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/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;
ComposerCacheRepositoryImpl(this.composerCacheDataSource);
@override
ComposerCache? getComposerCacheOnWeb() {
return composerCacheDataSource.getComposerCacheOnWeb();
}
@override
void removeComposerCacheOnWeb() {
return composerCacheDataSource.removeComposerCacheOnWeb();
}
@override
void saveComposerCacheOnWeb(Email email) {
return composerCacheDataSource.saveComposerCacheOnWeb(email);
}
}
@@ -1,26 +0,0 @@
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/email_cache.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/email_cache_datasource.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/email_cache_repository.dart';
class EmailCacheRepositoryImpl extends EmailCacheRepository {
final EmailCacheDataSource emailCacheDataSource;
EmailCacheRepositoryImpl(this.emailCacheDataSource);
@override
EmailCache? getEmailCacheOnWeb() {
return emailCacheDataSource.getEmailCacheOnWeb();
}
@override
void removeEmailCacheOnWeb() {
return emailCacheDataSource.removeEmailCacheOnWeb();
}
@override
void saveEmailCacheOnWeb(Email email) {
return emailCacheDataSource.saveEmailCacheOnWeb(email);
}
}