From 0ac2460bdff4de38c6529c2d6d56bc02f1ad6727 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 7 Oct 2021 14:56:45 +0700 Subject: [PATCH] TF-145 Move mailboxResponse to domain layer of Mailbox --- .../mailbox/data/datasource/mailbox_datasource.dart | 2 +- .../datasource_impl/mailbox_cache_datasource_impl.dart | 2 +- .../data/datasource_impl/mailbox_datasource_impl.dart | 2 +- lib/features/mailbox/data/model/state_type.dart | 7 ++++++- lib/features/mailbox/data/model/state_type.g.dart | 5 +++++ lib/features/mailbox/data/network/mailbox_api.dart | 2 +- .../mailbox/data/repository/mailbox_repository_impl.dart | 2 +- .../mailbox/{data => domain}/model/mailbox_response.dart | 0 .../mailbox/domain/repository/mailbox_repository.dart | 2 +- .../domain/usecases/get_all_mailbox_interactor.dart | 2 +- .../domain/usecases/refresh_all_mailbox_interactor.dart | 2 +- .../domain/usecases/get_all_mailbox_interactor_test.dart | 2 +- .../usecases/get_all_mailbox_interactor_test.mocks.dart | 2 +- .../usecases/refresh_all_mailbox_interactor_test.dart | 2 +- .../refresh_all_mailbox_interactor_test.mocks.dart | 2 +- 15 files changed, 23 insertions(+), 13 deletions(-) rename lib/features/mailbox/{data => domain}/model/mailbox_response.dart (100%) diff --git a/lib/features/mailbox/data/datasource/mailbox_datasource.dart b/lib/features/mailbox/data/datasource/mailbox_datasource.dart index 3fb602968..cf0015d17 100644 --- a/lib/features/mailbox/data/datasource/mailbox_datasource.dart +++ b/lib/features/mailbox/data/datasource/mailbox_datasource.dart @@ -3,7 +3,7 @@ import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:jmap_dart_client/jmap/core/state.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_change_response.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; abstract class MailboxDataSource { Future getAllMailbox(AccountId accountId, {Properties? properties}); diff --git a/lib/features/mailbox/data/datasource_impl/mailbox_cache_datasource_impl.dart b/lib/features/mailbox/data/datasource_impl/mailbox_cache_datasource_impl.dart index eac31b4e6..5c4282383 100644 --- a/lib/features/mailbox/data/datasource_impl/mailbox_cache_datasource_impl.dart +++ b/lib/features/mailbox/data/datasource_impl/mailbox_cache_datasource_impl.dart @@ -5,7 +5,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_change_response.dart'; import 'package:tmail_ui_user/features/mailbox/data/local/mailbox_cache_manager.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; class MailboxCacheDataSourceImpl extends MailboxDataSource { diff --git a/lib/features/mailbox/data/datasource_impl/mailbox_datasource_impl.dart b/lib/features/mailbox/data/datasource_impl/mailbox_datasource_impl.dart index 2d4e210a4..77027f7b4 100644 --- a/lib/features/mailbox/data/datasource_impl/mailbox_datasource_impl.dart +++ b/lib/features/mailbox/data/datasource_impl/mailbox_datasource_impl.dart @@ -4,7 +4,7 @@ import 'package:jmap_dart_client/jmap/core/state.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_change_response.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart'; class MailboxDataSourceImpl extends MailboxDataSource { diff --git a/lib/features/mailbox/data/model/state_type.dart b/lib/features/mailbox/data/model/state_type.dart index 49380192a..852a2a9e9 100644 --- a/lib/features/mailbox/data/model/state_type.dart +++ b/lib/features/mailbox/data/model/state_type.dart @@ -8,7 +8,10 @@ part 'state_type.g.dart'; enum StateType { @HiveField(0) - mailbox + mailbox, + + @HiveField(1) + email } extension StateTypeExtension on StateType { @@ -16,6 +19,8 @@ extension StateTypeExtension on StateType { switch(this) { case StateType.mailbox: return 'mailbox'; + case StateType.email: + return 'email'; } } } \ No newline at end of file diff --git a/lib/features/mailbox/data/model/state_type.g.dart b/lib/features/mailbox/data/model/state_type.g.dart index 357af1922..bdc6f0e69 100644 --- a/lib/features/mailbox/data/model/state_type.g.dart +++ b/lib/features/mailbox/data/model/state_type.g.dart @@ -15,6 +15,8 @@ class StateTypeAdapter extends TypeAdapter { switch (reader.readByte()) { case 0: return StateType.mailbox; + case 1: + return StateType.email; default: return StateType.mailbox; } @@ -26,6 +28,9 @@ class StateTypeAdapter extends TypeAdapter { case StateType.mailbox: writer.writeByte(0); break; + case StateType.email: + writer.writeByte(1); + break; } } diff --git a/lib/features/mailbox/data/network/mailbox_api.dart b/lib/features/mailbox/data/network/mailbox_api.dart index 892b274de..5967f30f0 100644 --- a/lib/features/mailbox/data/network/mailbox_api.dart +++ b/lib/features/mailbox/data/network/mailbox_api.dart @@ -13,7 +13,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/get/get_mailbox_method.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/get/get_mailbox_response.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_change_response.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; class MailboxAPI { diff --git a/lib/features/mailbox/data/repository/mailbox_repository_impl.dart b/lib/features/mailbox/data/repository/mailbox_repository_impl.dart index 862e30d67..6b90c4db1 100644 --- a/lib/features/mailbox/data/repository/mailbox_repository_impl.dart +++ b/lib/features/mailbox/data/repository/mailbox_repository_impl.dart @@ -7,7 +7,7 @@ import 'package:model/model.dart'; import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart'; import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart'; import 'package:tmail_ui_user/features/mailbox/data/extensions/state_extension.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/state_type.dart'; import 'package:tmail_ui_user/features/mailbox/domain/repository/mailbox_repository.dart'; diff --git a/lib/features/mailbox/data/model/mailbox_response.dart b/lib/features/mailbox/domain/model/mailbox_response.dart similarity index 100% rename from lib/features/mailbox/data/model/mailbox_response.dart rename to lib/features/mailbox/domain/model/mailbox_response.dart diff --git a/lib/features/mailbox/domain/repository/mailbox_repository.dart b/lib/features/mailbox/domain/repository/mailbox_repository.dart index 896270e02..66d9cdbea 100644 --- a/lib/features/mailbox/domain/repository/mailbox_repository.dart +++ b/lib/features/mailbox/domain/repository/mailbox_repository.dart @@ -1,7 +1,7 @@ import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:jmap_dart_client/jmap/core/state.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; abstract class MailboxRepository { Stream getAllMailbox(AccountId accountId, {Properties? properties}); diff --git a/lib/features/mailbox/domain/usecases/get_all_mailbox_interactor.dart b/lib/features/mailbox/domain/usecases/get_all_mailbox_interactor.dart index 8262a5d68..c41929202 100644 --- a/lib/features/mailbox/domain/usecases/get_all_mailbox_interactor.dart +++ b/lib/features/mailbox/domain/usecases/get_all_mailbox_interactor.dart @@ -3,7 +3,7 @@ import 'package:dartz/dartz.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:model/model.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; import 'package:tmail_ui_user/features/mailbox/domain/extensions/list_mailbox_extension.dart'; import 'package:tmail_ui_user/features/mailbox/domain/repository/mailbox_repository.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart'; diff --git a/lib/features/mailbox/domain/usecases/refresh_all_mailbox_interactor.dart b/lib/features/mailbox/domain/usecases/refresh_all_mailbox_interactor.dart index 4cfa129b0..0423bb0b6 100644 --- a/lib/features/mailbox/domain/usecases/refresh_all_mailbox_interactor.dart +++ b/lib/features/mailbox/domain/usecases/refresh_all_mailbox_interactor.dart @@ -1,7 +1,7 @@ import 'package:core/core.dart'; import 'package:dartz/dartz.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; import 'package:tmail_ui_user/features/mailbox/domain/repository/mailbox_repository.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/extensions/list_mailbox_extension.dart'; diff --git a/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.dart b/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.dart index 65846ce0c..bc0b59e3e 100644 --- a/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.dart +++ b/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.dart @@ -7,7 +7,7 @@ import 'package:jmap_dart_client/jmap/core/state.dart' as jmap; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:model/extensions/mailbox_extension.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; import 'package:tmail_ui_user/features/mailbox/domain/repository/mailbox_repository.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/usecases/get_all_mailbox_interactor.dart'; diff --git a/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.mocks.dart b/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.mocks.dart index acf93b957..880603997 100644 --- a/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.mocks.dart +++ b/test/features/mailbox/domain/usecases/get_all_mailbox_interactor_test.mocks.dart @@ -8,7 +8,7 @@ import 'package:jmap_dart_client/jmap/account_id.dart' as _i5; import 'package:jmap_dart_client/jmap/core/properties/properties.dart' as _i6; import 'package:jmap_dart_client/jmap/core/state.dart' as _i7; import 'package:mockito/mockito.dart' as _i1; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart' +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart' as _i4; import 'package:tmail_ui_user/features/mailbox/domain/repository/mailbox_repository.dart' as _i2; diff --git a/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.dart b/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.dart index 7875acae5..e0df6e18f 100644 --- a/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.dart +++ b/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.dart @@ -7,7 +7,7 @@ import 'package:jmap_dart_client/jmap/core/state.dart' as jmap; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:model/extensions/mailbox_extension.dart'; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart'; +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart'; import 'package:tmail_ui_user/features/mailbox/domain/repository/mailbox_repository.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/usecases/refresh_all_mailbox_interactor.dart'; diff --git a/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.mocks.dart b/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.mocks.dart index e895e3147..09d4b6256 100644 --- a/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.mocks.dart +++ b/test/features/mailbox/domain/usecases/refresh_all_mailbox_interactor_test.mocks.dart @@ -8,7 +8,7 @@ import 'package:jmap_dart_client/jmap/account_id.dart' as _i5; import 'package:jmap_dart_client/jmap/core/properties/properties.dart' as _i6; import 'package:jmap_dart_client/jmap/core/state.dart' as _i7; import 'package:mockito/mockito.dart' as _i1; -import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_response.dart' +import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart' as _i4; import 'package:tmail_ui_user/features/mailbox/domain/repository/mailbox_repository.dart' as _i2;