From c49e48ae1bf57595e8eec000eb2a4cfbdd57d82e Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 3 Feb 2026 18:15:25 +0700 Subject: [PATCH] feat: Add repository/interactor for get label changes --- .../data/datasource/label_datasource.dart | 9 ++++ .../label_datasource_impl.dart | 18 +++++++ .../repository/label_repository_impl.dart | 49 +++++++++++++++++++ .../domain/model/label_changes_result.dart | 26 ++++++++++ .../domain/repository/label_repository.dart | 9 ++++ .../domain/state/get_label_changes_state.dart | 18 +++++++ .../get_label_changes_interactor.dart | 32 ++++++++++++ .../mailbox/data/network/mailbox_api.dart | 3 +- 8 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 lib/features/labels/domain/model/label_changes_result.dart create mode 100644 lib/features/labels/domain/state/get_label_changes_state.dart create mode 100644 lib/features/labels/domain/usecases/get_label_changes_interactor.dart diff --git a/lib/features/labels/data/datasource/label_datasource.dart b/lib/features/labels/data/datasource/label_datasource.dart index 58fc28010..3536817cd 100644 --- a/lib/features/labels/data/datasource/label_datasource.dart +++ b/lib/features/labels/data/datasource/label_datasource.dart @@ -1,6 +1,9 @@ import 'package:jmap_dart_client/jmap/account_id.dart'; +import 'package:jmap_dart_client/jmap/core/session/session.dart'; +import 'package:jmap_dart_client/jmap/core/state.dart'; import 'package:labels/model/label.dart'; import 'package:tmail_ui_user/features/labels/domain/model/edit_label_request.dart'; +import 'package:tmail_ui_user/features/labels/data/model/label_change_response.dart'; abstract class LabelDatasource { Future> getAllLabels(AccountId accountId); @@ -10,4 +13,10 @@ abstract class LabelDatasource { Future