TF-1363: [Date] Implement Store, Get, Delete spamReportState in Repository and datasource

This commit is contained in:
HuyNguyen
2023-01-16 12:56:37 +07:00
committed by Dat H. Pham
parent a3dae605a4
commit 7a85c15f98
6 changed files with 75 additions and 4 deletions
@@ -3,6 +3,7 @@ import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox_filter_condition.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/spam_report_datasource.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/local/share_preference_spam_report_data_source.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/unread_spam_emails_response.dart';
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
@@ -48,4 +49,31 @@ class SharePreferenceSpamReportDataSourceImpl extends SpamReportDataSource {
) {
throw UnimplementedError();
}
@override
Future<void> deletestoreSpamReportState() {
return Future.sync(() async {
return await _sharePreferenceSpamReportDataSource.deleteLastTimeDismissedSpamReported();
}).catchError((error) {
_exceptionThrower.throwException(error);
});
}
@override
Future<SpamReportState> getSpamReportState() {
return Future.sync(() async {
return await _sharePreferenceSpamReportDataSource.getSpamReportState();
}).catchError((error) {
_exceptionThrower.throwException(error);
});
}
@override
Future<void> storeSpamReportState(SpamReportState spamReportState) {
return Future.sync(() async {
return await _sharePreferenceSpamReportDataSource.storeSpamReportState(spamReportState);
}).catchError((error) {
_exceptionThrower.throwException(error);
});
}
}
@@ -4,6 +4,7 @@ import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox_filter_condition.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/datasource/spam_report_datasource.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/network/spam_report_api.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/unread_spam_emails_response.dart';
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
@@ -45,4 +46,19 @@ class SpamReportDataSourceImpl extends SpamReportDataSource {
throw UnimplementedError();
}
@override
Future<void> deletestoreSpamReportState() {
throw UnimplementedError();
}
@override
Future<SpamReportState> getSpamReportState() {
throw UnimplementedError();
}
@override
Future<void> storeSpamReportState(SpamReportState spamReportState) {
throw UnimplementedError();
}
}