TF-3767 Use TupleKey to save recent search for each account

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-06-11 12:13:28 +07:00
committed by Dat H. Pham
parent 42fbb01847
commit bce9620ac5
13 changed files with 262 additions and 65 deletions
@@ -1,5 +1,9 @@
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/user_name.dart';
import 'package:model/extensions/account_id_extensions.dart';
import 'package:tmail_ui_user/features/caching/utils/cache_utils.dart';
class RecentSearch with EquatableMixin {
final String value;
@@ -11,6 +15,10 @@ class RecentSearch with EquatableMixin {
return RecentSearch(word, DateTime.now());
}
String generateTupleKey(AccountId accountId, UserName userName) {
return TupleKey(value, accountId.asString, userName.value).encodeKey;
}
@override
List<Object?> get props => [value, creationDate];
}